There is no GhostMgr. It is called BasicPlayerInformation.
BasicPlayerInformation is a pointer to a struct.
To all People who thinks am a leecher,hate me,are jelly from me....
Refer to this thread...
https://www.mpgh.net/forum/232-crossf...stop-hate.html
There is no GhostMgr. It is called BasicPlayerInformation.
BasicPlayerInformation is a pointer to a struct.
[[SeXergy]] (01-02-2012)
make it like Cfhackerfree but change
DWORD GhostMgr = *(DWORD*)(CShell + 0xA021F8);
and it work!
I use patterns
ok thanks for replies everyone, but look at this code:
The messagebox shows up, saying that the GhostMgr is NULL. Therefore, the hack will do nothing. Why is it null?Code:void doHack() { DWORD CShell = NULL; DWORD GhostMgr = NULL; while(CShell==NULL) { CShell = (DWORD)GetModuleHandleA("CShell.dll"); Sleep(100); } GhostMgr = *(DWORD*)(CShell + 0xA021F8); bool SeeGhosts = true; if(GhostMgr == NULL) { MessageBoxA(NULL, "cGhostMgr == NULL", "Error", MB_OK); } while (1) { if(SeeGhosts) { if(GhostMgr != NULL) { *(float*)(GhostMgr + 0x88) = 300.0f; *(float*)(GhostMgr + 0x8C) = 300.0f; *(float*)(GhostMgr + 0x90) = 300.0f; } } Sleep(100); } }
Also, is this correct:
(CShell + 0xA021F8) is a pointer to a DWORD, and the DWORD is a pointer to a float, and the float is the see ghosts value which we set to 300.0f
Dont do Ghost mgr do -> BasicPlayerInfo
SoCode:DWORD BasicPlayerInfo =*(DWORD*)(CShell+0xA021F8);
_corn_ (01-03-2012)
@258456
Ok I understand, thanks heaps for your help!!! (+1) Finally someone who actually reads the question and helps me!!!!!!!! (@Assassin's Creed and @CFhackerfree and others (sorry if I forgot you) are also very helpful)
The hack still doesn't work though. Here is the code, please check:
This code is very simple, and should work.... what am I doing wrong?? I can get none of my hacks to work, there must be a simple solution, and when it is solved, I can start making and releasing hacks!! Can't waitCode:#include <windows.h> void doHack() { DWORD CShell = NULL; while(CShell==NULL) { CShell = (DWORD)GetModuleHandleA("CShell.dll"); Sleep(100); } DWORD BasicPlayerInfo = *(DWORD*)(CShell+0xA021F8); bool SeeGhosts = true; while (1) { if(SeeGhosts) { if(BasicPlayerInfo != NULL) { *(PFLOAT)(BasicPlayerInfo + 0x88) = 300.0f; *(PFLOAT)(BasicPlayerInfo + 0x8C) = 300.0f; *(PFLOAT)(BasicPlayerInfo + 0x90) = 300.0f; } } Sleep(100); } } extern "C" __declspec(dllexport) BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) { if(fdwReason==DLL_PROCESS_ATTACH) { DisableThreadLibraryCalls(hinstDLL); CreateThread(NULL, NULL, (LPTHREAD_START_ROUTINE)doHack, NULL, NULL, NULL); char Msg[] = {'H', 'a', 'c', 'k', ' ', 'b', 'y', ' ', '_', 'c', 'o', 'r', 'n', '_', '\0'}; char Title[] = {'I', 'n', 'j', 'e', 'c', 't', 'e', 'd', '\0'}; MessageBox(NULL, Msg, Title, MB_OK); } return TRUE; // succesful }
Last edited by _corn_; 01-03-2012 at 02:46 AM.
Do you get your injected messange?
No: change your DLL main. Never saw a head like that before.
Does he reach to the mem changes?
Do you get a Xtrap error?
Thanks @~FALLEN~ for helping me
Thanks @Shakai for helping me
Other nice ppl:
@258456
@giniyat101
My usefull posts:
Byte scanner
How to make a logger
Hook example
How to make a memhack base
How to use classes with memhacking
Addie finder
@Brimir Yes, message appears, the funny dllmain bit is because i am using code::blocks.
No Xtrap error.
How do I tell if it reaches the mem changes?
you made a simple mistake..
DWORD BasicPlayerInfo = *(DWORD*)(CShell+0xA021F8);
this line is the one causing the mistake
because you didnt put it in the loop
means it will be executed once and propably will cause BasicPlayerInfo to equal NULL and your code wont execute
so move this line after while(1){
put press thanks first!
[img]https://i43.photobucke*****m/albums/e367/DeteSting/Steam-update.gif[/img]
Assassin's Creed (01-03-2012),_corn_ (01-03-2012)