反汇编一个简单的C程序

2020-05-13  本文已影响0人  辘轳鹿鹿

mkdir helloworld //创建文件夹命令
cd helloworld //进入新建的文件夹
vi main.c //打开vim并创建main.c文件

  //按 i 键进入编辑状态,以下是程序
int g(int x)
{
return x + 8;
}
int f(int x)
{
return g(x);
}
int main(void)
{
return f(12) + 2;
}

ESC :wq//保存并退出
gcc main.c//编译成可执行文件a.out
gcc -S -o main.s main.c -m32//将main.c反编译成32位的main.s汇编程序

所有以点开头的,都是链接时候的辅助信息。删除所有以点开头的内容,留下来的就是纯汇编代码。

enter//在栈上堆砌一个新栈
pushl %ebp
movl %esp,%ebp

leave//撤销这个栈
movl %ebp,%esp
popl %ebp

上一篇 下一篇

猜你喜欢

热点阅读