⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.html

📁 这是个反向工程delphi的程序的全部源代码.能分析几乎所有的结构 Revendepro is a program to reverse engineer Delphi program. Reven
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
        "http://www.w3.org/TR/html4/frameset.dtd">
<HTML>
<HEAD><TITLE>Puthoon Revendepro</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" text="#000000" link="#0000FF" vlink="#0000CC" alink="#6666FF">
<h1><img alt="" src="revendepro.gif" width="32" height="32">Revendepro (version 0.0.2.17)</h1>
<h2>Introduction</h2>
<p>Revendepro is a program to reverse engineer Delphi program, I have stoped working on the program. Unfortunately it does NOT work on most programs, so please DO NOT contact me that the program doesn't work (if you have a fix or want to make one you may contact me of course).
  The program is written for Delphi 4 and 5 and will not work with a previous 
  version of Delphi. Also it can only decompile programs written with the same 
  version of Delphi as the decompiler is compiled with.</p>
<h2>Background information</h2>
  <p><a href="findingClasses.html">Finding classes.</a></p>
  
<p><a href="InstructionGenerator.html">Generating instructions.</a></p>
<h2>What it does</h2>
<p>Summary: Revendepro finds almost all structures (classes, types, procedures, 
  etc) in the program, and generates the pascal representation, procedures will 
  be written in assembler. Due to some limitation in assembler the generated output 
  can not be recompiled. </p>
<p>It gets all the classes, because these have a Self pointer in their VMT. And 
  they must all derive from TObject (more information about <A HREF="findingClasses.html">finding 
  classes</A>).</p>
<p>It gets also get all the TypeInfos, this is the type information for all your 
  types declarations, which are used with automatic initialization/finalization 
  or passed to TypeInfo. These TypeInfos can be found, because they have a pointer 
  to them self before them, and their kind must exist (the classes are not accepted, 
  because they are already found).</p>
<p>It gets a list of all procedures (functions, methods etc.) including nested 
  procedures, but not including procedures without a direct call (the one only 
  passed as parameters). These partially get by following the calls.</p>
<p>It gets a list of (ansi/wide)strings by searching for the strings hidden fields (reference count
  (-1), length). (0.0.2.0)</p> 
<p>It gets a list of resource strings (yes there is partial resource support). (0.0.2.0)</p>
<p>It gets a list of vars and consts (consts are vars which value never changes), by just breaking
  the Data and BSS sections in parts using fixups and some auto generated vars. (0.0.2.0)</p>
<p>It puts all the information into a unit, which should be in the correct order. (0.0.2.0)</p>
<p>Complete support for published properties. (0.0.2.2)<p>
<p>Updated (26-7-1999): The list of procedure is extended with the imported procedures 
  and contains much more information about the procedures (size, imported, method 
  etc.). </p>
<p>Update (19-8-1999): There is now generated some real code which can recompiled,
  however there is no support for resources, types, strings and much more, but there is
  (limited) support for objects.</p>
<p>Update (18-9-1999): Many improvements, try decompiling a completely empty program, it
  generates a completely empty program (how amazing). Almost every thing is supported, except
  interfaces, packages, resources and thread vars. And not all the system procs are supported.</p>
<p>Vars are now kept in the original order to prevent problems with separating vars, which shouldn't be
  separator (0.0.2.2).</p>
<p>Interface properties are supported, however type casting interface will cause unpredictable
  behaviour (0.0.2.2).</p>
<p>There is now support for threadvars, only delphi removes them, because they are not directly
  accessed (0.0.2.4).</p>
<p>There is now a screen indication that the program is running and makes is possible to cancel it (0.0.2.6).</p>
<p>DFMs are also dumped now. (0.0.2.8)</p>
<p>Some bug fixes concerning DFMs. (0.0.2.9)</p>
<p>Packages are now supported, there are still some problems with the code generated form packages,
  but a least if published a lot of information about the package. (0.0.2.12)</p>
<p>I decided to name Revendepro Revendepro which stands for REVerse ENgineering DElphi PROject
  (0.0.2.13).</p>
<p>Now also works on Delphi 5 programs (0.0.2.14).</p>
<h2>Compiling Revendepro</h2>
<p>The program will display additional message when DebugInformation is enabled. If you define the 
   conditional definition <I>DebugView</I>, the program won't generate output files, but will
   display a form with information about the exe.</p> 
<h2>Problems with decompiling</h2>
<p>First of all the program isn't very fast, there is now (version 0.0.2.6) some screen that indicates
   that the program is running, there is also a button that cancels the decompilation, but that doesn't 
   respond very fast. Also there isn't an indicator for how far the decompilation process is.</p>
<p>Since it can decompile vcl40.bpl (It doesn't throw an exception), It is highly unlikely that
   you get an exception due to some vcl code for a Delphi 4 program, there are still some problems with the D5 vcl code.
<p>There is now (0.0.2.15) the possibility to ignore errors.</p>
<p>Unless the code makes use of some exotic code (like obj files), there shouldn't 
  be any problem decompiling the program, recompiling it again has some more problems, 
  because the program will almost always include interface, resources, thread 
  vars, constructors and/or destructors.</p>
<h2>Links</h2>
<table border="0" width="100%">
  <tr> 
    <td><a href="http://www.woodmann.com/dafix_t1.htm" target="_top">Delphi Reverse 
      Engineering</a></td>
    <td>Article by DaFixer about reverse engineering delphi programs </td>
  </tr>
</table>
<h2>Other reverse engineering programs</H2>
<TABLE border="0" width="100%">
  <tr> 
    <td><a href="ftp://ftp.balbaro.com/dede/dede.zip">DeDe</a></td>
    <td>Program which analyzes Delphi program, from DaFixer</td>
  </tr>
  <tr> 
    <td><a href="http://www.puthoon.com/Revendepro/DCUExplorer.zip">DCUExplorer</a></td>
    <td>Program to explore DCU files form <A HREF="MAILTO:hguinnes@cityweb.de">Helmut Hellwig</A>, based on DCU32INT from Alexei Hmelnov.</td>
  </tr>
</TABLE>  
<hr>
 <a href="http://www.puthoon.com" target="_top"><img alt="" src="puthoonMini.gif" width=20 height=20 border=0></A><IMG SRC="puthoonText.gif" WIDTH=51 HEIGHT=16 BORDER=0 ALT=""><BR>
E-mail: <a href="MAILTO:puthoon@puthoon.com">puthoon@puthoon.com</a> 
<HR>
Copyright &copy; 1999, 2000 Puthoon. All rights reserved
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -