Vollständige Version anzeigen : [C/C++] Worms Reloaded Trainer +1


N0S
26.08.2010, 20:20

Worms Reloaded das geilste Spiel 2010 :thumbsup: Da ich kein Bock auf die Singleplayer Kampagne hatte, aber trotzdem gerne mit allen Waffen zocke (Bananenbombe ftw^^) habe ich mir kurz einen Trainer gecoded um das Zeug freizuschalten.

Trainer starten, Spiel starten, F1 drücken und im Laden alles kaufen^^

Funktioniert auch mit der illegalen Version des Spiels...

Source:
#include <stdio;h>
#include <string;h>
#include <windows;h>
#include <tlhelp32;h>

#define PROCESS "WormsReloaded;exe"

//Update 0
/*
00579EE0 8B15 F4619A00 MOV EDX,DWORD PTR DS:[9A61F4]
00579EE6 8B4A 7C MOV ECX,DWORD PTR DS:[EDX+7C]
*/

//Update 2
/*
005D6C50 8B15 64E39B00 MOV EDX,DWORD PTR DS:[9BE364]
005D6C56 8B4A 7C MOV ECX,DWORD PTR DS:[EDX+7C]
*/

#define GAMEPOINTERv0 0x9A61F4
#define GAMEPOINTERv2 0x9BE364
#define MONEYNUM 0x7c

DWORD getProcessByName(char * processName);
bool patchMemory( DWORD pid, DWORD address, DWORD replace );

int main(int argc, char *argv[])
{
printf("Worms Reloaded Trainer +1\n\nF1 - 9999 Money\n\nWhich Worms Update do you have?\n0 = No Update\n1 = Update 2\n");
DWORD pid = 0;
DWORD pointer = 0;
int version;
scanf ("%d",&version);
printf("You selected: ");
if (version == 0)
{
printf("No Update");
pointer = GAMEPOINTERv0;
} else {
printf("Update 2");
pointer = GAMEPOINTERv2;
}

printf("\n\nWaiting for game..;\n");

while (1)
{
if (pid != 0)
{
if ((GetAsyncKeyState(VK_F1)&1)==1)
{
if(patchMemory(pid,pointer,9999))
{
printf("Patch successfull\n");
} else {
printf("Error patch\n");
}
}
} else {
pid = getProcessByName(PROCESS);
if (pid != 0) {
printf("\nGame found\n\n");
}
}

if ((GetAsyncKeyState(VK_F3)&1)==1)
{
break;
}
Sleep(200);
}

return 0;
}

bool patchMemory( DWORD pid, DWORD address, DWORD replace )
{
DWORD rBuf = 0;
DWORD gamePointer = 0;
HANDLE hProcess = OpenProcess(PROCESS_VM_WRITE|PROCESS_VM_OPERATION|PROCESS_VM_READ, NULL, pid);
if(!hProcess) {
printf("Error OpenProcess %u\n",GetLastError());
return 0;
}

BOOL rpmRet = ReadProcessMemory(hProcess,(LPCVOID)address,&gamePointer,4,&rBuf);
if (!rpmRet) {
printf("Error ReadProcessMemory %u\n",GetLastError());
return 0;
}

gamePointer += MONEYNUM;
BOOL wpmRet = WriteProcessMemory(hProcess,(LPVOID)gamePointer,&replace,4,&rBuf);
if (!wpmRet) {
printf("Error WriteProcessMemory %u\n",GetLastError());
return 0;
}

CloseHandle(hProcess);

if (rBuf == 4)
{
return true;
} else {
return false;
}
}

DWORD getProcessByName(char * processName)
{
HANDLE hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
PROCESSENTRY32 pe32;
pe32;dwSize = sizeof(PROCESSENTRY32);

if( !Process32First( hProcessSnap, &pe32 ) )
{
printf("Error getting Process\n");
CloseHandle( hProcessSnap );
return 0;
}

do
{
if(!_stricmp(pe32;szExeFile, processName))
{
CloseHandle(hProcessSnap);
return pe32;th32ProcessID;
}
} while(Process32Next(hProcessSnap, &pe32));

CloseHandle(hProcessSnap);
return 0;
}


binary: Worms Reloaded Trainer +1 (;blog;raidrush~ws/2010/09/13/worms-reloaded-trainer-1/)

Hardware Preisvergleich | Amazon Blitzangebote!

Videos zum Thema
Video Loading...
Alex²
26.08.2010, 20:31

Sehr gut, das kann ich zur Abwechslung sogar praktisch gebrauchen :thumbsup:
Bananen ftw :lol:


