Archived

This topic is now archived and is closed to further replies.

ploiu

"read my exe"

Recommended Posts

Alternatively, MASM comes with a disassembler, IIRC. That should turn your exe into a big .asm file. It''s still somewhat hard to read, though, unless you know asm pretty well.

Share this post


Link to post
Share on other sites
If you are willing to spend some money, then IDA - The interactive disassembler is really the best. It has been very useful for me, when I have made editors for some games, and trying to hack the fileformats

For more info.
http://www.datarescue.com/idabase/ida.htm



[edited by - fredizzimo on July 4, 2003 6:11:00 PM]

[edited by - fredizzimo on July 4, 2003 6:12:51 PM]

Share this post


Link to post
Share on other sites
The easiest way to see the generated assembly for a program you have the source code to is to turn on ''Assembler Output''(with source to make it easier to read) under project properties, C/C++ tab, then Output Files. Assuming you are using C/C++ of course (you didn''t specify language; you can use the other methods mentioned if you don''t have the source or aren''t using C/C++ though the option might be available for other languages)

Share this post


Link to post
Share on other sites
Guest 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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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!

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
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.

Share this post


Link to post
Share on other sites
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

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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]

Share this post


Link to post
Share on other sites