Solved

Delphi decompiler ?

Posted on 1999-01-20
24
4,275 Views
Last Modified: 2012-06-21
Where can find a Delphi decompiler ?
I have exe2dpr but isn't yet a decompiler ( don't read the procedure body ) .
0
Comment
Question by:ginsonic
  • 11
  • 6
  • 2
  • +4
24 Comments
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1362528
There isn't one - nor will there ever likely be one. It is just too difficult - and even if you could the resulting code would bear no resemblance to the original source. It would not be understandable and certainly would not be maintainable. Furthermore - optimisation will make this even worse.

Sorry to be the beaer of bad tidings...

Cheers,

Raymond.
0
 
LVL 5

Expert Comment

by:heathprovost
ID: 1362529
I am with rwilson on this one - dont hold your breath.......

Heath
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1362530
I am reanswering this in the hope you will post a comment as to why you rejected it.

There isn't one - nor will there ever likely be one. It is just too difficult - and even if you could the resulting code would bear no resemblance to the original source. It would not be understandable and certainly would not be maintainable. Furthermore - optimisation will make this even worse.

       Sorry to be the beaer of bad tidings...

       Cheers,

       Raymond.
0
Use Case: Protecting a Hybrid Cloud Infrastructure

Microsoft Azure is rapidly becoming the norm in dynamic IT environments. This document describes the challenges that organizations face when protecting data in a hybrid cloud IT environment and presents a use case to demonstrate how Acronis Backup protects all data.

 
LVL 9

Author Comment

by:ginsonic
ID: 1362531
I have see some decompiler for VB or Fox or C and work OK .
exe2dpr , the Delphi decompiler , isn't YET a decompiler but the author make until now ~15% from this .

Sorry , but I think that will work . It's my opinion .

Best regards,
Nick
0
 
LVL 17

Expert Comment

by:inthe
ID: 1362532
no chance heath and raymond are correct.
borland would'nt give anyone the dcu file format to work with .With exe2dpr it's crap .like i took out half my uses clause on a standard form yet when it so called decompiled it ,i had all my uses clause back again???and no procedures whatsoever
merely a pointer to an address.
Regards Barry
0
 
LVL 5

Expert Comment

by:heathprovost
ID: 1362533
I am sorry, but everyone here is going to answer this the same way.  Yes there are pretty good VB and FoxPro decompilers available.  These are interpreted languages and decompiling their executables, although difficult, is TRIVIAL to decompiling a real executable.  You mention a C decompiler, and yes there are MANY C decompilers available.  I have used a few.  Most are designed for a particular task such as generating function primatives or getting parameter sizes out of the exe.  I have not, however, EVER seen a C decompiler that can produce human readable source code from even the most trivial exe.  I am not saying these things dont produce source, it is just that it will usually take longer to figure out there output than to write the damn thing from scratch.  This problem will be even worse with delphi. C is an open language and MANY people know alot of intiment details about it.  Delphi (object Pascal) on the other hand is a propriatery language that uses a completely undocumented format.  It WONT HAPPEN.  Dont fool yourself.


Heath
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1362534
ginsonic:

There appears to be a consensus here that it won't happen (that is, a delphi decompiler will be written). Rejecting these views appears to be saying you don't like the answer, regardless of its merits.

These are poor grounds for rejecting the answer.

Perhaps you should contact the author of exe2dpr (perhaps you already know him/her) and ask him/her what they think their chances are of completing it as a complete Delphi decompiler and if they could, how useful the output of it will be.

Let us know what you find out.

Cheers,

Raymond.
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362535
Sorry for delay .
I send all comments to author of exe2dpr and I wait to receive an answer .
When I receive this I will put to comment .

Regards,
Nick
0
 
LVL 3

Expert Comment

by:rickpet
ID: 1362536
The only semi decompiler I've seen is exe2dpr.  The best you could hope for is to pull RTTI info out...but actual code...good luck...now I do know of some programs that will decompile to Assembly...if your interested in those...

Rick
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362537
I promise the answer from exe2dpr author :

Hi!

