网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
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编程中“流”的利用(一).
.DELPHI中的快捷方式一览(完全正式.
.如何将C/C++程序转译成Delphi(十.
.用Delphi实现BP机、手机短讯.
.建立、读取、存贮INI文件的方法《.
.在stringgrid控件中使文字内容在.
.控制面板的编程.
.真正的Delphi面向对象编程(一).
.在WIN2000/XP下添加自定义纸张的.
.入手自制软件背单词.
.传说中的DELPHI9--DiamondBack.
.“序列号输入助手”源代码.
.在串中查找第i个子串的位置及效率.
.Delphi中保存图像列表.
.kylix开发工具铺平Linux应用之路.
.在Delphi中编写控件的基本方法.
.如何实现应用程序中的”回车”成.
.在Delphi中实现StringTokenizer功.
.在Delphi中使用动态图标.
.进程查看器1.3版开发后记.

Delphi工具——反编译Delphi(一)

发表日期:2006-2-4


 

反编译Delphi

第一节  关于反向工程(About Reverse Engineering)

      反编译?反向?解密?(Decompilation? Reverse? Cracking?)

      简单的说,反编译是编译过程的反转:把一个可执行文件翻译为更高级语言。假如你丢失了你的Delphi工程的源程序而只有可执行文件:如果源程序已不可得则反向工程(反编译)是有用的。

      耶,“源程序不可得”,这是否意味着我们可以反编译别的程序员开发的Delphi工程呢?嗯,对也不对......

      真正的反编译可能吗?(Is true decompilation possible?)

      不,当然不行。完全自动的反编译是不可能的—没有一个反编译器可以正确的重生出原始代码。

      Delphi工程被编译和连接从而产生一个独立的可执行文件,程序中使用的大部分的名称都被转换为地址。名称的丢失意味着反编译器必须为所有的常量、变量、函数和过程创建唯一的名称。即使在某种程度上反编译是成功的,产生的“源代码”仍缺少了原始含义的变量和函数名。

       显而易见,原始编程语言的语法在可执行文件中已不存在。所以,让反编译器对可执行文件的连续的机器语言指令进行翻译并判断出原始语言指令是非常困难的。

      为什么要使用并且什么时候使用呢(Why and when to use.)

      反向工程因为以下几个原因而使用:

  • 丢失源码的恢复;
  • 把应用程序移入新的硬件平台;
  • 判断程序中是否存在病毒或恶意代码;
  • 当程序拥有者不能更正错误时的程序错误的更正;
  • 其它开发人员的程序源代码的恢复(如:测定一个算法)

      这合法吗?(Is this legal?)

      反向工程不是解密,尽管很难在两者之间划一个明晰的界限。计算机程序被版权和商标法保护。不同的国家对版权拥有者的权利有着不同的解释。最共同的解释是,下列情况下的反编译是可以的:

      为了更好的解释的目的,而接口说明已不可得;为了错位更正的目的,而版权拥有者不能进行更正;为了判断程序的部分内容是否被保护。当然,如果你不能肯定是否被允许反汇编某些程序的可执行文件时,你应该很小心或者联系你的律师。

      注:如果你正寻找着怎样破解Delphi、钥匙产生器或仅仅是序列号:那么你找错地方了。请保证你在这儿所写下或所介绍的每件事都仅仅是为了研究和教育的目的。

上一篇:Delphi数据库编程教程(七) 人气:4633
下一篇:Delphi工具—反编译Delphi(二) 人气:8437
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