Solved

De-compile program

Posted on 2013-12-04
4
168 Views
Last Modified: 2014-03-20
Hi, we had a small application made for us  (I think made with delphi) which we never received the code for and now cannot contact the programmer. We need to make changes to it and was wondering if it would be easy to decompile the exe,
0
Comment
Question by:maxkelpie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 39697440
More than likely, you won't get the exact source code back because usually when code is built into an executable it is done so with instructions to the compiler to make optimizations where it can. If the code was obfuscated during compilation, then you certainly won't get back the original source code.

I am not experienced with Delphi, so hold out for more responses from others who may have experience with decompilation of that language.
0
 
LVL 15

Expert Comment

by:Giovanni Heward
ID: 39697586
Check out the tutorial @ http://thelegendofrandom.com/blog/archives/1472

IDR (Interactive Delphi Reconstructor)
DeDe ( Delphi Decompiler )
0
 
LVL 37

Accepted Solution

by:
TommySzalapski earned 500 total points
ID: 39698117
Decompiled C++ is very tough to read. You lose all comments of course, and most names are mangled (even with Delphi). Also, the optimizer does things like inline functions and unroll for loops, so the code will be a nasty mess. (If an irresponsible person wrote it in the first place, it may have been pretty messy to start with).

In short, if you want to make some small tweak and go on, it will take some time, but you can do it.
If you want to make larger changes and continue to maintain the code, it would probably save time to just rewrite it from scratch.

What kind of contract did you have with the programmer? Is he legally obligated to provide you the code if he abandons the project? If not, make sure to build a clause like that into future contracts. (Or just have the code be deliverable along with the application).
0
 
LVL 15

Expert Comment

by:Giovanni Heward
ID: 39698406
make sure to build a clause like that into future contracts.

Excellent point.  A legal means to this end would be to require the source code to be placed in escrow by a trusted third party fiduciary, to be released to you in the event of x, y, or z.

I've personally used https://www.escrowtech.com/ for this purpose.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

There is an easy way, in .NET, to centralize the treatment of all unexpected errors. First of all, instead of launching the application directly in a Form, you need first to write a Sub called Main, in a module. Then, set the Startup Object to th…
The purpose of this article is to demonstrate how we can use conditional statements using Python.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.

691 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