"read my exe"

Started by
18 comments, last by ploiu 20 years, 9 months ago
Hey I wonder, is there anyway to reverse-engineer a program back to it''s original C/C++ code? Assuming of course it was written in C/C++ and you know what compiler/libraries/platform was used to build and link it? Any way at all?
Advertisement
quote:Original post by Anonymous Poster
Hey I wonder, is there anyway to reverse-engineer a program back to it''s original C/C++ code? Assuming of course it was written in C/C++ and you know what compiler/libraries/platform was used to build and link it? Any way at all?


No.
-~-The Cow of Darkness-~-
the original.... no... but ... if you know how your compiler generates and optiomizes code you can reverse engineer it back into C or C++, it has to all be done by hand tho... unless someone knows of a tool that will do it.. long, painful process to say the least
i *heard* of a c decompiler once (emphasis on heard, cause i never had it so i cant verify its existance). but i was told that it would decompile code decently but there was only one small problem. since during the compiling of a program the actual variable names are lost (well my understanding of it is that in debug apps the symbols are there, but only for debugging) so the decompiler had to create its own names for variables/functions. this of course makes the code damn near useless cause unless youre REALLY good at reading obfuscated code i doubt anyone would be able to figure out exactly what it does. so no, even if one existed, a c/c++ (or anything higher than assembly) decompiler would be a nifty magic trick at best.

Bungo!
Bungo!
Get IDA if you can it really is fantastic. It will give you the weired variable names (you can''t get the originals unless he debug info ... well the symbol table ... is still in the exe) but it will where it can add comments. For example if a variable is defined locally in a function and is used only as a place holder then IDA will explain all of that. In addition it picks out win API and kernal function calls, BIOS calls, DOS BIOS calls and a heap of other stuff and adds nice little comments to make it readable.

It is still a bit of work but it makes it a more pleasent task. It is actually quite helpfull to reverse engineer some professional app or DLL just to see how the code is structured and how the Pros add in anti-piracy security. You can then take the same steps for your own programs Lets face it if you can crack then you have more chance of anti-cracking. Of course if someone wants to bad enough they will crack any program.

I DO NOT HOWEVER, ENDORSE PIRACY!!!! Do it for yourself but do *not* do it to crack and add it to some warez site.
odbg107b.zip
quote:Original post by Anonymous Poster
Hey I wonder, is there anyway to reverse-engineer a program back to it''s original C/C++ code? Assuming of course it was written in C/C++ and you know what compiler/libraries/platform was used to build and link it? Any way at all?


Yes, it is possible.

I think it was gnu that made a decompiler that turn the app to c++ code. However it is not exact. for example i think it said that it would give generic var and func names.... var1...2 func1..2
Just make a breakpoint in the first line of your code. Than after the debugger hits it right click the source and choose "Show assembly". There you go.

I'm not going to beleive in anything that can "decompile" until I see one working. None of you seem to have actually seen one, you've just "heard" about them. Anyone know where I could find one of these?

EDIT: Into C++... I'm not looking for dissasemblers.

[edited by - cowsarenotevil on July 6, 2003 12:43:08 PM]
-~-The Cow of Darkness-~-
wdasm +) old but good. and microsoft has a great debugger on their website.

This topic is closed to new replies.

Advertisement