[点评:Win32dasm是个好东西,软件破解是一回事,我们也可以用来做软件分析,甚至软件调试.]
Win32dasm是个反编译工具,它可以将应用程序静态反编译为WIN 32汇编代码,利用Win32dasm我们可以对程序进行静态分析,帮助快速找到程序的破解突破口,有时甚至可以直接用它来破解软件。不过Win32dasm只能对应用程序进行静态反汇编,如果原程序经过了加密变换处理或着是被EXE压缩工具压缩过,那么用Win32dasm对程序进行反汇编就没有任何意义了。与Win32dasm相对应的另外一个反编译工具是IDA PRO,它的功能比Win32dasm更为强大,不过IDA PRO那9兆的巨大身躯也着实挺让人吃惊的。Win32dasm同时支持Windows 9x和NT两个操作系统平台,压缩文件大小不过500多KB,所以综合起来还是很实用的。
Win32dasm不需要复杂的安装过程,直接将下载的压缩文件解压到目录下就可以立即使用了,其运行主程序是W32dsm89.exe,程序运行后的界面图如下:
* 选择“Disassembler”下的“Open File To Disassemble...”打开需要反汇编的程序就可以开始反编译了,上面的画面即为程序反汇编后的结果。
* 在对较大的应用程序进行反汇编时通常会耗费不少的时间,为了能保存Win32dasm反汇编的结果以便于下次查阅而不用再次进行重复反汇编,可以选择“Disassembler”下的“Save Disassembly Text File and Create Project File”选项将结果存到文件中,下次需要打开时可以用“Project”下的“Open Porject File...”打开所保存的反汇编结果。
* 分析程序时我们经常需要搜索程序中的特定字符串,了解字符串被调用的情况,这时选择“Search”下的“Find Text”就可以了,“Find Next”(或按功能键F3)能帮助找到程序中其它调用此字符串的地方。
* “Goto”菜单下提供了四种快速跳到指定程序地方的功能:Goto Code Start——跳到程序代码开始处,快捷键为CTRL+S;Goto Program Entry Point——跳到程序进入点,快捷键为F10;Goto Page——跳到指定页,快捷键为F11;Goto Code Location——跳到指定地址代码处,快捷键为SHIFT+F12,我们用得比较多的是“Goto Code Location”,即跳到指定地址代码处,在Win32dasm中按住SHIFT+F12即可:
其中需要输入的代码地址“Code Offset(Hex)”和Softice中显示的代码地址一样
* “Functions”下的“Imports”功能显示了反汇编程序中所调用到的WIN32 API函数:
双击指定的行可以直接跳到程序中这个WIN32 API函数被调用的代码处
* “HexData”下的“Hex Display of Data Objects/Segments”和“Hex Display of Code Data”可以分别查看16进制形式的数据段和代码段数据。
* “Refs”菜单对于程序的分析是很有用处的,“Menu References”显示程序中的菜单资源,“Dialog References”显示程序中的对话框资源,“String Data References”显示程序中的字符串资源。
“Refs”菜单下的各个功能中都可以通过双击鼠标跳到指定行资源被调用的代码地址处,其中“String Data References”是最有用的,我们可以通过查找程序中出现的特定字符串,从而快速跳到可疑字符串被调用的代码处,分析程序的运行机制:
这里附上这个程序,有用的朋友可以下载下来看看.
| 文件: | pwin32dasm893_wq.rar | 大小: | 361KB | 下载: | 下载 |
|
阅读(3575) | 评论(1) | 转发(0) |