1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
//形式:插入操作码
#include<stdio.h>

int main()
{
_asm {
xor eax, eax;
jz s;
_emit 0x11;
_emit 0x22;
_emit 0x33;//0x33是xor指令的操作码,会导致后面正常的Push指令被错误解析
s:
}
printf("Hello World!\n");
}



1
2
3
4
5
6
7
8
9
10
11
12
//形式:插入改变堆栈平衡的汇编代码
int main()
{
_asm {
xor eax, eax;
jz s;
add esp, 0x11;
s:
}
printf("Hello World!\n");
}
//上面这个花指令测试的时候IDA可以正常识别

//https://bbs.kanxue.com/thread-283122.htm