반응형
1. 필요한 것
- GCC(GNU Compiler Collection) 컴파일러가 설치되어 있어야 한다.
- GCC는 Linux, maxOS, windows 등 대부분의 운영체제에서 사용할 수 있다.
2. 명령어
- GCC 컴파일러를 사용하여 c언어 코드를 어셈블리 코드로 변환하고자 할 때 아래 명령어를 사용한다.
gcc -o [출력파일] [입력파일].c -m32 -S
- 'gcc':
- GNU Compiler Collection의 약자로 여러 프로그래밍 언어의 컴파일을 지원하는 컴파일러 도구 모음 이다.
- '-o [출력파일]':
- 컴파일된 결과물의 파일의 이름을 지정한다. '[출력파일]'부분에 웧나는 파일 이름을 입력한다.
- 예를 들어 '-o program' 이라고 하면 결과물은 'program' 또는 'program.s'가 이름이다.
- '[입력파일].c':
- 컴파일하고자 하는 c 소스 코드 파일의 이름이다.
- 예를 들어, 'program.c'라는 파일을 컴파일하려면 이 위치에 'program.c'가 위치한다.
- -m32
- 컴파일러에게 32비트 실행 파일을 생성하도록 지시한다.
- 주로 64비트 시스템에서 32비트 프로그램을 실행할 수 있도록 할 때 사용된다.
- -S
- 컴파일 과정에서 바이너리 실행 파일을 생성하는 대신, 중간 단계인 어셈블리 소스코드(.s 파일)을 생성하라고 GCC에게 지시한다.
- 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 |