问题
I'm trying to Is there any good resource available to learn 'decoding' of i386 opcodes? Most of the websites talk about how to encode instructions, but I don't find anywhere something telling as to how to decode opcodes to instructions.
I've looked at the source code of some disassemblers, but I want some documentation as to how to decode opcodes to instructions.
Thanks and Regards,
Hrishikesh Murali
回答1:
Read the processor manuals, they have it described, though maybe not in complete details:
- Intel Manuals, in particular see Chapter 2 in Volume 2A and Appendix A in Volume 2B.
- AMD Manuals, see Programmer's Manual Volume 3.
See also How to interpret the opcode manually?
回答2:
if you want to lean at a more programmatic level, olly's old disasm engine is a very simple disassembler to learn from (written in C), and if you want to cover the more recent opcodes (and hidden/aliased opcodes), bea-engine is a great open-source disassem engine.
来源:https://stackoverflow.com/questions/6942023/decoding-i386-opcodes-to-instructions