Closed xaort closed 4 months ago
Please fill out the issue template. Also, can you test your code with a single mov
instruction.
You can try to enable the CS_OPT_SKIPDATA
option. cs_disas
maybe stops because it hits data.
Please fill out the issue template. Also, can you test your code with a single
mov
instruction.You can try to enable the
CS_OPT_SKIPDATA
option.cs_disas
maybe stops because it hits data.
issue template ? , also tried what you said windows dialog popped up and said error occured read
for issue template i dont think needed i sent die detector's result alr
The error message from above is not related to Capstone at all.
To test if your code works, please disassemble a single mov
instruction with it and check it.
Unfortunately, we cannot help debugging your code, if the problem is not Capstone related.
// 48 8D 15 XX XX XX XX 48 89 C7
// LEA RDX, [rip+0x1234]
// MOV RDI, RAX
std::vector<uint8_t>{
0x48, 0x8D, 0x15, 0x00, 0x00, 0x00, 0x00, // LEA RDX, [rip+0x1234]
0x48, 0x89, 0xC7 // MOV RDI, RAX
};
result:
Instruction 0x1000: lea rdx, [rip]
Instruction 0x1007: mov rdi, rax
The mov
instruction from above has no immediate operand. It uses only a register. So it won't enter the if
statement.
can you give me example code it'd really help
cstool -d x32 \xbb\x00\x00\x00\x00
0 bb 00 00 00 00 mov ebx, 0
ID: 460 (mov)
Prefix:0x00 0x00 0x00 0x00
Opcode:0xbb 0x00 0x00 0x00
rex: 0x0
addr_size: 4
modrm: 0x0
disp: 0x0
sib: 0x0
imm_count: 1
imms[1]: 0x0
op_count: 2
operands[0].type: REG = ebx
operands[0].size: 4
operands[0].access: WRITE
operands[1].type: IMM = 0x0
operands[1].size: 4
Registers modified: ebx
@Rot127 do you have discord by any chance ?
do you have discord by any chance ?
No. But I close this issue for now, because it doesn't show that something is broken in Capstone. If you find later, that Capstone gives incorrect instruction details, you can of course open a new issue.
App:
(it doesnt log anything to output)