w32dasm是一款非常受程序开发人员青睐的反汇编工具,对他们编写程序代码非常有帮助,是辅助编程开发过程中非常重要的代码编译工具。支持反汇编、编辑代码、创建工程、调试代码、查找、跳转、执行文本、函数调用、调用命令行、十六进制数据等功能,并提供了自定义语法高亮显示色彩功能,某些关键字还可以用突出颜色显示,用户能够方便快捷的找到语法上的漏洞,更好的编写程序代码,查漏补缺,不至于到了最后整个程序都完成了,发现这里是问题,那里又有问题,全部都要返工,功亏一篑。小编为广大程序员们带来了w32dasm v10.0中文版下载,它是在本工具8.93基础上修改的升级版,能好显示中文字符串及VB程序,需要或者感兴趣的用户快来免费下载试试吧。
破解教程
1、侦壳:先打开侦壳 language.exe,选择打开----找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。language.exe便显示出软件的壳是:Aspack,如图2。
2、脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择网络填表终结者:FormGhost.exe,打开。如图3。出现图4框,点确定脱壳完成。在网络填表终结者:FormGhost.exe同目录下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。
3,运行脱壳后的unpacked.exe,点帮助----注册,图9。注册名称,注册码随便添。图10。点注册,提示:“注册码错误”图11,好了记住这5个字。关了它。
4,开始反汇编:打开 反编译,选择反汇编----打开脱壳后的unpacked.exe,变开始加载。如图5。图6。
返汇编之后如图7。点击上面的参考----串式参考如图8
出现这个对话框图12。找到 “注册码错误”,双击它,汇编主程序便来到这里:图13。
注意:正确注册信息在错误信息之上,关闭串式参考框。看主程序:图14。从注册码错误向上找到第一个跳转(关键跳,除了jmp的其它跳je,jne,jz,jnz),来到这里图15。
(它上面的call叫关键call。),双击关键跳,看软件最下面有一行字:Line:379267 Pg 7586 of 7626
CODe Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.其中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制,不用管他),图16。
5、开始修改软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,来到图19
前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe
6、关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了,图22
7、破解全部完成
使用教程
1、首先用工具打开一个dll文件,如下图所示,小编随便在windows目录下找了一个。
2、先找到要修改的代码在文件中的偏移,记下此地址。
3、启动HIEW,进入程序界面如下图所示!win10下有部分乱码,不影响。
4、点击up可以进入上一层目录,选择你要修改的文件,双击打开。
5、按下F4选择“DECODE“模式。
6、按下F5跳到刚刚记下的地址:6620E870。
7、按下F3键后,烫后TAB键,可以直接修改呢。
8、可以任意修改!!甚至修改成baidujingyan test吧!当然一般我们修改的是跳转指令JZ--JNZ等。
功能特色
1、自定义语法高亮显示的色彩,某些关键字可以用突出颜色显示,Good。
2、可以手工增加注释,类似IDA,注释可以复制、保存。更加方便分析和写破解文章。
3、增强的搜索、查找功能。
4、命令行功能。
5、增加最新使用文件列表功能。
6、相当实用的快速编辑功能,可以取代HEX编辑器了。
7、增加汇编代码修补(Permenant Patcher)功能。
8、打开当前反汇编文件写操作。
9、本版修正两个窗口不能正常显示的BUG。
10、在反汇编窗口显示显示中文的功能。
11、在串式数据参考中提取中文字符串的功能。
12、支持VB/DELPHI字符串的提取,可以自定义VB_patch的打开和关闭。
使用说明
W32Dasm是一个强大的反汇编工具,操作简单,使用方便。通常被程序员使用,当然也可被用来Crack软件了,很适合Cracker使用。
我在这把与crack相关的功能简述如下:
1.0 开始
2.0 保存反汇编文本文件和创建方案文件
3.0 反汇编文本代码的基本操作
4.0 复制汇编代码文本
5.0 装载32位的汇编代码动态调试
6.0 运行,暂停或终止程序
7.0 单步跟踪程序
8.0 设置激活断点
9.0 偏移地址和虚拟地址转换
1.0 开始
1.1 运行它,在这里以windows95自带的计算器为例:calc.exe。
1.2 从Disassembler(反汇编)菜单选择Disassembler Options(反汇编程序选项)选项将出现如下对话框。
1.3 在Disassembler(反汇编)菜单,选择Open File(打开文件)选项或按工具栏按钮。
1.4 选择你要打开的文件就可。
注意:你反汇编文件后,如字符己超过屏幕外,这时你要选择合适的字体(在Font字体选项中Select Font选择字体) ,然后设为默认字体(Save Default Font)即可。 当然一般以默认值就可。
2.0 保存反汇编文本文件和创建方案文件(Save The Disassembly Text and Create A Project File )
3.0 反汇编源代码的基本操作
3.1 转到代码开始(Goto Code Start)
在工具栏按或从菜单的转到(Goto)选项选择转到代码开始(Goto Code Start) 或按Ctrl S, 这样光标将来到代码的开始处,用户可通过双击鼠标或用shift+上下光标键改变光标的位置。
注:代码的开始处是反汇编代码列表清单汇编指令的开始,而不是代码运行的起点,程序运行的起点称为程序入口点(Program Entry Point)。
3.2 转到程序入口点(Goto Program Entry Point)
在工具栏按或菜单的转到(Goto)选项选择 转到程序入口点(Goto Program Entry Point)或按F10,这样光标将来到程序入口点(Entry Point),这里就是程序执行的起始点,一般动态调试时LOAD时也就停在此处。
3.3 转到页(Goto Page)
在工具栏按或菜单的转到(Goto)选项选择转到页(Goto Page)或按F11,这时跳出一对话框,输入页数可跳转到相关页面去。
3.4 转到代码位置(Goto Code Location)
在工具栏按或菜单的转到(Goto)选项选择转到代码位置(Goto Code Location)或按F12,一个对话框将出现,充许用户输入代码偏移地址,以跳转到此位置上去。
3.5 执行文本跳转(Execute Text Jump)
这功能是在Execute Text(执行文本)菜单选项里的,执行跳跃(Execute Jump)功能激活条件是光标在代码的跳转指令这行上(这时光条是高亮度的绿颜色)。此时工具条Jump To按钮也激活。
此时按或菜单选项Execute Jump(执行跳跃)或按右光标键,光条将来到跳转指令所指到的位置。在这例子里,将来到:004076CE
xor eax,eax 这一行代码处:如要返回到上一次跳跃,请参考3.6.
3.6 返回到上一次跳跃Return From Last Jump
这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在 执行文本跳转功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回到上一次跳跃(Return From Last Jump)或按左光标键,光条将返回到上一次跳跃位置处。
3.7 执行呼叫Execute Text Call
这功能是在Execute Text(执行文本)菜单选项里的,此功能激活的条件是光条在CALL指令一行。在这一行时光条将发绿,按钮将激活。执行时光条将会来到CALL所指的地址处。如下图: 光条在0040751D call 004073D4 一行。
此时按或在菜单的执行呼叫(Execute Text Call)或按右光标键,光条将来到CALL所指的地址004073D4这一行。
如要返回到刚才起点的0040751D call 004073D4 一行,参考3.8的返回呼叫。
3.8 返回呼叫(Return From Last Call)
这功能是在Execute Text(执行文本)菜单选项里的,此指令仅仅是在执行呼叫Execute Text Call功能完成后才激活。当这条件成立时,按钮将激活。按或在菜单里选项返回呼叫(Return From Last Call)或按左光标键,光条将返回到上一次呼叫位置处。
3.9 导入功能(Imported)
在菜单功能选项里,其作用主要是查看import函数。按或在菜单功能选项里的导入(Imports)命令,执行后将列出当前文件的Import函数。
如要返回到刚才起点的0040751D call 004073D4 一行,参考3.8的返回呼叫。
操作说明
5.0 装载32位的汇编代码动态调试
5.1 反汇编windows自带的计算器程序 calc.exe.
5.2 选择菜单调试选项中的加载处理(Load Process),或按Ctrl+L.出现一个加载对话框,你可输入选项命令。现在你可按装载(load)按钮。
Calc.exe现在被W32DASM动态调试,将出现左右两个调试窗口(如下图),在初始化calc.exe程序后,指令将停留在入口点(Entry Point)处。
左边的调试窗口列出各种状态器如:CPU寄存器,CPU控制寄存器,断点,活动的DLL,段寄存器等等;
6.0 运行,暂停或终止程序
6.1 在右调试窗口,按运行(RUN)按钮或按F9,calc.exe将运行起来。
按暂停(PAUSE)按钮或空格键,程序将暂停,这在单步跟踪时经常用到。
按终止(TERMINAT)按钮,程序将停止,退出动态调试环境。
7.0单步跟踪程序
7.1 重新加载 calc.exe
7.2 在程序加载后,停留在入口点,你可按F7或F8单步调试程序,这两个键所不同的是F7是跟进CALL里,F8是路过。
7.3 进入自动调试按 (F5) 和结束自动调试按 (F6) 。
8.0设置激活断点
8.1 重新加载 calc.exe
8.2 在工具的菜单转到选项转到代码处(goto code)功能,填上403198,按确定,你将在工具的主窗口(此时可能最小化了,把其还原即可)来到403198地址一行。光条在这一行显亮绿色,按F2或用鼠标左点击最左边(同时按住CTRL)设置断点。
这时如断点设置成功,光条最左边有一小段黄条,显示此行为断点。如下图:
如果断点不在这里,整行光条将是黄色的。
当断点设置好后,在左调试窗口中的断点小窗口显示断点情况(右边有一):
此时按F2或(鼠标左键+CTRL),断点将取消。
8.3 此时按F9程序将运行到相关断点时停止。
9.0 偏移地址和虚拟地址转换
工具本身、SOFTICE和Hiew(Decode模式)显示的地址都是虚拟地址,但是在Hiew(Decode模式)下,F5功能键查找的地址是偏移地址,因此必须将虚拟地址转换成偏移地址,才能找到正确的地址。常用的方法是在工具下将绿色的光条移到某一行代码上 , 在窗口底部有一行字指示其偏移地址 , 如虚似地址:Code DaTa@0040534e而偏移地址为:@Offset 0000474Eh. 这就是偏移地址。
常见问题
一、汉字都乱码该如何解决?
原因就是因为那些字符串都被加密了,所以显示乱码。
解决方法
1、用工具反汇编一个软件(如:notepad.exe),然后怎么呢?当然是按下Ctrl +D热键来祭出终极法宝SoftICE,设置断点:bpx gdi32!textout。
2、按F5键后随便在工具中移动一下光标,SoftICE便拦截下来,按下F12键就回到了下面45E77E处。把附近的代码稍稍细看一下就会发现,作者对于要显示的字串是逐字符显示的,这样做的目的可能是有时为了以红色显示字串的某一部分。
3、如从串资源引用窗口双击某一串时,光标将移到那个串上并以红色显示那个串,其实在大多数情况下完全用不着这样,只要一口气将串显示出来中文串就能正确显示了,这样显示速度还更快。
点击星星用来评分