OllyDbg is an awesome tool that disassembles an EXE into readable instructions and allows you to execute the instructions one-by-one. It also tells you what API functions the program uses and if possible, the arguments that it provides (as long as the arguments are found on the stack).
Generally speaking, CPU instructions are of variable length, some are one byte, others are two, some three, some four etc. It mostly depends on the kind of data that the instruction expects. Some instructions are generalised, like "mov" which tells the CPU to move data from a CPU register to a place in memory, or vice versa. In reality, there are many different "mov" instructions, ones for handling 8-bit, 16-bit, 32-bit data, ones for moving data from different registers and so on.
You could pick up Dr. Paul Carter's PC Assembly Language Tutorial which is a free entry level book that talks about assembly and how the Intel 386 CPU operates. Most of it is applicable even to modern day consumer Intel CPUs.
The EXE format is specific to Windows. The entry-point (i.e. the first executable instruction) is usually found at the same place within the EXE file. It's all kind of difficult to explain all at once, but the resources I've provided should help cure at least some of your curiosity! :)
answered Apr 16 '09 at 14:33
85k2828 gold badges150150 silver badges201201 bronze badges
- Is the Netherlands still reclaiming land
- What are the best software torrents
- How do foreigners invest in Malaysia
- Are seagulls endangered
- Was Bernie Sanders heart surgery a success
- How long does Ritalin withdrawal last
- How could Brexit affect the UKs GDP
- What happened to Macaulay Culkins career
- Are there female orcs
- How does Poland treat indian tourist
- How do I make Baltimore better
- What is future tense and its types
- What is language exchange
- What makes Romeo and Juliet an epic
- What are the best adjustable weight benches