简介
我会介绍下在Windows环境下使用gcc生成的汇编代码,gcc环境请自行安装好,汇编有好几种格式最常用的也就是 x86-64 Intel格式 和 x86-64 AT&T 语法格式,以下我都会演示,你一定想问为什么要生成汇编,在我看来的确很有用它会让你明白代码在底层是如何进行运作的,在逆向中能懂汇编代码会有很大的帮助。
C源代码
#include <stdio.h>
#include <Windows.h>
int main(){
puts("Hello");
system("pause");
return 0;
}生成obj文件

gcc -c .\test.cIntel 语法格式

objdump -M intel -d .\test.o
objdump -M intel -d -S .\test.o1.用objdump工具对.o文件进行生成Intel语法格式汇编代码。
AT&T 语法格式

objdump -d .\test.o2.用objdump工具对.o文件进行生成AT&T语法格式汇编代码。

gcc -c .\test.c && objdump -S .\test.o 1.gcc中的 -c参数只激活预处理 编译和汇编生成.o 的obj文件,这里我用了&&符号这是cmd里的并执行的意思,它会先执行 gcc 然后再执行 objdump 让它生成汇编代码。

gcc -c .\test.c && objdump -S .\test.o > 1.txt2.然后将内容指定输出到1.txt文本文档里,桌面就会生成1.txt文本文档打开就可以看到AT&T语法格式的汇编代码了。
评论 (0)