void CurrentIpAddress(int *b){
int a = 0;
__asm{
mov eax,[ebp+4];
mov a,eax;
}
*b = a;
}
int a = 0;
CurrentIpAddress(&a);
block:
cout << "EIP := " << a << endl;
cout << "我已经执行过了!" << endl;
__asm{
call a;//correct
//jmp a;//error
}
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 8589764
我已经执行过了!
EIP := 85897^C