src sub_408678 可能是你的工具给地址 408678 的标签
[esp+0x35] 目标是一个指向 32 位值的指针
它可以从 0x0 到 0xffffffff
所以在执行这条指令后00401234 mov dword [esp+0x35], sub_408678
[esp+0x35 将指向 0x408678
在高级构造中,这将是
<sometype *>foo ; // here sometype can be int,long,in your cse function_ptr etc
foo = &blah
示例代码和反汇编
unsigned long global = 0xdeadbeef;
int main (void) {
unsigned long *foo;
foo = &global;
return *foo;
}
拆卸
:\>cdb -c "uf ptr!main;q" ptr.exe | awk "/Reading/,/quit/"
0:000> cdb: Reading initial command 'uf ptr!main;q'
ptr!main:
01381000 55 push ebp
01381001 8bec mov ebp,esp
01381003 51 push ecx
01381004 c745fc00903c01 mov dword ptr [ebp-4],offset ptr!global (013c9000) <<<<<<<
0138100b 8b45fc mov eax,dword ptr [ebp-4]
0138100e 8b00 mov eax,dword ptr [eax]
01381010 8be5 mov esp,ebp
01381012 5d pop ebp
01381013 c3 ret
quit: