调试工具(Debuggers

OllyDbg调试器
说明:由于OllyDBG 1.1(http://www.ollydbg.de)官方不再更新,故一些爱好者对OllyDBG修改,以新增一些功能或修正一些bug,OllyICE就是其中的一个修改版,取名OllyICE只是便于区分,其实质还是OllyDBG。

一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器,非常容易上手,己代替SoftICE成为当今最为流行的调试解密工具了。强烈推荐!

OllyICE v1.10 修改版 [2007.2.16]
================================================================================ 
[2007.2.16]
1.将OllyDBG类标识改掉了,一些软件会通过这个检测OD(下面是OllyDBG主程序,1212121就是类名)。
000B6000 6E69 0049 434F 5F41 4141 4D41 494E 004D ni.ICO_AAAMAIN.M
000B6010 4149 4E4D 454E 5500 3132 3132 3132 3100 AINMENU.1212121.
2.优化了快捷键功能相关代码,去除了一个小bug。
================================================================================ 
[2006.11.30]
cao_cong修正了汉化版线程显示的错误
(详见http://bbs.pediy.com/showthread.php?s=&threadid=35679)

================================================================================ 
[2006.11.16]
1.感谢dreaman修复Findlabel,Findname,Findnextname三个函数处理字符串会溢出的bug。
(详见:http://bbs.pediy.com/showthread.php?s=&threadid=33102)
2.改善sprintf函数显示某些浮点数会崩溃的bug(Themida 1.8.2.0以上版本利用此bug Anti-OD),这里的修复代码直接引用heXer的代码。
(详见:http://bbs.pediy.com/showthread.php?s=&threadid=33621)

================================================================================
[2006.10.15]

1.感谢DarkBul告知SHIFT+F2条件窗口显示的bug及修复。
当在OD反汇编窗口按SHIFT+F2(或选择右键菜单->断点->条件)改变原条件断点时,设置条件断点的对话框会将原来的条件前加上0x14个字节。
2.HideOD插件修正一个小bug。

================================================================================
[2006.6.21]

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.该修改版,配合HideOD插件,可以很好地隐藏OD。
9.新增实用的快捷键功能。

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搜索之。
动态破解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

汇编工具

IDA Pro是DataRescue开发的专业反汇编工具, IDA Pro是一款专业的反汇编工具,己成为了很多Cracker,Hacker, Reverse engineerer的必备工具.    
C32Asm是集反汇编、16进制工具 、Hiew修改功能与一体    
W32DASM 静态分析中文软件的利器!优点是速度快。    
花指令是对付静态分析的一个重要手段,该工具可以去除花指令(注:效果还是不太理想)    

反编译(Decompilers

VFP程序
优点:界面和功能较实用
缺点:支持到vfp6 sp3后再没更新,反编译还有不少错误,尤其是SQL语句方面,表单代码没法反编译。
 
FoxTools 是继 Refox 和 Unfoxsll 之后的又一反编译 fox 程序的利器。
http://bbs.pediy.com/showthread.php?s=&threadid=9114
dm
VFP&EXE2.0专业版/3.0企业版还原精灵(公开发行版),本公开版能还原VFP&EXE2.0专业版/3.0企业版加密后的程序 . Aming
Foxspy1.73 + v1.93源码 支持VFP6R.DLL(SP0)/VFP7R.DLL(SP0)/VFP8R.DLL(SP0),也就是说可以对付VFP6/7/8各版本的程序了

http://bbs.pediy.com/showthread.php?s=&threadid=14361

ljtt
Delphi程序
原版。反Delphi、 C++ bulid。(DeDe3.2004源码下载  
DEDE 3.50.4的修改版(超强版:P) by DarkNess0ut
01.修改了Title和ClassName "DeDe"->"DarK",绝大部分的Anti检测都没有用了
02.DIY原DEDE,使得可以反汇编得到非标准程序的Forms格式和Procedures的事件
03.直接反汇编功能的选项
04.增加对特殊处理过的PACKAGEINFO的Uint List的显示
05.修改原有的"Open With DEDE"的注册键错误&BUG,可以使用右键运行DEDE反汇编Delphi/BCB
06.去处NAG显示
07.修复原有Dump Active Process的BUG
08.Enable Dump按钮
09.修复拖放处理程序时,确认对话框的BUG!
10.修复Forms下将DFM保存为RES文件的BUG!
11.Enable Procedures下右键的Analize Class功能
12.修复Forms下DFM的"Open With NotePad"功能
13.heXer提供修复反汇编引擎的代码,主要是解决了反汇编的错误
 
e语言
E-Code Explorer 0.86版 世界上第一款易格式可执行文件分析器E-Code Explorer.
官方站点:http://monkeycz.pediy.com/
monkeycz
VB pcode编译程序
这是PCODE方式编译的VB程序的一个静态的解析工具,类似exdec。 exdec在它的解析引擎中"屏蔽"掉了对一些控件的解析,而VBParser没有。作者:ljtt  
能得当 Visual Basic 6 pcode编译程序的部分菜单信息  
PCODE方式编译的VB程序的一个静态的解析工具。  
能反编译 Visual Basic 6.0的pcode文件

http://www.vb-decompiler.org

 
VBExplorer 前身为VBEditor,可以解析VB自身所有控件的属性,并进行编辑(包括字体的修改,背景颜色的修改,图片的保存和替换等)和导出(包括工程文件和图片文件);可以对P-Code编译的程序进行代码解析,此功能正在不断完善.  
Java程序
Java Class的反编译软件,内置破解补丁  
Java Class的反编译软件,可以把二进制的class文件全部反编译成源代码。  
PowerBuilder程序
一款PB的反编译器,正式版可反编译出PB6,7,8,9编译后的程序中的所有对象
和源码
 
DePB是一个针对PowerBuilder语言编写的程序进行反编译的工具,目前v1.0版还只是一个未完成的作品.  
.swf文件
SWF Decompiler MX 2004 v1.8.40430 反编译SWF文件。  
Flash Decompiler 2.5.9.325 从FLASH文件swf中提取所有资源的工具软件。包括:声音、图像、视频、图形、帧画面、文本、字体、按键、图标及动作脚本  
安装程序
支持 InstallShield v3.0, v5.X, v5.5 & v6.X cab 压缩包的压缩解压图形界面工具!  
sid 1.0这款工具可以反编译installshield 6/7脚本文件 *.inx,但新版的installshield脚本格式有变化,sid原版不支持。这个修改版有如下改进:
1.感谢ikki的DIY,使得sid可以支持新版的installshield 6/7脚本文件。
2.感谢ijia对中文处理的改进,使得sid字符串参考可以显示中文。http://bbs.pediy.com/showthread.php?s=&threadid=22795
 
反编译installshield 脚本setup.ins。  
该工具有良好的界面,反编译setup.ins,并可强行修改跳转指令。
原版本加了Shrinker 3.2 壳,在XP下运行不起来,目前这个己脱壳。
 
InstallShield 6.x的脚本编译后是setup.inx而不是setup.ins。日本人写的这个工具可以反编译*.inx,而且还可以输出调试符号信息,这样可以用InstallShield对脚本进行调试。  
AutoIt程序
AutoIt允许您使用宏来自动执行一些操作,可以将宏编译成 EXE 来运行。 
CodeRevord目前只能反编译AutoIt 3.x的EXE。
作者:Aming 
 
另一款反编译AutoIt 3.x的工具