


it gets the handle of a specified module. The module has to be loaded by a calling process...so when u do GetModuleHandleA("CShell.dll")..it doesn't load the dll...it gets the handle of the module, when it is called by a process..by handle i mean the memory inside the module..

..correct me if am wrong
@giniyat101 @~FALLEN~DWORD CShell = (DWORD)GetModuleHandleA("CShell.dll");
DWORD pWallMgr = *(PDWORD)(CShell+WallMgr);
DWORD CShell = (DWORD)LoadLibraryA("CShell.dll");
DWORD pWallMgr = *(PDWORD)(CShell+WallMgr);
crossfire.exe loads it..i think the reason @kmanev073 's hack doesn't work for him is because he calls GetModuleHandleA("CShell.dll") before CShell actually loads. The GetModuleHandle function doesn't load CShell..it gets the handle of it when it is loaded..if(GetModuleHandleA("CShell.dll)!=NULL && GetModuleHandleA("ClientFx.fxd") !=NULL)
{
ur hacks here();
}

if(GetModuleHandleA("CShell.dll)!=NULL && GetModuleHandleA("ClientFx.fxd")!=NULL)
{
ur hacks();
}