|
3.11 裁判(References)
在这个菜单选项里有菜单参考(MENU), 对话参考(DIALOG) or (串式数据参考STRING DATA),分别对应按钮: , 或 。
注意:其中(串式数据参考STRING DATA)功能破解时很常用。
4.0 复制汇编代码文本
W32dasm充许打印或复制指定行的汇编代码。首先你将鼠标移到W32DASM的最左边单击,将会出现一个小红点,再按住shift键,移到你需要的下一行,再单击鼠标一下,将选中一段,按CTRL+C复制或在菜单选项反汇编里的拷贝指定的行(Copy Lines of Text)功能或按 ,把数据复制到剪贴板里。如:

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 在W32DASM的菜单转到选项转到代码处(goto code)功能,填上403198,按确定,你将在W32Dasm的主窗口(此时可能最小化了,把其还原即可)来到403198地址一行。光条在这一行显亮绿色,按F2或用鼠标左点击最左边(同时按住CTRL)设置断点。
这时如断点设置成功,光条最左边有一小段黄条,显示此行为断点。如下图:

如果断点不在这里,整行光条将是黄色的。
当断点设置好后,在左调试窗口中的断点小窗口显示断点情况(右边有一*):

此时按F2或(鼠标左键+CTRL),断点将取消。
8.3 此时按F9程序将运行到相关断点时停止。
9.0 偏移地址和虚拟地址转换
W32DASM、SOFTICE和Hiew(Decode模式)显示的地址都是虚拟地址,但是在Hiew(Decode模式)下,F5功能键查找的地址是偏移地址,因此必须将虚拟地址转换成偏移地址,才能找到正确的地址。常用的方法是在W32DASM下将绿色的光条移到某一行代码上 , 在窗口底部有一行字指示其偏移地址 , 如虚似地址:Code DaTa@0040534e而偏移地址为:@Offset 0000474Eh. 这就是偏移地址。
10.0 结束
(要了解更多的内容参考W32DASM的帮助文件) |