uncompilers ?

Started by
16 comments, last by gambit 21 years, 1 month ago
A friend of mine mentioned the existence of Uncompilers ..??? I dont know that much about C++ ...so I''ll ask u guyz (the experts) is there such a thing as a Uncompiler ?
Advertisement
They''re usually called disassemblers...

The major obstacle that you''ll run into is the complete lack of variable names.

And you won''t get the original source no matter how hard you try.

But it''s technically possible to write a program that takes the assembly code inside of an EXE and writes C++ that represents the same thing.
ty Nypyren I''ll look into disassemblers...
I have a prog called winhex or something like that which
dissassembles an exe into hex ..but its very confusing at this stage....ty all u guyz !
Hex Editors dont disassemble, they mearly read the data in the exe without converting it. A disassembler will reverse the exe into assembly code (like Win32DASM).


Qui fut tout, et qui ne fut rien
Invader''s Realm
In fact, the resulting "source" will be *very* confusing, as function and class names are ommited, too, of course. For any larger project I guess it is easier to rewrite the programm than trying to reverse-engineer it (as opposed to .net programs which carry a lot of meta data with them that allows disassambling, s.a. Anakrino)

Not to mention that reverse engineering is *illegal* for practically any program that you did not write.

- VizOne
Andre Loker | Personal blog on .NET
Reverse engineering itself isn''t illegal - it depends on your intentions and what you do with the knowledge you gained from it. For example, reverse engineering any technology for the sake of bypassing copy protection is illegal, but reverse engineering can be used legally to make a compatible, alternative product. That''s basically how the existence of "clone" computers happened after IBM introduced the PC.
quote:Original post by Dobbs
Reverse engineering itself isn''t illegal - it depends on your intentions and what you do with the knowledge you gained from it. For example, reverse engineering any technology for the sake of bypassing copy protection is illegal, but reverse engineering can be used legally to make a compatible, alternative product.


Nevertheless do practically all software products have a clause within their license agreement that explicitly prohibits reverse engineering - that is what I referred to.

- VizOne
Andre Loker | Personal blog on .NET
quote:Original post by Dobbs ...reverse engineering can be used legally to make a compatible, alternative product.


That is only legal under certain very rigidly controlled circumstances. You cannot simply reverse engineer something, study it and build something similar. You have to COMPLETELY separate the group that will reverse engineer the product from the ones who will build the new one. The reverse engineers must ''abstract'' the functionality of the original and present that to the design team. Any crossover of information about the original product to the new one can and will result in lawsuits against you.


If your interested

There would certainly be very interesting repercussions if the "ultimate" de-compiler was discovered, the majority of software would effectively become open source overnight.
VizOne: There has never been a case where the legality of a software EULA has been tested, so whether they''re legally binding or just a threat is debatable. Certainly some of the things they mention are forbidden under criminal law in many countries but that doesn''t mean everything in them is.

SpaceRoge: Yes I didn''t mean RE is always legal for creating alternatives, notice I said RE "can be used legally" not "can always be used legally." I know all about the chinese wall or whatever it''s called.

This topic is closed to new replies.

Advertisement