反汇编测试
1.通过输入gcc -S -o main.s main.c 将下面c程序”week0303学号.c“编译成汇编代码
2. 参考http://www.cnblogs.com/lxm20145215----/p/5982554.html,使用gdb跟踪汇编代码,在纸上画出f中每一条语句引起的eip(rip),ebp(rbp),esp(rsb),eax(rax)的值和栈的变化情况。提交照片,要有学号信息。
系统中的gcc没有安装multilib 库;使用这个库可以在64位的机器上产生32位的程序。即使用以下代码
sudo apt-get install gcc-multilib sudo apt-get install g++-multilib
之后使用gcc - g example.c -o example -m32指令在64位的机器上产生32位汇编,然后使用gdb week20191205指令进入gdb调试器:
在所需要的例如main处设置断点
可知基序列位0xffffd0e4
下面是%esp、%ebp和堆栈内容的变化
由f引起的eip(rip),ebp(rbp),esp(rsb),eax(rax)的值以及栈的变