Home of Gamehacking - Archiv

Normale Version: Warcraft 3 Maphack versuch!
Sie sehen gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
halli hallo hallöle,

Ich versuche mich seid längerem daran ein maphack selber zu schreiben in c++
bin noch anfänger!

ich habe mich bei diesem code and die vorgänger gehalten weil es bei mir erst probleme gab mit dem compiler von MSVS 2010 bin ich auf MSVS Express 2012 umgestiegen.
Okay jetzt zum code oder zum eigentlichen fehler :

SourceCode:


C Code
#include <windows.h>

 

int main()

{

    //Find wc3 windows

    HWND hwar3=::FindWindow(NULL,"Warcraft III")

 

    ;HANDLE hcurrent = GetCurrentProcess();
    HANDLE hToken;
    BOOL bret=OpenProcessToken(hcurrent,40,&hToken);
    LUID luid;
    bret=LookupPrivilegeValue(NULL,"SeDebugPrivilege",&luid);
    TOKEN_PRIVILEGES NewState,PreviousState;

    DWORD ReturnLength;
    NewState.PrivilegeCount =1;
    NewState.Privileges[0].Luid =luid;
    NewState.Privileges[0].Attributes=2;
    bret=AdjustTokenPrivileges(hToken,FALSE,&NewState,28,&PreviousState,&ReturnLength);

 

    DWORD PID, TID;
    TID = ::GetWindowThreadProcessId (hwar3, &PID);
    //Open wc3 process
    HANDLE hopen=OpenProcess( PROCESS_ALL_ACCESS|PROCESS_TERMINATE|PROCESS_VM_OPERATION|PROCESS_VM_READ|
                  PROCESS_VM_WRITE,FALSE,PID);

 

 

    //Write memory
    //02661563   66:B9 0F00 - 0x66 0xB9 0x0F 0x00    MOV DI,0FF

    DWORD data=0x66;
    bret=WriteProcessMemory(hopen,(LPVOID)0x02661563,&data,1,0);
    data=0xB9;
    bret=WriteProcessMemory(hopen,(LPVOID)0x02661564,&data,1,0);
    data=0x0F;
    bret=WriteProcessMemory(hopen,(LPVOID)0x02661565,&data,1,0);
    data=0x00;
    bret=WriteProcessMemory(hopen,(LPVOID)0x02661566,&data,1,0);

 

    //Close handle
    bret=CloseHandle(hopen); 
    return 0;

}



okay ist durchgelaufen ohne probleme wollte dann mal gucken ob ich ihn an denn process anhängen kann (WARCRAFT 3 )und es ging nicht hab mir dann nix bei gedacht und exe erstellt.Habe dann die exe beim spiel gestartet dann kam kurz eine Schwarze console aufgeblinkt  und nix ist passiert (ingame).
kann mir vllt jmd genaueres sagen?

vielen dank für die hilfe schonmal peace out!

Also wenn ich mir das so anschaue dann ist doch die Adresse 0x2661563 dynamisch, aber du tust per WriteProcessMemory statisch drauf zugreifen?!

Zm Code selbst wird wohl Acubra mehr sagen können.
Ansonsten... Was soll denn der "Map Hack" eigentlich anstellen???

grEEtZ iNvIcTUs
(04.02.2016, 22:08)iNvIcTUs oRCuS schrieb: [ -> ]Also wenn ich mir das so anschaue dann ist doch die Adresse 0x2661563 dynamisch, aber du tust per WriteProcessMemory statisch drauf zugreifen?!

Zm Code selbst wird wohl Acubra mehr sagen können.
Ansonsten... Was soll denn der "Map Hack" eigentlich anstellen???

grEEtZ iNvIcTUs

ohh danke für die antwort ja die addresse muss sich nach mehreren malen geändert haben heute hatte sie wieder die gleiche addresse wie sonst naja problem gelöst

du hast view auf alle einheiten siehst sie zwar nicht auf der minimap aber dsa war mir eigentlich erstmal egal!
Hey,
wie iNvIcTUs oRCuS schon meinte. Adressen checken und vor allem die Rückgabewerte der Writeprocess Funktion. Alternativ auch mit Cheat Engine oder Olly gucken ob die Bytes überhaupt geschrieben wurden.
Außerdem solltest du dir nicht über den Fensternamen die ProzessID besorgen, sondern über den Prozessnamen.