> Answers :
> 1.There isn't one - nor will there ever likely be one. It is just too
> difficult - and even if you could the
>    resulting code would bear no resemblance to the original source. It
> would not be understandable
>    and certainly would not be maintainable. Furthermore - optimisation
> will make this even worse.
>    Sorry to be the beaer of bad tidings...

It is really difficult, but theoretically possible. All original names will
be changed to some like LocFunc14,
LocVar12 etc. See similar decompilers for VB3 or Clipper, result will be
like this.
Optimisztion kill some unexecuted code, for example:

const
  DEMO = True;
.
  if not DEMO then begin
.
    end

> 4. I have see some decompiler for VB or Fox or C and work OK .
>    Nick
Decompilers for VB3, Fox, Java, Clipper etc is very simpler, that Delphi or
C, because
its generate byte-code (p-code) instead of native code in C and Delphi. But
decompiler
for C is really exist, and such Delphi decompiler is also possible.

> 5. no chance heath and raymond are correct.
>     borland would'nt give anyone the dcu file format to work with .With
> exe2dpr it's crap .like i took out
>     half my uses clause on a standard form yet when it so called
> decompiled it ,i had all my uses
>     clause back again???and no procedures whatsoever
>     merely a pointer to an address.

exe2dpr only make a pas-templates for given dfms. And only so 'uses'
generated, that needed for
successfull compiling of this template.

[other skipped]

Now i try to write dcu-decompiler, if it will be succesfully completed,
then i will try make a Delphi-exe
parser for search all standard library's dcu in it and then extract all
other human-maked dcu.

Bye

Regards,
Nick
0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1362538
I think this comment from the author of exe2dpr says it really...

       It is really difficult, but theoretically possible. All original names will
       be changed to some like LocFunc14, LocVar12 etc.

In other words, yes it is POSSIBLE to do this, but is it WORTHWHILE to do it?

Cheers,

Raymond.
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362539
Maybe . I wait .

Nick
0
 

Expert Comment

by:vantive
ID: 1362540
Yes, there´s one. If you send me you e-mail address I will send you the program.
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362541
Thanks vantive,
My e-mail address : nick@decebal.ro .
Wait your mail ,
Nick
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362542
For vantive :

Hello man ,
Your offer is still available ?

Nick
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362543
Because vantive don't send the program how he promise , I reject her answer .
If vantive keep her offer and send the decompiler I will accept the answer .
Nick
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362544
Because vantive don't send the program how he promise , I reject her answer .
If vantive keep her offer and send the decompiler I will accept the answer .
Nick
0
 

Expert Comment

by:vantive
ID: 1362545
Sorry man,
I'm having problems using the decompiler but, as soon as I fix the problems I will send you.

Vantive

0
 
LVL 12

Expert Comment

by:rwilson032697
ID: 1362546
I think that says it all... :-)

Cheers,

Raymond.
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362547
COUNTDOWN .
Nick
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362548
Rwillson,
Reanswer ,
Nick
0
 
LVL 12

Accepted Solution

by:
rwilson032697 earned 100 total points
ID: 1362549
Cheers Nick.

Raymond.
0
 
LVL 9

Author Comment

by:ginsonic
ID: 1362550
I still think that is possible .
Regards,
Nick
0
 

Expert Comment

by:pdash33
ID: 22209344
Where can get this reasonable decompliler?

Please its really urgent, I going nuts.

my email ( alt -- ...  is freemtnhorse@hotmail.com )

the best - worst ? I  have seen from Dede and IDa ( yuck ) is you can figure out most of the stuff like captions, controls etc, but variables and what happens to those variables is very time consuming.

To decompile a basic program that you have already written takes 10 times longer to figure out what is happening and that is cheeting anyhow since you made it yourself.

thanks and thoughts,
Phil
0

Featured Post

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

The uses clause is one of those things that just tends to grow and grow. Most of the time this is in the main form, as it's from this form that all others are called. If you have a big application (including many forms), the uses clause in the in…
Have you ever had your Delphi form/application just hanging while waiting for data to load? This is the article to read if you want to learn some things about adding threads for data loading in the background. First, I'll setup a general applica…
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question