非常实用的一些调试工具,本人经常用。
调试工具(Debuggers)
调试相关工具
原文:
http://www.pediy.com/tools/Debuggers.htm
OllyDbg调试器
| |
说明:由于OllyDBG 1.1(http://www.ollydbg.de)官方不再更新,故一些爱好者对OllyDBG修改,以新增一些功能或修正一些bug,OllyICE就是其中的一个修改版,取名OllyICE只是便于区分,其实质还是OllyDBG。 一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了。强烈推荐! OllyICE v1.10 修改版 [2008.1.1] ================================================================================ 2008.1.1 1.LOCKLOSE添加了部分API和结构体信息: 1)添加了一些API的识别; 2)添加到290个结构体&枚举类型; 3)添加到2504个API函数结构; 4)包含了部分VB常见函数,部分VC函数,包含部分MSVCRT.DLL函数; 2.修正部分bug OllyICE.exe 是在cao_cong汉化第二版基础上修改的。 OLLYDBG.EXE 英文修改版,修改的地方与OllyICE.exe一样 注:OllyICE.exe(cao_cong汉化版)配制文件Ollydbg.ini完全英文化,因此中英文版本的OllyDBG可以很好地共用一个配置文件。 OllyICE这个名称来自forgot的OLLYDBG修改本。 OllyICE.EXE与OLLYDBG.EXE同时做了如下修改: 1.窗口、类名等常见修改; 2.格式化字符串的漏洞[OutPutDebugString]补丁; 3.参考dyk158的ODbyDYK v1.10 ,自动配置UDD、PLUGIN为绝对路径; 4.参考nbw的"OD复制BUG分析和修正"一文,修正从内存区复制数据时,有时无法将所有的数据都复制到剪贴板的bug。 5.参考ohuangkeo"不被OD分析原因之一和修补方法",稍改进了OD识别PE格式能力(可能仍报是非PE文件,但己可调试了)。 6.修正OllyScript.dll插件bpwm命令内存读写都中断的问题。 7.jingulong的Loaddll.exe,可以方便让OllDbg中断在dll的入口。 8.感谢DarkBul告知SHIFT+F2条件窗口显示的bug及修复。 9.感谢dreaman修复Findlabel,Findname,Findnextname三个函数处理字符串会溢出的bug。 10.改善sprintf函数显示某些浮点数会崩溃的bug,这里的修复代码直接引用heXer的代码。 11.该修改版,配合HideOD插件,可以很好地隐藏OD。 12.新增实用的快捷键功能 13.修正Themida v1.9.x.x检测OllyICE的Anti,配合HideToolz即可调试Themida v1.9.x.x加壳程序。 14.LOCKLOSE添加了部分API和结构体信息。 | |
Olldbg的各种插件,非常重要,可以扩展OllyDbg的功能 | |
将一些网站收集的OllyScrip脚本转到此处,方便大家查询。 | |
OSCEditor(OllyScript Editor)是专门为OllyDbg的插件ollyscript而写的脚本编辑器。 本程序利用动态显示相关命令,即时显示相关命令的语法和可供选择的格式化文本等方式,方便我们快速写出脚本。 作者:loveboom | |
SoftICE调试器
| |
Ring 0级调试器. 1、通过因特网进行远程调试 2、提供单机的、源程序级的调试能力 3、支持Windows NT、Windows 95、 Windows 98和Windows 2000,给那些正在为任何视窗平台编制设备驱动程序和系统部件的公司提供强大可靠的调试手段 4、是一种功能强大的调试软件。为了让你最大限度的认识到你的程序的运行情况,![]() | |
WinNT/2K/XP,IceExt是SoftICE NT的一个插件,支持最新的DriverStudio 3.2. 由于Nitecdump最高只支持DS 2.7,因此再高版本的softice就可用此工具代替Nicedump了。它扩展了SoftICE在Win NT/2K/XP下的命令功能,新增DUMP命令、bpr命令、suspend命令等。 http://stenri.pisem.net/ http://sourceforge.net/project/showfiles.php?group_id=149807&package_id=165469&release_id=416109 | |
Nmtranspath解决了DriverStudio所有版本的Symbol Loader不能中断程序入口点的问题 | |
配合SOFTICE使用,可抓取内存的数据,在脱壳时很管用,并且可增强SoftICE跟踪能力,基本可不用Frogsice打补丁。注意:最高只支持到DS2.7,所以更高版本的Softice请用IceExt来代替。 | |
TRW2000(only for Win 9x/Me)
| |
Windows9x与Windows Me下的跟踪调试程序,跟踪功能更强,命令格式兼容SoftICE。 | |
仅工作在Win9x/Me系统。 如你跟踪过ASProtect 1.1以上的壳,就会发现常用的断点完全失效,用该工具可恢复断点功能,可配合SoftICE与TRW2000跟踪软件。 | |
RORDbg
| |
这是一个用虚拟机技术实现的简易Debugger,主要用于外壳分析和脱壳,目前只能跑exe文件的主线程,可以跑DLL的入口程序。 这个工具仅仅可以作为分析外壳辅助手段,因为是虚拟执行每条指令,所以,速度很慢。 作者:Kernel64 最新版本:http://bbs.pediy.com/showthread.php?s=&threadid=26629 | |
Visual Basic程序调试器
| |
是针对 Visual Basic的主要的自动错误检测和调试工具。它能够自动检测和诊断 VB运行时的错误,并将一些表达不清楚的错误信息转换为确切的错误描述。它的 EventDebugging 特性为 Visual Basic开发小组和独立的开发人员解决最棘手的问题提供了简便的方法。枪可以保护人,当然也可以杀人,他同时是一个vb软件的杀手!破解利器! 由于版权,本站不提供其下载,如是用于学习研究之需要,请用http://www.google.com搜索之。 | |
WKTVBDebugger 1.4e
| 动态破解VB P-code程序的工具 |
其它平台调试器
| |
Linice 2.6 | LiUnix平台下的调试器 http://www.linice.com |
XIDT 2.0 + 源码 | 备份及恢复IDT的小工具,支持win2k/xp/2003。 主界面上有四个按钮: show : 查看当前idt. save : 存档:保存当前的idt到文件。 load : 读档:从文件中读出idt. write: 将idt写入到系统中! 原文:http://bbs.pediy.com/showthread.php?s=&postid=76530#post76530 | goldenegg |
查看句柄,主要作用:在SICE里用bmsg hwnd xxxx时比较方便了 | dRag0nMa | |
不少壳代码使用rdtsc来检测运行时间,如果在OD里调试,时间必定要延长,这样壳利用两次rdtsc时间差就可发现被调试器。如果CR4的TSD(time stamp disabled)置位,则rdtsc在ring3下运行会导致异常(特权指令),所以进入ring0,把这个标记置上,然后Hook OD的WaitForDebugEvent,拦截异常事件,当异常代码为特权指令时,把异常处的opcode读出检查,如果是rdtsc,把eip加2,SetThreadContext...(softworm解释) 。这个工具就是根据这一原理。 RDTSC 指令具体解释: http://bbs.pediy.com/showthread.php?s=&threadid=11562 | ||
在Windows 9x下的万能断点是Hmemcpy断点,在XP系统下,也有一个类似万能断点,这个断点(暂称point-h)在每台机器里都是唯一的,在USER32.DLL.可以找到。一旦找到就可以用于C++, VB, Delphi, ASM,或者其他编程语言,只要简单的下一个断点在这个地址上即可。 详见:http://bbs.pediy.com/showthread.php?s=&threadid=9330 | ||
主要解决VC用于破解中的以下不足。 1) 打开VC 2) 安装插件 Tools -> Customize -> Add-ins and micro files->Browse->找到这个DLL文件的位置->确定->打勾 3) 界面上出来一个新的TOOLBAR, 共4个BUTTON 4) 用VC(File->Open)打开一个EXE文件,F10/F5运行。然后就可以跟踪调试了。 5) 插件第1个BUTTON设定API断点。 6) 插件第2,3个BUTTON用于内存搜索。 | sailwei |