所以基本上我使用IDC脚本使用IDA Pro 6.1,windows 32位一一转储指令。PE文件格式
我使用尝试转储一个操作码指令,例如
stosd
stosb
stosq
movsd
这样:
for (addr = funcStart; addr != BADADDR; addr = NextHead(addr, funcEnd)) {
......
auto code;
line = GetDisasm(addr);
mnem = GetMnem(addr);
.......
if (strstr(line, mnem) != 0) {
mnem = line;
}
line = form("%-8s", mnem);
但令我惊讶的是,当遇到这样的操作码指令时,mnem会得到类似的东西
stos
stos
stos
movs
movs
movs
通过检查直接转储的 asm 文件 ** File->Produce File->Create ASM File...**,我发现那些错误说明应该是
stosd
stosd
stosd
movsd
movsd
movsd
这意味着 API GetMnem 生成的结果是错误的...
谁能给我一些帮助?谢谢!