您的位置:首页 > 其它

记我做的一道关于ida+od动静态调试的题

2020-06-01 05:26 1586 查看

这是一道打开程序会出现flag的题,但是一打开出现程序框出现乱码

首先先拖入ida里面进行静态调试。按F5查看伪代码,发现了一个重要的函数,sub401000,有一个if判断意味着如果直接跳过函数直接输出flag,flag就会是乱码。

接着我们查看汇编,看到这个loc_401096,这里有一个int3点,所以接下来我们要进行动态调试,修改程序使得程序能够经过sub401000。

将程序拖进od中,首先我们要先找到int3中断点,这时我们查看周围,发现上面有一个跳转指令会直接无视int3下面函数跳到00DB1089,这个也正是直接跳到弹窗显示乱码,我们要将它的跳转指令无法实现,这是JE指令,当ZF=0时就不会跳转,所以我们要将ZF改为0;此时我们按f7进行下一步。将int3改为nop。


这时我们发现int3下还有一个跳转指令,大意了,一不小心跳进陷阱了,直接跳转到00DB10EF。没关系,我们重新来,这时我们将00DB10A3的指令修改,修改到弹窗的地址。这时我们按f9运行。flag就出来了。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: