OD 调试多线程遇到的问题以及解决方法

1、无法单步调试

在调试多线程程序的时候,如果遇到断点能断下来,但是一按F7/F8程序就运行起来了,这种情况多半是线程被挂起了

首先是去看看线程窗口,是不是有线程被挂起来,如果有,右键-->Resume all thread,然后就可以继续单步调试了

 

2、程序运行到一半,OD就已经退出,进程终止

这种情况一般是程序有一些反调试手段,我当时的情况是有两个线程,总是在第一个线程结束的时候OD就终止了,但是我需要分析的数据都在第二个线程里面,所以当时纠结了好久,试过下各种断点,包括断在创建线程、_exitthread之类的地方,但是还是无济于事。再说明一下,我当时是在64位机上面调试,我调试的程序进程B是由另一个程序进程A启动的,在OD中是用附加了B进程。

解决办法就是:原版OD+StrongOD+SharpOD 64,因为StrongOD很多功能可能在64位机器上面无法正常执行其功能,需要用到SharpOD来执行主要的反调试功能。

用上面的配置把程序加载之后,就不会出现运行到一半OD就终止了,能够运行到程序结束。

StrongOD配置:

SharpOD配置:

 

搜索关注公众号[逆向小生],不定期更新逆向工程师需要掌握的技能,包括Windows和Android方面的逆向,还有作为一个逆向工程师的思维模式。

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值