操作指令?
在汇编语言中,如何使用伪操作来执行指令? 据我所知,汇编文件使用汇编器转换为机器代码。 有没有办法直接使用伪操作从程序集文件本身发送操作码?
例如,如果有一些指令,比如说ADD有一个0101的操作码。有没有一种方法可以使用我们对ADD的操作码0101的了解,只是使用0101从某个存储器位置添加两个寄存器,而不使用ADD指令明确? 我正在寻找黑客,并想知道这一点。
使用间接操作码(从指令中指定的数据位置检索指令字节)在我所知的任何机器语言中都不受支持。 但是你有以下可能性:
你没有指定你正在使用的汇编程序,但是GAS例如有.byte
伪操作来简单地发送一个字节。 请注意,0101是二进制符号,可能不适合汇编程序。 您应该以十六进制指定操作码。
是的,这是可能的,实际上缓冲区溢出或堆栈溢出漏洞如何工作来攻击系统安全。 如果二进制值存储到可执行内存中,它们将作为机器语言指令加载并执行,并且0101将ADD(在您的示例中)。
链接地址: http://www.djcxy.com/p/87133.html