共计 408 个字符,预计需要花费 2 分钟才能阅读完成。
0x01 引言
明天做一道逆向的题时,应用 od 关上 exe 文件后,按 F8 始终单步执行到最初完结了也没输入任何货色
然而失常执行 exe 文件是这个样子的
推敲了良久 …. 而后留神到这是一个多线程程序。因为 od 同时只能跑一个线程,一个线程在调试的时候,其它线程是暂停的。所以我始终 f8 的时候子线程基本没有运行就跑完了 …
0x02 思路
咱们的指标是输出正确的 flag,所以只有把断点下在判断 flag 是否正确的汇编代码行就 ok 了。
0x03 步骤
1:将文件拖入 od,咱们发现曾经有两个线程,一个主线程,一个子线程
2:点击调试 -> 运行线程(F11)直到呈现输出 flag 的字样
3、关上 ida,查看判断 flag 处的汇编代码,并记下要害汇编代码行,在 od 中进行搜寻(ctrl+f)并下断(F2)
4、下好断点后轻易输出 flag 并运行(F9)到断点处后,单步执行(F8), 即可看到实在 flag
0x04 tips
点击设置 -> 设置 (O) 中设置有新线程时暂停
正文完