VB Decompiler Pro(VB反编译工具)是一款针对使用Visual Basic 5.0/6.0开发的程序的反编译软件。软件能够帮助用户对VB编辑进行恢复,用户通过此软件能够看出窗体内部的API声明及自定函数和变(常)量内容等。用户可以轻松获取到EXE里面的数据,从而可以重新修改exe数据,功能非常强大。心动不如行动,有需要的用户快来本站下载。
软件特色
如果一个程序被编译成native code, 从机器码恢复源代码是几乎不可能的. 但即便是这种情形下VB Decompiler还是可以帮助你分析程序. VB Decompiler包含了一个强大的支持包含MMX和SSE的Pentium Pro指令集的反编译器. 它还包含一个代码分析器, 用于搜索所有API调用,汇编代码中的字符串引用并将结果修改为相应的注释。
软件亮点
加入一个程序被编译成.net汇编,反编译器将恢复所有的托管代码的数据表和模块,并且使用IL反汇编器反汇编所有的方法,函数以及事件。反编译并不需要.net Framework并且支持所有的32位Windows操作系统。VB Decompiler也将反编译文件中的所有的图形界面窗体以及控件。出于技术需要,反编译器可能显示所有控件的编译地址。
功能介绍
1.通用脱壳(支持UPX, NSPack以及一些其他常见的可执行文件压缩壳);
2.反编译窗体(frm和frx)以及用户控制(ctl)对象文件;
3.完整的伪代码p-code反编译(解析操作码并转换为标准vb指令,反编译GUID对象);
4.两种伪代码反编译模式(包含堆栈解析或不包含堆栈解析);
5.反汇编native code过程(使用强大的Pentium Pro反汇编器,支持MMX及FPU指令集);
6.反汇编native code过程中的字符串引用以及API调用(使用强大的Pentium Pro反汇编器,支持MMX及FPU指令集);
7.部分反编译native code(使用代码仿真引擎);
8.在反编译的代码中根据语法显示不同的颜色;
9.字符串引用列表以及搜索引擎;
10.快速反编译;
11.VB5/6程序的混淆工具;
12.VB5/6程序的修补工具;
13.将反编译的数据保存入单个db文件;
14.反编译.Net程序;
15.将所有的过程列表保存入MAP文件;
16.IDC脚本或是HIEW的Names文件;
使用方法
字符串引用
字符串数据往往会出现在反编译代码里,对分析功能模块是很有用的,点击"工具"--"搜索字符串"弹出信息。
或者弹出以下信息
在列表中找到您需要的字符串后双击,相应模块将在代码窗口中打开,在另一个字符串中双击将继续搜索该字符串的程序代码,点击OK按钮将选择后关闭,点击"取消"将关闭对话框。
字符串引用功能仅在专业版中才是可用的。
重要提示: 同一个程序里也许有超过100个的字符串。
VB Decompiler 支持编辑字符串,右键单击需要编辑的字符串,选择"编辑字符串"将弹出输入新字符串对话框,输入修改后字符串点击OK按钮,编辑后内容将直接写入编辑文件。
重要提示: 编辑文件的空间是有限的,每一个字符串都有严格的位置和长度。 VB Decompiler 可以替换新字符串,但长度必须一直或短些。
搜索字符串
当您反编译目标程序后,双击激活主窗口左边目录树任意项目,反编译代码将在右边框架显示,当您需要查找字符串就需要使用到这个功能。点击"工具"--"搜索字符串",或者使用快捷键 Ctrl + F 打开。
重要提示: 您仅可以搜索激活部分代码,而不是整个目标程序。
如果您想搜索整个目标程序,请取消勾选"在活动窗口"选择框。
输入需查找字符串进行搜索。
点击"搜索下一个"按钮继续搜索。点击"取消"则关闭搜索对话框。
修补程序数据
从VB反编译器9.4版开始建立更强大的工具来编辑文件 - HEX编辑器,从主窗口访问随着反编译代码。十六进制编辑器允许你编辑的文件作为一个字节块和支持跳转到虚拟地址和偏移量。还有就是复制和粘贴数据,并撤销/重做功能。鉴于此,该修补已经失去了它的相关性和从VB反编译的新版本中删除。
一般情况下,在分析代码时候,您需要更改代码的部分内容,额外运行一个十六进制编辑器去修改某些字节,很不方便,现在VB Decompiler里您就可以使用这内置的特殊的补丁工具进行修改。点击"工具"--"修补程序数据"您将看到类似如下窗口:
更新日志
- 高亮显示“保存”操作符;
- 固定阿拉伯语。感谢lculator zaloom;
- 错误修复:使用语言,选择在安装程序;
- 错误修正:正确处理变量类型有3个数字(例如var_104),但内容2个数字(例如var_FC);
- bug修复:反编译msvbvm50。dll函数__vbaForEachVar(本机代码);
- bug修复:反编译msvbvmXX。dll函数__vbaNextEachAry, __vbaLsetFixstrFree;