网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.对使用Delphi制作DLL复用文件的建.
.试卷自动生成系统的开发与应用.
.fileStream.
.控制面板的编程.
.用delphi编写医院的复杂报表.
.用DELPHI实现文件加密压缩.
.如何将C/C++程序转译成Delphi(十.
.谈Delphi编程中“流”的利用(一).
.D7下的只能输入数字的控件(类似.
.将面向对象的思想贯穿始终--谈De.
.取得某一dll所有输出函数名.
.以远程计算机上的用户身份访问Co.
.工人线程中关闭窗体的实现.
.Delphi中延时.
.DELPHI中的拖动开发(2).
.修改XPMenu让ToolButton在Down=T.
.DELPHI的原子世界.
.异常死亡进程的自动复活.
.计算PI值到一亿位的算法.
.利用Delphi开发旅游景点微机售票.

Delphi工具—反编译Delphi(三)

发表日期:2006-2-4


 

第三节 Delphi 反编译工具

      反向工程一直被认为是技术奇才的专有艺术,需要熟悉汇编语言和调试器。下面几个Delphi反编译器允许任何人反编译大多数Delphi可执行文件,即使只有有限的技术知识。

      如果你对Delphi程序反向工程感兴趣,我建议你看一看以下几个“反编译器”:

      DeDe

      DeDe是一个非常快的程序,用于分析Delphi编译的可执行文件。反编译之后,DeDe会提供以下信息:

  • 所有的目标dfm文件。你可以用Delphi打开并编辑它们;
  • 带有良好的注释的ASM代码的所有发布的方法,它涉及字符串、输入函数调用、类方法调用、单元的组件、Try-ExceptTry-Finally块。默认情况下,DeDe仅仅只获得已发布方法的源代码,但如果你通过使用Tools | Disassemble Proc菜单知道RVA偏移量的话,你也可以处理可执行文件中的其他过程。
  • 大量的附加信息。
  • 你可以创建一个带有所有的dfmpasdpr文件的Delphi工程的文件夹。注:pas文件包含上面提及的被良好注释过的ASM代码。他们不能被再编译!

      Revendepro

      Revendepro可以找到程序中几乎所有的结构(类、类型、过程等),并生成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'。工程源代码在当前目录创建。如果你想覆盖当前目录的任何已存在的文件,就可以使用选项 '-o'。

上一篇:Delphi工具—反编译Delphi(二) 人气:8436
下一篇:利用内存映射文件扩充程序可用的内存 人气:5156
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