Jump to content
  • Advertisement
Sign in to follow this  
t5hoo6

need help with decompiler

This topic is 4856 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Tring to make a decompiler, but i dont know what or where the data i need in the EXE's are. Can any one help, tring to make in ASM

Share this post


Link to post
Share on other sites
Advertisement
Wotsit's File Formats - The have a large archive of info on file formats, including executables, DLLs, Obj and many other types.


Any reason you're writing a decompiler? Let alone in ASM? Also, Decompiler is a little advanced, I think you mean disassembler.

Share this post


Link to post
Share on other sites
What is the diffrence between decompiler and disassmbler
and i doing it in ASM so i can learn it better.

Share this post


Link to post
Share on other sites
Quote:
Original post by t5hoo6
What is the diffrence between decompiler and disassmbler
and


A dissasembler takes some compiled code and translates it to assembler, and a decompiler takes some compiled code and translates it into the code of some language, C++ for example, but could be anything.

A dissasembler is much easier to make since the binary instructions in most cases map directly to an assembly instruction, but in a decompiler you need to identify where there is loops and stuff, what were once a class, but is now a bunch of gotos.

Quote:
i doing it in ASM so i can learn it better.

So you learn ASM better? I think that is a bad idea, a disassembler/decompiler can be fairly complex, you might be able to make a disassembler in ASM, but probably not if you don't have a good idea of how to code in ASM.

Share this post


Link to post
Share on other sites
It would probably be easier to write a disassembler in C++. After all, you don't really need that much speed (despite large file sizes), and probably most disassembly tutorials (if there are any) are in C++.

If you really want to learn ASM, write a simple text adventure or something in it.

Share this post


Link to post
Share on other sites
A Disassembler takes an executable or other compiled file (Object files, lirary files, DLLs, etc) and creates a listing of assembly code contained in the file.

A Decompiler takes it one step further and attempts to regenerate code in a high-level language such as C or C++. In general, the output may be equivilant to the original code, but it would be criptic at best; things like variable names are not generally preserved in the executables so the decompiled code listing will not contain usefull variable names. Also, even though the code may be equivilant, its not guaranteed to be the identical. Decompiling is extremely difficult, not it-will-take-twice-as-long difficult, I mean good-topic-for-a-masters-or-doctorate-thesis difficult.

Dissassembly, on the other hand, is largely a matter of decrypting machine code into its Assembler commands, which is more or less a one-to-one mapping.

Dissassembly is like translating Spanish to French. Decompiling is like trying to recreate a book in French from fragments of sentences in Spanish with only a vague idea of how the story goes.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!