繁体   English   中英

获取操作码的简便方法

[英]easy way to get opcodes

我知道如何从可执行文件中获取操作码和相应的汇编语法; 但是有一种简单的方法可以单独获取特定汇编指令的操作码,而无需使用相同的程序编写程序,然后手动链接并加载它并对可执行文件执行objdump?

有没有一种简单的方法来查找特定指令的相应操作码?

您可以使用gdb(GNU Debugger)的x / bx命令。

我在这里做了一个教程:

http://aimbots.net/tutorials/9276-how-get-op-codes.html

http://aimbots.net/threads/9276-How-to-get-OP-codes

我前一段时间问了一个类似的问题( 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处理器上的一组指令参考表及其相应的操作码。

对于x86,您可以在英特尔手册( 第1部分(AM)第2部分(新西兰) )中查找它们。 不,我不知道为什么手册分为两部分。

我不确定你为什么要操作码。 但是如果它用于漏洞利用开发,你可能已经有了metasploit,它带有一个非常有用的ruby脚本,名为nasm_shell.rb(在tools目录中)。

您键入的每一行都以正确操作码的ascii十六进制表示形式出现。

如果它出于某种其他目的或者您不希望某些重量级工具包(如metasploit)因任何原因而闲置,您可以拔出脚本并安装其依赖项。 它使用Rex并假设安装了nasm。

如果你想调整它,你需要的实际代码只是函数shell.run中的几行

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM