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方面的逆向,还有作为一个逆向工程师的思维模式。

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

  1. opencv多线程显示的问题和解决方法

    opencv多线程显示的问题和解决方法 1.问题描述 由于业务需求,需要在多线程中,使用OpenCV读取图片并显示,实现很简单,只需要调用python的threading创建线程,并在线程中显示图片即 ...

  2. uni-app真机调试报错request:fail abort解决方法

    uni-app真机调试报错request:fail abort解决方法 参考文章: (1)uni-app真机调试报错request:fail abort解决方法 (2)https://www.cnbl ...

  3. OD代码滚动变化的原因和解决方法

    在使用OD调试时,有时候上下滚动下鼠标发现同一地址的处的汇编代码居然发生了变化.如图一是正常代码,向上滚动一行发现代码却变成了图二所示的模样. 图一 图二 观察一下发现,0040B3FC处的指令数据时 ...

  4. Chrome Inspect调试微信出现空白页面的解决方法

    首先,需要打开手机的USB调试和微信的TBS 调试开关. 如果不打开TBS开关,Inspect时会检测不到任何微信的H5页面 使用微信扫码下方二维码,打开TBS调试开关: 普通网页: 小程序: 微信扫 ...

  5. java多线程问题_【java 多线程】多线程并发同步问题及解决方法

    一.线程并发同步概念 线程同步其核心就在于一个"同".所谓"同"就是协同.协助.配合,"同步"就是协同步调昨,也就是按照预定的先后顺序进行运 ...

  6. VS.NET2003调试出现的问题及相关解决方法

    .Net2003调试出现的问题及相关解决办法 转载于:https://www.cnblogs.com/hanguoji/archive/2008/10/22/1317004.html

  7. Python | 多线程死锁问题的巧妙解决方法

    死锁 死锁的原理非常简单,用一句话就可以描述完.就是当多线程访问多个锁的时候,不同的锁被不同的线程持有,它们都在等待其他线程释放出锁来,于是便陷入了永久等待.比如A线程持有1号锁,等待2号锁,B线程持 ...

  8. VS调试异常代码 HRESULT:0x80070057 (E_INVALIDARG)解决方法

    我目前在做的一个系统是VS2010写的的B/S架构程序, 主要技术是:C#.SQLSERVER2008.NHibernate,Python,Nhibernate 的*.hbn.xml是映射数据库的表结 ...

  9. 关于 C#使用Console.WriteLine调试没有命令行输出 的解决方法

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/115211788 长期持续带来更多项目与技术分 ...

最新文章

  1. Node webkit启动最大化窗口
  2. 用 C 语言开发一门编程语言 — 字符串与文件加载
  3. git的常用命令总结
  4. Server 2012 RDS ‘there are no Remote Desktop License Servers available to provide a license.’
  5. Java对于SSL的支持以及证书的安装!
  6. 2.3.6 Federate 远程访问数据库
  7. 在 MongoDB 上模拟事务操作来实现支付
  8. 问题 1076: 内部收益率
  9. BayaiM__SQLLDR_linux_shell高级版
  10. Redmi K50系列三款新机全部入网:三款旗舰芯片都很能打
  11. Flutter学习 — 从新页面返回数据给上一个页面
  12. javascript教程现有Web App模式的问题以及挑战
  13. QT自定义控件(电池)
  14. 拼音工具类(多音字处理)
  15. LLVM IR / LLVM指令集入门
  16. Html中版权符号的字体选择问题(如何让版权符号更美观)
  17. 可口可乐市场调查失败的原因_经典案例可口可乐一次市场调研失败的教训
  18. CSV格式文件向安卓小米手机中导入通讯录
  19. Python自动化:批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名
  20. 计算机上64位数和32位数,cad中32位和64位的区别是什么?

热门文章

  1. 网络抓包文件格式(.pcap/.cap)剖析
  2. 哪种灯对眼睛视力保护最好?盘点五款全光谱光照的护眼台灯
  3. riscv-boom 安装资料
  4. node调用谷歌翻译Api,实现自动国际化
  5. linux如何截断日志,linux 如何截取一段时间内log日志
  6. 卡尔曼实时检测跟踪算法(论文总结)
  7. 最齐全的形象墙样机模板素材,速来收藏
  8. sas java_Sas java环境变量配置
  9. 手把手教你实现人脸识别,有手就行
  10. 高可用性、负载均衡的mysql集群解决方案(data+sql+mgm节点)