PVirtualMachine lvm = ghook.init(&ghook); //sizeof(TStringList);//testihook();//SPlog64(2,9); 00007FF64EF1FA7C lea rcx,[_ghook (07FF64F0AD359h)] 00007FF64EF1FA83 call qword ptr [_ghook+148h (07FF64F0AD4A1h)] 00007FF64EF1FA89 mov qword ptr [lvm],rax lvm->g1m(lvm); 00007FF64EF1FA8D mov rcx,qword ptr [lvm] 00007FF64EF1FA91 mov rax,qword ptr [lvm] 00007FF64EF1FA95 call qword ptr [rax+405Ch]
注意,第一個是直接把地址給了rcx,_ghook其實是這樣聲明的地址標記指針
_ghook: ghook TIHooKing <> gvm dq 0
第二個lvm就是lvm變量了。code
gook.init代碼是是這樣的it
_finit proc ;initialze task push rbp mov rbp,rsp lea rax,_gvm mov gvm,rax leave ret _finit endp
而_gvm其實是另外一個標記:class
_gvm: gvm tvm <>
因此,這就是指針的含義。test