[英]easy way to get opcodes
我知道如何从可执行文件中获取操作码和相应的汇编语法; 但是有一种简单的方法可以单独获取特定汇编指令的操作码,而无需使用相同的程序编写程序,然后手动链接并加载它并对可执行文件执行objdump?
有没有一种简单的方法来查找特定指令的相应操作码?
您可以使用gdb(GNU Debugger)的x / bx命令。
我在这里做了一个教程:
我前一段时间问了一个类似的问题( DOS调试就像32位x86程序集的程序 )。
有人很友好地为我提供了一个自动化脚本来完成这项工作。 您可以点击提问链接,或参考他们在下面提供给我的脚本......
opcode() {
echo $* > tmp.S && nasm tmp.S -o tmp.o && od -x tmp.o
rm -f tmp.o tmp.S
}
希望这可以帮助。
X86操作码和指令参考包含32位和64位x86处理器上的一组指令参考表及其相应的操作码。
我不确定你为什么要操作码。 但是如果它用于漏洞利用开发,你可能已经有了metasploit,它带有一个非常有用的ruby脚本,名为nasm_shell.rb(在tools目录中)。
您键入的每一行都以正确操作码的ascii十六进制表示形式出现。
如果它出于某种其他目的或者您不希望某些重量级工具包(如metasploit)因任何原因而闲置,您可以拔出脚本并安装其依赖项。 它使用Rex并假设安装了nasm。
如果你想调整它,你需要的实际代码只是函数shell.run中的几行
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.