2024-09-07 18:15:29 +06:00

1243 lines
38 KiB
YAML

test_cases:
-
input:
bytes: [0x8d, 0x4c, 0x32, 0x08, 0x01, 0xd8, 0x81, 0xc6, 0x34, 0x12, 0x00, 0x00, 0x05, 0x23, 0x01, 0x00, 0x00, 0x36, 0x8b, 0x84, 0x91, 0x23, 0x01, 0x00, 0x00, 0x41, 0x8d, 0x84, 0x39, 0x89, 0x67, 0x00, 0x00, 0x8d, 0x87, 0x89, 0x67, 0x00, 0x00, 0xb4, 0xc6, 0x66, 0xe9, 0xb8, 0x00, 0x00, 0x00, 0x67, 0xff, 0xa0, 0x23, 0x01, 0x00, 0x00, 0x66, 0xe8, 0xcb, 0x00, 0x00, 0x00, 0x74, 0xfc, ]
arch: "x86"
options: [ CS_OPT_DETAIL, CS_MODE_16 ]
address: 0x1000
expected:
insns:
-
asm_text: "lea cx, [si + 0x32]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x4c
enc_modrm_offset: 0x1
disp: 0x32
enc_disp_offset: 0x2
enc_disp_size: 0x1
operands:
-
type: X86_OP_REG
reg: cx
size: 2
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_base: si
mem_disp: 0x32
size: 2
access: CS_AC_READ
regs_read: [ si ]
regs_write: [ cx ]
-
asm_text: "or byte ptr [bx + di], al"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x08, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x1
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: di
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_RESET_OF, X86_EFLAGS_RESET_CF, X86_EFLAGS_UNDEFINED_AF ]
regs_read: [ bx, di, al ]
regs_write: [ flags ]
-
asm_text: "fadd dword ptr [bx + di + 0x34c6]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xd8, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x81
enc_modrm_offset: 0x1
disp: 0x34c6
enc_disp_offset: 0x2
enc_disp_size: 0x2
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: di
mem_disp: 0x34c6
size: 4
access: CS_AC_READ
fpu_flags: [ X86_FPU_FLAGS_MODIFY_C1, X86_FPU_FLAGS_UNDEFINED_C0, X86_FPU_FLAGS_UNDEFINED_C2, X86_FPU_FLAGS_UNDEFINED_C3]
regs_read: [ bx, di ]
regs_write: [ fpsw ]
-
asm_text: "adc al, byte ptr [bx + si]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x12, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_MEM
mem_base: bx
mem_index: si
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF, X86_EFLAGS_TEST_CF ]
regs_read: [ flags, al, bx, si ]
regs_write: [ flags, al ]
-
asm_text: "add byte ptr [di], al"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x00, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x5
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: di
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ di, al ]
regs_write: [ flags ]
-
asm_text: "and ax, word ptr [bx + di]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x23, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x1
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_REG
reg: ax
size: 2
access: CS_AC_READ_WRITE
-
type: X86_OP_MEM
mem_base: bx
mem_index: di
size: 2
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_RESET_OF, X86_EFLAGS_RESET_CF, X86_EFLAGS_UNDEFINED_AF ]
regs_read: [ ax, bx, di ]
regs_write: [ flags, ax ]
-
asm_text: "add byte ptr [bx + si], al"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x00, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: si
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ bx, si, al ]
regs_write: [ flags ]
-
asm_text: "mov ax, word ptr ss:[si + 0x2391]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_SS, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8b, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x84
enc_modrm_offset: 0x2
disp: 0x2391
enc_disp_offset: 0x3
enc_disp_size: 0x2
operands:
-
type: X86_OP_REG
reg: ax
size: 2
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_segment: ss
mem_base: si
mem_disp: 0x2391
size: 2
access: CS_AC_READ
regs_read: [ ss, si ]
regs_write: [ ax ]
-
asm_text: "add word ptr [bx + si], ax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x01, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: si
size: 2
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: ax
size: 2
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ bx, si, ax ]
regs_write: [ flags ]
-
asm_text: "add byte ptr [bx + di - 0x73], al"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x00, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x41
enc_modrm_offset: 0x1
disp: -0x73
enc_disp_offset: 0x2
enc_disp_size: 0x1
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: di
mem_disp: -0x73
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ bx, di, al ]
regs_write: [ flags ]
-
asm_text: "test byte ptr [bx + di], bh"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x84, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x39
enc_modrm_offset: 0x1
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: bx
mem_index: di
size: 1
-
type: X86_OP_REG
reg: bh
size: 1
regs_read: [ bx, di ]
-
asm_text: "mov word ptr [bx], sp"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x89, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x67
enc_modrm_offset: 0x1
disp: 0x0
enc_disp_offset: 0x2
enc_disp_size: 0x1
operands:
-
type: X86_OP_MEM
mem_base: bx
size: 2
access: CS_AC_WRITE
-
type: X86_OP_REG
reg: sp
size: 2
access: CS_AC_READ
regs_read: [ bx, sp ]
-
asm_text: "add byte ptr [di - 0x7679], cl"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x00, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x8d
enc_modrm_offset: 0x1
disp: -0x7679
enc_disp_offset: 0x2
enc_disp_size: 0x2
operands:
-
type: X86_OP_MEM
mem_base: di
mem_disp: -0x7679
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: cl
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ di, cl ]
regs_write: [ flags ]
-
asm_text: "add byte ptr [eax], al"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_ADDRSIZE ]
opcode: [ 0x00, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
enc_modrm_offset: 0x2
disp: 0x0
operands:
-
type: X86_OP_MEM
mem_base: eax
size: 1
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: al
size: 1
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ eax, al ]
regs_write: [ flags ]
-
asm_text: "mov ah, 0xc6"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xb4, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
disp: 0x0
operands:
-
type: X86_OP_REG
reg: ah
size: 1
access: CS_AC_WRITE
-
type: X86_OP_IMM
imm: 0xc6
size: 1
regs_write: [ ah ]
-
asm_text: "jmp 0x10e7"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_OPSIZE, X86_PREFIX_0 ]
opcode: [ 0xe9, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
disp: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x10e7
size: 4
-
asm_text: "jmp word ptr [eax + 0x123]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_ADDRSIZE ]
opcode: [ 0xff, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xa0
enc_modrm_offset: 0x2
disp: 0x123
enc_disp_offset: 0x3
enc_disp_size: 0x4
operands:
-
type: X86_OP_MEM
mem_base: eax
mem_disp: 0x123
size: 2
access: CS_AC_READ
regs_read: [ eax ]
-
asm_text: "call 0x1107"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_OPSIZE, X86_PREFIX_0 ]
opcode: [ 0xe8, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
disp: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x1107
size: 4
regs_read: [ esp, eip ]
regs_write: [ esp ]
-
asm_text: "je 0x103a"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x74, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 2
modrm: 0x0
disp: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x103a
size: 2
eflags: [ X86_EFLAGS_TEST_ZF ]
regs_read: [ flags ]
-
input:
bytes: [0x8d, 0x4c, 0x32, 0x08, 0x01, 0xd8, 0x81, 0xc6, 0x34, 0x12, 0x00, 0x00, 0x05, 0x23, 0x01, 0x00, 0x00, 0x36, 0x8b, 0x84, 0x91, 0x23, 0x01, 0x00, 0x00, 0x41, 0x8d, 0x84, 0x39, 0x89, 0x67, 0x00, 0x00, 0x8d, 0x87, 0x89, 0x67, 0x00, 0x00, 0xb4, 0xc6, 0xe9, 0xea, 0xbe, 0xad, 0xde, 0xff, 0xa0, 0x23, 0x01, 0x00, 0x00, 0xe8, 0xdf, 0xbe, 0xad, 0xde, 0x74, 0xff, ]
arch: "x86"
options: [ CS_OPT_DETAIL, CS_MODE_32, CS_OPT_SYNTAX_ATT ]
address: 0x1000
expected:
insns:
-
asm_text: "leal 8(%edx, %esi), %ecx"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x4c
enc_modrm_offset: 0x1
disp: 0x8
enc_disp_offset: 0x3
enc_disp_size: 0x1
sib: 0x32
sib_base: edx
sib_index: esi
sib_scale: 1
operands:
-
type: X86_OP_MEM
mem_base: edx
mem_index: esi
mem_disp: 0x8
size: 4
access: CS_AC_READ
-
type: X86_OP_REG
reg: ecx
size: 4
access: CS_AC_WRITE
regs_read: [ edx, esi ]
regs_write: [ ecx ]
-
asm_text: "addl %ebx, %eax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x01, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xd8
enc_modrm_offset: 0x1
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: ebx
size: 4
access: CS_AC_READ
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_READ_WRITE
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ ebx, eax ]
regs_write: [ eflags, eax ]
-
asm_text: "addl $0x1234, %esi"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x81, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xc6
enc_modrm_offset: 0x1
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x1234
size: 4
-
type: X86_OP_REG
reg: esi
size: 4
access: CS_AC_READ_WRITE
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ esi ]
regs_write: [ eflags, esi ]
-
asm_text: "addl $0x123, %eax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x05, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x123
size: 4
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_READ_WRITE
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ eax ]
regs_write: [ eflags, eax ]
-
asm_text: "movl %ss:0x123(%ecx, %edx, 4), %eax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_SS, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8b, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x84
enc_modrm_offset: 0x2
disp: 0x123
enc_disp_offset: 0x4
enc_disp_size: 0x4
sib: 0x91
sib_base: ecx
sib_index: edx
sib_scale: 4
operands:
-
type: X86_OP_MEM
mem_segment: ss
mem_base: ecx
mem_index: edx
mem_scale: 4
mem_disp: 0x123
size: 4
access: CS_AC_READ
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
regs_read: [ ss, ecx, edx ]
regs_write: [ eax ]
-
asm_text: "incl %ecx"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x41, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: ecx
size: 4
access: CS_AC_READ_WRITE
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ ecx ]
regs_write: [ eflags, ecx ]
-
asm_text: "leal 0x6789(%ecx, %edi), %eax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x84
enc_modrm_offset: 0x1
disp: 0x6789
enc_disp_offset: 0x3
enc_disp_size: 0x4
sib: 0x39
sib_base: ecx
sib_index: edi
sib_scale: 1
operands:
-
type: X86_OP_MEM
mem_base: ecx
mem_index: edi
mem_disp: 0x6789
size: 4
access: CS_AC_READ
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
regs_read: [ ecx, edi ]
regs_write: [ eax ]
-
asm_text: "leal 0x6789(%edi), %eax"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x87
enc_modrm_offset: 0x1
disp: 0x6789
enc_disp_offset: 0x2
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_MEM
mem_base: edi
mem_disp: 0x6789
size: 4
access: CS_AC_READ
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
regs_read: [ edi ]
regs_write: [ eax ]
-
asm_text: "movb $0xc6, %ah"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xb4, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0xc6
size: 1
-
type: X86_OP_REG
reg: ah
size: 1
access: CS_AC_WRITE
regs_write: [ ah ]
-
asm_text: "jmp 0xdeadcf18"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe9, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0xdeadcf18
size: 4
-
asm_text: "jmpl *0x123(%eax)"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xff, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xa0
enc_modrm_offset: 0x1
disp: 0x123
enc_disp_offset: 0x2
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_MEM
mem_base: eax
mem_disp: 0x123
size: 4
access: CS_AC_READ
regs_read: [ eax ]
-
asm_text: "calll 0xdeadcf18"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe8, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0xdeadcf18
size: 4
regs_read: [ esp, eip ]
regs_write: [ esp ]
-
asm_text: "je 0x103a"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x74, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x103a
size: 4
eflags: [ X86_EFLAGS_TEST_ZF ]
regs_read: [ eflags ]
-
input:
bytes: [0x8d, 0x4c, 0x32, 0x08, 0x01, 0xd8, 0x81, 0xc6, 0x34, 0x12, 0x00, 0x00, 0x05, 0x23, 0x01, 0x00, 0x00, 0x36, 0x8b, 0x84, 0x91, 0x23, 0x01, 0x00, 0x00, 0x41, 0x8d, 0x84, 0x39, 0x89, 0x67, 0x00, 0x00, 0x8d, 0x87, 0x89, 0x67, 0x00, 0x00, 0xb4, 0xc6, 0xe9, 0xea, 0xbe, 0xad, 0xde, 0xff, 0xa0, 0x23, 0x01, 0x00, 0x00, 0xe8, 0xdf, 0xbe, 0xad, 0xde, 0x74, 0xff, ]
arch: "x86"
options: [ CS_OPT_DETAIL, CS_MODE_32 ]
address: 0x1000
expected:
insns:
-
asm_text: "lea ecx, [edx + esi + 8]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x4c
enc_modrm_offset: 0x1
disp: 0x8
enc_disp_offset: 0x3
enc_disp_size: 0x1
sib: 0x32
sib_base: edx
sib_index: esi
sib_scale: 1
operands:
-
type: X86_OP_REG
reg: ecx
size: 4
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_base: edx
mem_index: esi
mem_disp: 0x8
size: 4
access: CS_AC_READ
regs_read: [ edx, esi ]
regs_write: [ ecx ]
-
asm_text: "add eax, ebx"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x01, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xd8
enc_modrm_offset: 0x1
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_READ_WRITE
-
type: X86_OP_REG
reg: ebx
size: 4
access: CS_AC_READ
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ eax, ebx ]
regs_write: [ eflags, eax ]
-
asm_text: "add esi, 0x1234"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x81, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xc6
enc_modrm_offset: 0x1
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: esi
size: 4
access: CS_AC_READ_WRITE
-
type: X86_OP_IMM
imm: 0x1234
size: 4
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ esi ]
regs_write: [ eflags, esi ]
-
asm_text: "add eax, 0x123"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x05, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_READ_WRITE
-
type: X86_OP_IMM
imm: 0x123
size: 4
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_CF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ eax ]
regs_write: [ eflags, eax ]
-
asm_text: "mov eax, dword ptr ss:[ecx + edx*4 + 0x123]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_SS, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8b, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x84
enc_modrm_offset: 0x2
disp: 0x123
enc_disp_offset: 0x4
enc_disp_size: 0x4
sib: 0x91
sib_base: ecx
sib_index: edx
sib_scale: 4
operands:
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_segment: ss
mem_base: ecx
mem_index: edx
mem_scale: 4
mem_disp: 0x123
size: 4
access: CS_AC_READ
regs_read: [ ss, ecx, edx ]
regs_write: [ eax ]
-
asm_text: "inc ecx"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x41, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: ecx
size: 4
access: CS_AC_READ_WRITE
eflags: [ X86_EFLAGS_MODIFY_AF, X86_EFLAGS_MODIFY_SF, X86_EFLAGS_MODIFY_ZF, X86_EFLAGS_MODIFY_PF, X86_EFLAGS_MODIFY_OF ]
regs_read: [ ecx ]
regs_write: [ eflags, ecx ]
-
asm_text: "lea eax, [ecx + edi + 0x6789]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x84
enc_modrm_offset: 0x1
disp: 0x6789
enc_disp_offset: 0x3
enc_disp_size: 0x4
sib: 0x39
sib_base: ecx
sib_index: edi
sib_scale: 1
operands:
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_base: ecx
mem_index: edi
mem_disp: 0x6789
size: 4
access: CS_AC_READ
regs_read: [ ecx, edi ]
regs_write: [ eax ]
-
asm_text: "lea eax, [edi + 0x6789]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8d, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x87
enc_modrm_offset: 0x1
disp: 0x6789
enc_disp_offset: 0x2
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_REG
reg: eax
size: 4
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_base: edi
mem_disp: 0x6789
size: 4
access: CS_AC_READ
regs_read: [ edi ]
regs_write: [ eax ]
-
asm_text: "mov ah, 0xc6"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xb4, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: ah
size: 1
access: CS_AC_WRITE
-
type: X86_OP_IMM
imm: 0xc6
size: 1
regs_write: [ ah ]
-
asm_text: "jmp 0xdeadcf18"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe9, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0xdeadcf18
size: 4
-
asm_text: "jmp dword ptr [eax + 0x123]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xff, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0xa0
enc_modrm_offset: 0x1
disp: 0x123
enc_disp_offset: 0x2
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_MEM
mem_base: eax
mem_disp: 0x123
size: 4
access: CS_AC_READ
regs_read: [ eax ]
-
asm_text: "call 0xdeadcf18"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe8, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0xdeadcf18
size: 4
regs_read: [ esp, eip ]
regs_write: [ esp ]
-
asm_text: "je 0x103a"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x74, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x103a
size: 4
eflags: [ X86_EFLAGS_TEST_ZF ]
regs_read: [ eflags ]
-
input:
bytes: [0x55, 0x48, 0x8b, 0x05, 0xb8, 0x13, 0x00, 0x00, 0xe9, 0xea, 0xbe, 0xad, 0xde, 0xff, 0x25, 0x23, 0x01, 0x00, 0x00, 0xe8, 0xdf, 0xbe, 0xad, 0xde, 0x74, 0xff, ]
arch: "x86"
options: [ CS_OPT_DETAIL, CS_MODE_64 ]
address: 0x1000
expected:
insns:
-
asm_text: "push rbp"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x55, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 8
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_REG
reg: rbp
size: 8
access: CS_AC_READ
regs_read: [ rsp, rbp ]
regs_write: [ rsp ]
-
asm_text: "mov rax, qword ptr [rip + 0x13b8]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x8b, 0x00, 0x00, 0x00 ]
rex: 0x48
addr_size: 8
modrm: 0x5
enc_modrm_offset: 0x2
disp: 0x13b8
enc_disp_offset: 0x3
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_REG
reg: rax
size: 8
access: CS_AC_WRITE
-
type: X86_OP_MEM
mem_base: rip
mem_disp: 0x13b8
size: 8
access: CS_AC_READ
regs_read: [ rip ]
regs_write: [ rax ]
-
asm_text: "jmp 0xffffffffdeadcef7"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe9, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 8
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: -0x21523109
size: 8
-
asm_text: "jmp qword ptr [rip + 0x123]"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xff, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 8
modrm: 0x25
enc_modrm_offset: 0x1
disp: 0x123
enc_disp_offset: 0x2
enc_disp_size: 0x4
sib: 0x0
operands:
-
type: X86_OP_MEM
mem_base: rip
mem_disp: 0x123
size: 8
access: CS_AC_READ
regs_read: [ rip ]
-
asm_text: "call 0xffffffffdeadcef7"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0xe8, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 8
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: -0x21523109
size: 8
regs_read: [ rsp, rip ]
regs_write: [ rsp ]
-
asm_text: "je 0x1019"
details:
x86:
prefix: [ X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0, X86_PREFIX_0 ]
opcode: [ 0x74, 0x00, 0x00, 0x00 ]
rex: 0x0
addr_size: 8
modrm: 0x0
disp: 0x0
sib: 0x0
operands:
-
type: X86_OP_IMM
imm: 0x1019
size: 8
eflags: [ X86_EFLAGS_TEST_ZF ]
regs_read: [ rflags ]