首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从通过dbgeng的DisassembleWide()分解的指令中删除地址

从通过dbgeng的DisassembleWide()分解的指令中删除地址
EN

Stack Overflow用户
提问于 2014-12-18 10:24:19
回答 1查看 65关注 0票数 0

我正在通过将它们的偏移量传递给DisassembleWide()函数来分解指令,同时为Windbg编写一个扩展。但是,在解压缩指令中,它为该指令添加指令+十六进制操作码的地址。

我能够通过在DEBUG_ASMOPT_NO_CODE_BYTES中指定SetAssemblyOptions()标志来删除操作码。然而,我似乎无法摆脱指令偏移量。DEBUG_ASMOPT_DEFAULT | DEBUG_ASMOPT_NO_CODE_BYTES(DEBUG_ASMOPT_DEFAULT | DEBUG_ASMOPT_NO_CODE_BYTES) & ~DEBUG_ASMOPT_VERBOSE似乎都不起作用。

我是不是遗漏了什么?是否有一种方法,我可以干净地从指令中删除偏移量,还是我必须用手动的方式完成它?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-19 20:32:14

没有地址将永远打印,你必须自己解析出来,如果你是在一个风车会话,你可以用.shell和awk实现这一点。

代码语言:javascript
复制
0:000> .asm no_code_bytes
Assembly options: no_code_bytes
0:000> .shell -ci "u @eip l4" awk "{$1=\"\";print $0}"

 int 3
 ret
 mov edi,edi

 int 3
.shell: Process exited
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27544322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档