实践三

  1. 使用objdump –d lhc打开文件,找到main函数

 

 

 

 

 

 

 

可以看到:

Rbp-0x40为首地址被定义为:0x63686c,将ASCII,转换为字符为 c h l

Rbp-0x20为首地址被定义为rax0x353233353313032

如果从低地址往高地址连续的就是32 30 31 33 35 33 32 35

转换为字符表示为:20135325

 

采用直接修改文件来直接执行函数

test之后的两句jne跳向的地址是0x4006ac+0x11 

0x4006ea+0x11

第一个jne指令直接修改为jmp到printf这条指令的位置。

第一条jne的位置是4006aa,此时的eip是4006ac

需要跳转到4006fb,那么就是要增加0x4f个位置,那么就是将

 74 11 改为 eb 4f

先打开文件,然后输入:%!xxd

 

输入/7411搜索到位置对比objdump查看到的机器指令和这里的机器指令前后相同,则就是要找的位置。修改为eb4f,修改后输入:%!xxd -r并保存,再重新执行程序,结果如下,破解成功。

 

posted on 2016-05-31 14:15  20135325  阅读(123)  评论(0编辑  收藏  举报

导航