views:

38

answers:

2

I am trying to learn more about the mechanics of executable files, but I have no background in assembler code. Is there any program I can use for this purpose? I would like to be able to pause a program in real time and read its memory dump at that instant. Is there anything like that for windows 7 32? What about for windows 7 64?

Thanks

+1  A: 

I would suggest that you beef up on assembly programming.

Also read about and around windows executable format

Others - http://www.slideshare.net/rety61/a-handson-introduction-to-the-elf-object-file-format

You can also read the following book which uses windows tools too.

Tools like pe reader - http://code.google.com/p/pefile/

pyfunc
+1  A: 

Pyfunc has a good answer if you want to know the header and inner workings of PE executables (and the mention of ELF). He is also totally right about the assembly recommendation.

As for your disassembler request, I recommend OllyDBG for on-the-fly debugging, IDA Pro for code analysis and PEExplorer for PE (windows executables) headers analysis. SoftICE is prefered by many people for the debugging stage, though.

While these works for any compiled executable or library, languages running in a virtual mode (cross-platform bitcode or interpreted common language) like Java or .NET Framework are dealt differently. For example, a .NET executable would be easily analysable via a software like Reflector because it would allow to get back to the high level programming language instead of debugging assembly.

A good knowledge of what you are dealing with (language the software was written in, I/O operations, etc) will allow you to better discernate a program subtilities. You can use PEiD to help you with this analyse.

Please bear in mind that disassembly and reverse engineering can be illegal depending in which country you are and on which piece of software you apply it. If unsure, you should always use these kind of software on your own projects or programs your compiled yourself (OpenSource ones would be a good idea to begin with).

Soravux