본문 바로가기
hacking/pwnable

[Assembly] c언어 코드를 어셈블리어로 변환하여 파일에 저장

by ilp 2025. 3. 2.
반응형

1. 필요한 것

  • GCC(GNU Compiler Collection) 컴파일러가 설치되어 있어야 한다.
  • GCC는 Linux, maxOS, windows 등 대부분의 운영체제에서 사용할 수 있다.

 

2. 명령어

  • GCC 컴파일러를 사용하여 c언어 코드를 어셈블리 코드로 변환하고자 할 때 아래 명령어를 사용한다.
gcc -o [출력파일] [입력파일].c -m32 -S
  1. 'gcc':
    • GNU Compiler Collection의 약자로 여러 프로그래밍 언어의 컴파일을 지원하는 컴파일러 도구 모음 이다.
  2. '-o [출력파일]':
    • 컴파일된 결과물의 파일의 이름을 지정한다. '[출력파일]'부분에 웧나는 파일 이름을 입력한다.
    • 예를 들어 '-o program' 이라고 하면 결과물은 'program' 또는 'program.s'가 이름이다.
  3. '[입력파일].c':
    • 컴파일하고자 하는 c 소스 코드 파일의 이름이다.
    • 예를 들어, 'program.c'라는 파일을 컴파일하려면 이 위치에 'program.c'가 위치한다.
  4. -m32
    • 컴파일러에게 32비트 실행 파일생성하도록 지시한다.
    • 주로 64비트 시스템에서 32비트 프로그램을 실행할 수 있도록 할 때 사용된다.
  5. -S
    1. 컴파일 과정에서 바이너리 실행 파일을 생성하는 대신, 중간 단계인 어셈블리 소스코드(.s 파일)을 생성하라고 GCC에게 지시한다.
    2. C 코드어셈블리어로 어떻게 변환 됬는지를 보여준다.

 

참고

이것 말고도 어셈블리 코드로 바꾸는 방법은 있다 나의 방법을 참고만 하세요.


반응형

'hacking > pwnable' 카테고리의 다른 글

[Dream hack] cpp_string  (0) 2025.03.03
[호출 규약] cdecl  (0) 2025.03.02
[Dream hack] Welcome Hackers👨‍💻  (0) 2025.03.02
[Dream hack] Logical Bug: Type Error  (0) 2025.03.02
[개념 정리] plt와 got  (0) 2024.11.15