记我做的一道关于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就出来了。
相关文章推荐
- 关于MDK调试stm32f072vbt6(HAL库)内部flash在擦除仿真时,卡死在擦除函数,同时弹出“Cannot access target.shutting down debug sessi
- 一道关于删除数据表中重复数据的笔试题
- 关于Release 断点单步调试。
- Linux调试---关于内存泄露与进程占用cpu
- 一道关于字符查找的笔试题
- 关于win7 x64 连接oracle 客户端 VS2010调试 提示“ORA-12154: TNS: 无法解析指定的连接标识符 ” 原创 2013年04月13日 12:50:56 标签:Oracle
- Python 开发工具集:关于文档、测试、调试、程序的优化和分析
- 关于调试技巧的PPT
- 关于TJOI2014的一道题——Alice and Bob
- 关于javascript的调试
- 一道关于孩子分糖的问题!!循环链表实现
- 关于vc下的多线程调试
- 关于一道枚举笔试题(枚举的初始值赋值)
- 关于真机调试的问题
- 关于一道sql的面试题 (非常精典) (转)
- 一道关于fork的笔试题
- 关于安卓调试桥adb.exe被金山wps软件导致冲突问题。
- 关于服务器端编程的程序调试心得
- 关于wcf服务编译平台是x86, 运行平台是x64时,如何调试
- 关于测试和调试