You are here:

C++/Decompiler and Obfuscator System Software programs

Advertisement


Question
Dear Vijayan

I want to get some inputs from your end regarding Decompiler and Obfuscator software programs.

Decompiler -> retrieving source code from Binary file/s i.e .exe, .dll. it performs reverse engineering.

Helps in recovering software source code crashes.

Obfuscator -> Protecting source code i.e intellectual property of programmer/company from tampering, hacking and decompiling source code.

1. Some information on Logic and Algorithms for Designing and Building a Decompiler program -  say .net decompiler, javascript decompiler, c decompiler etc

2. what could be the probably programming language/s for building decompiler and obfuscator software programs ?
i.e c, c++, java, assembly language ?.

3. Is it a important investment by the IT Service co/s in purchasing those third party component/s,tools ?

For example : IT Cos who are giving solutions on .net/j2ee architecture will find these tools invaluable assets ?

Thanks & Regards,
Prashant S Akerkar

Answer
> Some information on Logic and Algorithms for Designing and Building a Decompiler program -  
> say .net decompiler, javascript decompiler, c decompiler etc

Here is a reasonable introduction to the topic: http://www.backerstreet.com/decompiler/introduction.htm

For an example of what a fairly widely used decompiler does, see: http://www.hex-rays.com/idapro/


> what could be the probably programming language/s for building decompiler and obfuscator software programs ?

AFAIK, the language is not an absolute barrier. In practice, a Turing-complete language like C++ is the most common choice.


> Is it a important investment by the IT Service co/s in purchasing those third party component/s,tools ?

There is a market for commercial tools of this kind, but AFAIK it is a niche market. Quite a few software houses prefer not to use it, because they rely on their software license to protect them and/or because obfuscation makes identifying the causes of run-time errors and tracing them back to the original program extremely hard; the cost of debugging goes up exponentially. Some others do use some obfuscation, but depend on free software for this.

Here is some more information: http://www.obfuscator.info/  

C++

All Answers


Answers by Expert:


Ask Experts

Volunteer


vijayan

Expertise

my primary areas of interest are generic and template metaprogramming, STL, algorithms, design patterns and c++11. i would not answer questions about gui and web programming.

Experience

about 15 years or so

Education/Credentials
post graduate engineer

©2016 About.com. All rights reserved.