关于ctf:OD之多线程调试

37次阅读

共计 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) 中设置有新线程时暂停

正文完
 0