实验环境:ubuntu 16.04 64位。
实验工具:ida.
实验程序:强网杯(全国)2018 raisepig
发现问题:在main函数中的功能函数都无法使用IDA的F5功能。
image.png image.png 查看他们的汇编代码,发现有多余的指令。如下图是sub_C8F()函数的一个跳转指令。 image.png
首先,最显眼的是 add rsp,4 。为什么要调整栈空间呢?
然后再分析一下转跳指令。
发现,这是一定会进行转跳的,所以这一部分地址是多余的。将他们nop掉。
nop掉这两个指令:
jz short loc_CAF
add rsp, 4
然后按F5
image.png
反编译成功。
其他的函数也是这样
image.png
下图是ida改指令功能的位置。如果要保存修改后的bin文件,需要点击Apply parches to input fie,进行保存。
image.png
网友评论