xmischax
26.08.2010, 23:43

Du hast doch eher Spaß am Coden für das Spiel als am Spiel selber :D. Wie bist denn eigentlich zu dem Wissen gekommen gibts vielleicht ne gute Quelle, ausser alles selber ausprobieren. Finds echt gut was du für Sachen schaffst ;)


Alex²
27.08.2010, 00:55

Du hast doch eher Spaß am Coden für das Spiel als am Spiel selber :D. Wie bist denn eigentlich zu dem Wissen gekommen gibts vielleicht ne gute Quelle, ausser alles selber ausprobieren. Finds echt gut was du für Sachen schaffst ;)

Ich denke im groben ist es immer das selbe. Man sucht sich die entsprechenden Werte und schaut wie man sie verändern muss (wahrscheinlich durch vergleichen). Die Syntax in C hat man wahrscheinlich relativ schnell drin, gewisser Maßen ist das ja ein Muster.


N0S
27.08.2010, 18:10

Ich denke im groben ist es immer das selbe. Man sucht sich die entsprechenden Werte und schaut wie man sie verändern muss (wahrscheinlich durch vergleichen). Die Syntax in C hat man wahrscheinlich relativ schnell drin, gewisser Maßen ist das ja ein Muster.
Also ich hab bisher 3 Trainer hier gepostet und alle Trainer unterscheiden sich. Mit Copy/Paste kommt man also nicht wirklich weit, wenn man was eigenes erstellen will. Übrigens finde ich C schwerer als Assembler...

Wie bist denn eigentlich zu dem Wissen gekommen gibts vielleicht ne gute Quelle, ausser alles selber ausprobieren;
Ich habe Game Hacking nie speziell gelernt, es ist eben ein netter Nebeneffekt wenn man andere Dinge kann.
Ich habe aber schon ein paar Tutorials zu diesem Thema gesehen. Du kannst dir auch einfach mal CheatEngine runterladen, dass hat einen sehr guten praktischen Anfänger Tutorial integriert.

Für das Ding hab ich insgesamt maximal 10min gebraucht... Worms spiele ich schon etwas länger^^


Alex²
27.08.2010, 18:48

Also ich hab bisher 3 Trainer hier gepostet und alle Trainer unterscheiden sich. Mit Copy/Paste kommt man also nicht wirklich weit, wenn man was eigenes erstellen will. Übrigens finde ich C schwerer als Assembler..;

Das wollte ich damit auch nicht sagen, aber es ist so, dass bestimmte Elemente wiederkehrend sind. Prozess öffnen, Wert ändern etc. Von Copy & Paste habe ich nie gesprochen.


N0S
13.09.2010, 21:08

Unterstützung für Update 2 hinzugefügt und die exe gibt es nun im Blog: Worms Reloaded Trainer +1 (;blog;raidrush~ws/2010/09/13/worms-reloaded-trainer-1/)


Ähnliche Themen zu [C/C++] Worms Reloaded Trainer +1
  • [PC] Worms reloaded kaum schaden
    hi leute hab nen worms reloaded problem wafen machen max 1-2 schaden hab schon in anderen foren gelesen dass dies an der tatsache liegt dass das spiel gecrackt is gibt es schon lösungen für geckrackte versionen ? mfg dome [...]

  • [PC] worms reloaded ruckelt
    Hallo RR'ler Ich habe mir worms reloaded gezogen und wollte das gleich mal spielen doch schon bei der Vorschau und im Menü ist das Spiel heftig am ruckeln ich klicke irgend wo drauf und 3 oder 4 Sekunden später reagiert er erst hab schon neu installiert aber das bringt nichts -Win7 -4 gb ram -g [...]

  • [PC] Worms Reloaded Problem
    Hallo Leutz habe wir im Topic schon erwähnt schwierigkeiten Worms Reloaded zum starten. Problem ist, wenn ich es starte kommt das Team 17 Logo und ab dann kommt die Hand (Mauszeiger) und ab da laggt alles mit geschätzten 3 fps Mein Grafikkartentreiber ist Up2Date Mein DirectX ebenfalls [...]

  • Worms Reloaded
    ;;0;xup~in/exec/ximg;php?fid=11914143 Nach einigen 3D-Versuchen hat der Entwickler Team 17 wohl eingesehen: Die wahre Heimat für ihre gewaltverliebten Würmer ist die flache Welt der zwei Dimensionen. Und so kehrt die Serie nach fast 10 Jahren mit Worms Reloaded auch auf dem PC zur 2D-Traditi [...]



raid-rush.ws | Imprint & Contact pr