1、首先在反编译工具中打开DLL文件。
2、然后用“程序集管理器”浏览DLL文件的节点。
3、双击某个节点查看它的代码,然后在右侧栏中,弄清楚不同的代码。
4、接着将代码导到Visual Basic中。
5、最后在Visual Studio中编辑代码,就完成了反编译DLL文件。
若这个DLL编译时没有进行C++优化和全局优化,反汇编后是完全可以反编译的,但是变量名函数名全部丢失,这样无法看懂。
若这个DLL编译时经过了C++优化或全局优化,二进制代码小于512个字节,否则是基本不可能反编译的。
扩展资料
DLL故障排除工具
DependencyWalker检查是否丢失DLL。DependencyWalker检查是否存在无效的程序文件或DLL。DependencyWalker检查导入函数和导出函数是否匹配。
DependencyWalker检查是否存在循环依赖性错误。DependencyWalker检查是否存在由于针对另一不同操作系统而无效的模块。
通过使用DependencyWalker,可以记录程序使用的所有DLL。DLLUniversalProblemSolverDLLUniversalProblemSolver(DUPS)工具用于审核、比较、记录和显示DLL信息。
组成DUPS工具的实用工具:Dlister.exe该实用工具枚举计算机中的所有DLL,并且将此信息记录到一个文本文件或数据库文件中。
c++dll文件反编译源代码的操作步骤如下:
1、在开始菜单内找到Reflector工具。
2、打开Reflector点击【File】-->【Open Assembly...】在打开的对话框内选择要反编译的DLL文件。
3、打开DLL成功后,会在左侧的最下方看到反编译DLL文件。
4、点击展开该DLL文件就可以看到样关的类,以及类反编译后的代码,这样问题就解决了
所谓的破解就是反编译。。
反编译的第一个步骤就是先脱壳。。
关于脱壳可参照这个链接。
脱壳完成了或者根本没壳就可以进行下一步了。
反向编译
高级语言源程序经过 编译 变成可执行文件,反编译就是逆过程。
但是通常不能把可执行文件变成高级语言源代码,只能转换成汇编程序。
计算机软件反向工程(Reversepengineering)也称为计算机软件还原工程,是指通过对他人软件的目标程序(可执行程序)进行“逆向分析、研究”工作,以推导出他人的软件产品所使用的思路、原理、结构、算法、处理过程、运行方法等设计要素,作为自己开发软件时的参考,或者直接用于自己的软件产品中。
反编译是一个复杂的过程,所以越是高级语言,就越难于反编译,但目前还是有许许多多的反编译软件:
VB: VBExplorer 和VBRezQ;只能反编译界面图像,好像代码不能完全反编译
JAVA: JAD ;java的反编译比较常见,所以反编译比较完全, 将class文件反编译成java文件也是有可能的
C++ : eXeScope
Dephi: DEDE
c#:Reflector
搜索DLL Decompiler