怎样动态获取汇编语言指令的机器码

C语言 码拜 9年前 (2015-09-28) 1339次浏览

比如 :mov %eax,%ebx

怎么在C语言中直接获取这条汇编指令的机器码并且将它存在 unsigned long 变量中

类似伪代码》》 unsigned long code = asm(unsigned long,”mov %eax,%ebx);

在此先谢过各位高手。

注:使用GCC 编译器

#1

10分

再这句汇编前面搞个地址比如:

    int a=0;
    __asm ("mov %eax,%ebx");
    int* p = &a;
    p++;
    void* asmP = p;

asmP就是你要的地址

#2

30分

这个最好用反汇编器来做。

网上有很多开源的反汇编器,其中的反汇编行为还可以通过选项参数来定制。

可以参考一下本猫的blog。


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明怎样动态获取汇编语言指令的机器码
喜欢 (0)
[1034331897@qq.com]
分享 (0)