First, read a piece of code...
Int main () <br/>{< br/> hwnd window handle = find1_wex (null, null, T ("qqtangwinclass "), T ("qqtang 4.1 beta1 build1"); <br/> If (window handle) <br/>{< br/> ulong process ID; <br/> If (getwindowthreadprocessid (window handle, & process ID) <br/>{< br/> handle hprocess = OpenProcess (process_all_access, false, process ID ); <br/> If (hprocess! = Invalid_handle_value) <br/>{< br/> int to write value =-1903475851; // code through the wall <br/> If (writeprocessmemory (hprocess, (lpvoid) 4956433/* wall-crossing offset */, & to write value, sizeof (to write value), null )) <br/>{< br/> // OK <br/>}< br/> else <br/>{< br/> // err <br/>} <br/> closehandle (hprocess ); <br/>}< br/> else <br/>{< br/> // err <br/>}< br/> else <br/ >{< br/> // err <br/>}< br/> else <br/>{< br/> // err <br/>} <br/> return 0; <br/>}
Obviously, the above Code does not work!
Is there any other way?
Yes, driver injection!
To be continued...