Мне нужно пройтись по opcode'ам зная их hex значение и длину. Под отладчиком смотрю ф-ию MessageBoxA Код (Text): 77D8050B mov edi, edi 77D8050D push ebp 77D8050E mov ebp, esp 77D80510 cmp ds:dword_77DA041C, 0 77D80517 jz short loc_77D8053D 77D80519 mov eax, large fs:18h 77D8051F push 0 В данном случае: push - занимает 1 байт mov - 2 байта cmp - ???? должен занимать 3 байта, а здесь почему целых 7? как определить? в hex: Код (Text): 0x77D8050B 8b ff 55 8b ec 83 3d 1c 04 da 77 00 74 24 74 24 - это уже начинается jz...
Установи опцию, чтобы отображался опкод. Одни и те же команды в зависимости от входящих в них компонентов могут иметь разные длины. Более того абсолютно одинаковые команды могут кодироваться по-разному, например, add eax,IM / push IM и т.п.
cmp : 0x833D 1C04DA77 00 0x83 - указывает что это cmp и что оно будет сравнивать че-то с байтом 0x3D - указывает что будет сравнивать память по адресу в виде [disp32] 0x1C04DA77 - адрес 0x00 - 0