反汇编测试

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)的值以及栈的变

 

 

posted @ 2021-11-03 20:17  zzy188  阅读(38)  评论(0编辑  收藏  举报