反向工程一直被认为是技术奇才的专有艺术,需要熟悉汇编语言和调试器。下面几个Delphi反编译器允许任何人反编译大多数Delphi可执行
文件,即使只有有限的技术知识。如果你对Delphi
程序反向工程感兴趣,我建议你看一看以下几个“反编译器”:DeDeDeDe是一个非常快的程序,用于分析Delphi编译的
可执行文件。反编译之后,DeDe会提供以下信息:所有的目标dfm文件。你可以用Delphi打开并编辑它们; 带有良好的注释的ASM代码的所有发布的方法,它涉及字符串、输入函数调用、类方法调用、单元的组件、Try-Except和Try-Finally块。默认情况下,DeDe仅仅只获得已发布方法的源代码,但如果你通过使用Tools | Disassemble Proc菜单知道RVA偏移量的话,你也可以处理可执行文件中的其他过程。 大量的附加信息。 你可以创建一个带有所有的dfm、pas、dpr文件的Delphi工程的文件夹。注:pas文件包含上面提及的被良好注释过的ASM代码。他们不能被再编译!RevendeproRevendepro可以找到程序中几乎所有的结构(类、类型、过程等),并生成pascal表达式、过程则以汇编程序的形式写出来。由于汇编程序的某些限制,生成的结果不能被在编译。这个反编译器的源代码可以免费获得。不幸的是,这是唯一一个我不能使用的反编译器—当试图用它反编译某些Delphi可执行文件时,总提示异常。MRIP这个对用途文件分割器可以从其它文件中寻找和摘取文件。MRIP分割100多种文件格式。对我们而言,最重要的是MRipper可以反编译任何Delphi可执行文件。该工具可以从Delphi应用程序中摘取所有的资源:cursors(光标)、icons(图标)、dfm文件、pas文件和其他资源。pas文件不包含事件过程执行。MRIP是一个DOS工具。DfmExplorer以下是DfmExplorer的说明(包括原始资料):通过调用Win32 API的“LoadLibrary”或“LoadLibraryEx”函数在内存中载入可执行模块(EXE\DLL\BPL\DPL)。 通过Win32 API的“EnumResourceName”函数找寻RCDATA资源。 载入每个发现的DFM块,解码它并以表的形式(包括它们的名称)存储在内存中。 在程序的主窗口我们可以以文本方式可视化所有载入可执行文件的所有的DFM。 最后,程序可以保存到DFM选择的磁盘,作为ASCII文件(.RC)或作为二进制块(DAT)连接到可执行文件中。Exe2Dpr如果你试图放松你的工程源代码,这个Delphi工程源代码救助器可以挽救丢失的源码部分。救助器生成所有的带已分配属性和事件的工程表单和数据模块。生成的事件过程没有主程序(它不是反编译器),但又在可执行文件中的代码地址。这个工具没有GUI—它使用命令行的形式:'exe2dpr [-o] exeFile'。工程源代码在当前目录创建。完全回复DELPHI的源代码就不可能了
因为可以完全恢复的话
程序的安全性就不用提了
更不用提商用软件
付费软件了
但可以反汇编
就是把可执行文件或者DLL,ocx等可以通过反汇编得到汇编代码了
能不能看懂
就看你的本事了
有个叫PEID的工具
你只要吧程序拖放到它的窗口他就分辨出(没有比它好,比它简单,比它功能强大的了)是什么语言写的,连接器的版本等
但要注意有些程序为了防止被黑客破解
会用各种加壳软件来加壳
这种程序PEID只会分辨出用的是哪一种壳
还有一种办法是:看软件安装或所在的目录下库文件,链接库等
确定壳后进行脱壳(用相应的脱壳工具,或者手动脱壳)
然后用反汇编工具进行反汇编
最有名的反汇编工具有:ollydbg,W32Dasm,C32asm
等
不过反汇编DELPHI的程序有专门的工具DEDE
要完全回复DELPHI代码就不可能了
具体怎么 *** 作
这是个大学问
这里不能详细了
不过很“破解”这行业很有趣
给你推荐个网站
看雪学院
最有名的了
http://www.pediy.com
祝你好运!!
如果是注册相关的
CALL SameText{0x62}
MOV EDX,DWORD PTR [EBP-4{Self}]
MOV BYTE PTR [EDX+131244],AL //在这里设断点,al值如果是0改成1,不然就改成0,应该是可以成功注册的.至于是神马意思,您看调用的函数名难道猜不出来么??????
而且你确定这段代码是核对注册码的????我怎么觉得只是保存注册表键值的??????
评论列表(0条)