#include <stdio.h>
#include <stdlib.h>
/* opcode jmp
*
* short opcode EB m8 2 bytes
* near opcode E9 m16/32 5 bytes
* far opcode EA ptr 16:16/32 7 bytes
*
* short jmp :
*
* 0xFE - 0xFF -> opcode ( word )
*
* add 0x00 - 0x7F min -> max
* sub 0x80 - 0xFD min -> max
*
* short jmp addressing Mode :
* add : des = eip + immed + 2
* sub : des = eip - 0xFE + immed
*
* near jmp addressing Mode :
* add : des = eip + immed + 5
* sub : des = eip - 0xFB + immed
*
* reg jmp opcode FF
*
* eax E0
* ecx E1
* edx E2
* ebx E3
* esp E4 ______________ + eax : 24 01
* ebp E5 | + ebx : 24 19
* esi E6 + eax : 24 03 ______ | + ecx : 24 09
* edi E7 + ebx : 24 1B | | + edx : 24 11
* + ecx : 24 0B | | + esi : 24 31
* seg reg jmp opcode + edx : 24 13 | | + edi : 24 39
* + esi : 24 33 | | + esp : 24 0C
* ds : 3E + edi : 24 3B | | + ebp : 24 29
* es : 26 + esp : 24 1C | | + immed : 61 XX
* cs : 2E + ebp : 24 2B | |
* ss : 36 + immed : 63 XX | | ____________ + eax : 24 02
* fs : 64 | | | + ebx : 24 1A
* gs : 65 __ | | | + ecx : 24 0A
* \ | | | + edx : 24 12
* | | | | + esi : 24 32
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | + edi : 24 3A
* XX FF XX (XX....) | | | + esp : 24 14
* +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+ | | | + ebp : 24 2A
* | | | | + immed : 62 XX
* | | | |
* | | | |
* + eax : _____ | | | |
* + ebx : \ \__ eax : 20 __________|__|____|________________________
* + ecx : | ecx : 21 __________|__| | \______ + eax : 24 00
* + edx : | edx : 22 __________|_______| + ebx : 24 18
* + esi : | ebx : 23 __________| + ecx : 24 08
* + edi : | esi : 26 ___________________________ + edx : 24 10
* + esp : \______________ edi : 27 \__ + eax : + esi : 24 30
* + ebp : esp : 24 24 ________ + ebx : + edi : 24 38
* + immed : ebp : 65 00 | + ecx : + esp : 24 04
* / | + edx : + ebp : 24 28
* / | + esi : + immed : 60 XX
* / | + edi :
* / | + esp :
* + eax : _____________/ | + ebp :
* + ebx : + eax : + immed :
* + ecx : + ebx :
* + edx : + ecx :
* + esi : + edx :
* + edi : + esi :
* + esp : + edi :
* + ebp : + esp :
* + immed : + ebp :
* + immed :
*
* stack mem jmp opcode FF 65
* static mem jmp opcode FF 25
*
*
* */
杂
最新推荐文章于 2024-06-13 07:29:42 发布