-
-
[旧帖]
[求助]请教Udis86 中的Rep prefix识别问题
0.00雪花
-
发表于:
2015-11-27 16:27
2494
-
[旧帖] [求助]请教Udis86 中的Rep prefix识别问题
0.00雪花
问题是这样子的在Udis86中,可以通过mnemonic来确定操作指令,通过operrand可以确定是哪种寄存器什么的。
但是我有一个问题,那反汇编出来的像rep movsd XX,xx 指令中的rep是怎么判断的?通过结构体中pfx_rep的值吗?如果是通过pfx_rep的值的话,如果有rep指令pfx_rep的值应该为多少呢?请大神赐教~
以下是ud的一个结构体:
class _ud_state {
pointer inp_hook;
pointer inp_file;
BYTE inp_curr;
BYTE inp_fill;
BYTE inp_ctr;
pointer inp_buff;
pointer inp_buff_end;
BYTE inp_end;
BYTE inp_cache[256];
BYTE inp_sess[64];
pointer translator;
LONG insn_offset;
byte insn_hexcode[64];
pointer asm_buf;
INT asm_buf_size;
INT asm_buf_fill;
byte asm_buf_int[128];
pointer sym_resolver;
BYTE dis_mode;
LONG pc;
BYTE vendor;
int mnemonic;
struct operand[3] = { _ud_operand() };
BYTE error;
BYTE pfx_rex;
BYTE pfx_seg;
BYTE pfx_opr;
BYTE pfx_adr;
BYTE pfx_lock;
BYTE pfx_str;
BYTE pfx_rep;
BYTE pfx_repe;
BYTE pfx_repne;
BYTE default64;
BYTE opr_mode;
BYTE adr_mode;
BYTE br_far;
BYTE br_near;
BYTE implicit_addr;
BYTE have_modrm;
BYTE modrm;
BYTE primary_opcode;
pointer user_opaque_data;
pointer itab_entry;
pointer le;
};
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!