一.题目
二.解题过程
1.运行附件,flag乱码
2.拖入exeinfope发现无壳32位,拖入ida,进入main函数,f5查看代码
分析可知,如果动态调试则进入判断运行,否则显示flag乱码
3.拖入OllyDBG,f8单步运行来到关键部分,发现弹出第一个窗口前会跳到006610EF,
弹出第二个窗口前会跳到006610CD
4.修改代码,让他不跳过从而弹出两次flag窗口
5.单步运行,第一个窗口空白,第二个窗口得到flag:flag{reversing_is_not_that_hard!}
三.总结
1.了解IsDebuggerPresent函数:https://baike.baidu.com/item/IsDebuggerPresent/3250626?fr=aladdin
2.ollydbg下载:http://soft.onlinedown.net/soft/1151647.htm
了解ollydbg:https://baike.baidu.com/item/OLLYDBG/4039151?fr=aladdin
3.学习汇编指令:https://blog.csdn.net/andrewniu/article/details/80566277