C/C++中嵌入机器码

xingyun86 2018-6-10 1697

有些时候我们需要加入一些汇编级的代码来完成独特的功能,比较一些加密加壳之类的程序。

如果你也一直使用MICROSOFT的VS编写,可能也知道了C++嵌入式汇编代码的方法

__asm mov eax,ebx

__asm{

mov eax,0

pop eax

}

如此的代码,可是有没有想象如何加入一些机器码,就是执行时就是的二进制代码。别急,其实还是有方法的,也是在其他地方学来的,看来VS的其它功能还是用得少,不曾发现。这就是VC编译器的特有方式,不知道常规的C++语言有没有这样的汇编代码呢?

加入二进制代码

__asm{

__emit 0X90;

__emit 0X90;

__emit 0XEB;

__emit 0X02;

__emit 0X90;

__emit 0X90;

}

使用__emit后面加进制代码,不过只能加一个字节的。


×
打赏作者
最新回复 (0)
只看楼主
全部楼主
返回