Hack just for Singleplayer

09/26/2011 20:25 Kolloid#1
Hey,

Ich bin auf der Suche nach einem Hack, den ich nur für den Singleplayer benutzen möchte. Allerdings sind bekannte Hacks wie der Meteor Hack, Serve Hack, Funny Hacks v2 usw. nicht wirklich hilfreich, da auch der Gegner beispielsweise schneller und stärker ist. Lediglich der Meteorhack funktioniert beim Battle Mode im SP; gibt es auch hilfreiche Hacks für den Basic Mode im SP?
Habe wieder neu angefangen zu spielen und möchte zumindest den Singleplayer schneller durchkriegen.

(I'm searchin for an hack which can be used in singleplayer mode, but without givin my enemy the advantages like more speed, strength, froze etc. With the meteor hack for example u can beat the opponent easily in battle mode.. and I need a hack which is usefull for the normal basic mode - sorry for bad english :facepalm:)
09/27/2011 00:01 kurrbis#2
also ich habe mal mit cheatengine den punktestand verändert. Such die Adresse raus, die deine Spiele enthält. Dann freezed du den Wert auf 3 und startest den SP basic mode. lässt den gegener einen punkt machen und du hast gewonnen.
09/27/2011 00:12 Kolloid#3
Hey kurrbis, danke für die schnelle Antwort. Aber kannst du es ganz laienhaft für mich verständlich machen, in dem Gebiet bin ich nämlich absoluter Neuling.
Mit welcher Engine kann ich denn den Punktestand verändern? Und wie sehe ich welche Adresse meine Spiele haben?
09/27/2011 11:58 kurrbis#4
mit cheatengine oder jedem anderen memory scanner. Als erstes suchst du nach 0, dann gewinnste ein Spiel, dann suchste nach 1, dann gewinnst du noch ein Spiel, dann suchst du nach 2, dann starteste ein neues Spiel und suchst wieder nach 0, bis du die richtige Adresse hast. Den Wert der Adresse freezed du dann auf 2 oder 3, musste ausprobieren.

Code:
#include <cstdlib>
#include "windows.h"
#include "Psapi.h"
#include "Tlhelp32.h"
#include <string>
#include <iostream>

using namespace std;


DWORD GetModuleBase(char* lpModuleName, DWORD dwProcessId)
{
   MODULEENTRY32 lpModuleEntry = {0};
   HANDLE hSnapShot = CreateToolhelp32Snapshot( TH32CS_SNAPMODULE, dwProcessId );

   if(!hSnapShot)
      return 0x0;
   lpModuleEntry.dwSize = sizeof(lpModuleEntry);
   BOOL bModule = Module32First( hSnapShot, &lpModuleEntry );
   while(bModule)
   {
      if(!strcmp( lpModuleEntry.szModule, lpModuleName ) )
      {
         CloseHandle( hSnapShot );
         return (DWORD)lpModuleEntry.modBaseAddr;
      }
      bModule = Module32Next( hSnapShot, &lpModuleEntry );
   }
   CloseHandle( hSnapShot );
   return 0x0;
} 


BOOL EnablePriv(char* lpszPriv)
	{
	    HANDLE hToken;
	    LUID luid;
	    TOKEN_PRIVILEGES tkprivs;
	    ZeroMemory(&tkprivs, sizeof(tkprivs));
	     
        if(!OpenProcessToken(GetCurrentProcess(), (TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY), &hToken))
	        return FALSE;
	     
	    if(!LookupPrivilegeValue(NULL, lpszPriv, &luid)){
	        CloseHandle(hToken); return FALSE;
	    }
	     
	    tkprivs.PrivilegeCount = 1;
	    tkprivs.Privileges[0].Luid = luid;
	    tkprivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
	     
	    BOOL bRet = AdjustTokenPrivileges(hToken, FALSE, &tkprivs, sizeof(tkprivs), NULL, NULL);
	    CloseHandle(hToken);
	    return bRet;
	}



int main(int argc, char *argv[])
{
    EnablePriv(SE_DEBUG_NAME);


	std::wstring windowName = L"FantasyTennis";
	HWND windowHandle = FindWindowW(NULL, windowName.c_str());
	DWORD* processID = new DWORD;
	GetWindowThreadProcessId(windowHandle, processID);

	DWORD base = GetModuleBase("FT_Client.exe", *processID);

	HANDLE ftHandle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, *processID); 

	DWORD pointer = base + 0x004792C0;

	SIZE_T bytesRead = 0;

	ReadProcessMemory(ftHandle, (LPCVOID)pointer, &pointer, sizeof(DWORD), &bytesRead);

	pointer = pointer + 0x17C;

        ReadProcessMemory(ftHandle, (LPCVOID)pointer, &pointer, sizeof(DWORD), &bytesRead);

	pointer = pointer + 0x424;
	
	int points = 4;


	while(true)
	{
	  WriteProcessMemory(ftHandle, (LPVOID)pointer, &points, sizeof(int), &bytesRead);

	  Sleep(500);
	}
	
	
    return EXIT_SUCCESS;
}
Bad code, but will do the job. Compile it(maybe you have to update the adresses) and run it. Just join Sp and let the computer make a point and you have won the game.
09/27/2011 14:21 Kolloid#5
Ich versteh so gut wie gar nichts, sorry. Habe nun die Cheat Engine 6.1 runtergeladen und auch das Tutorial angeguckt.. aber irgendwie weiß ich überhaupt nicht was ich machen soll.
Wenn es nicht zu viel Zeit kostet, könntest du dann eine Schritt-für-Schritt Beschreibung machen, was ich nun bei der engine klicken muss? Danke!
09/27/2011 14:31 QPikachuQ#6
oder ein Video xD
09/27/2011 15:53 kurrbis#7
so hier ist das video :
[Only registered and activated users can see links. Click Here To Register...]
09/27/2011 22:58 Kolloid#8
Erstmal danke für's Video. Allerdings ist es bei mir ganz klein und wenn ich's groß macht sieht man rein gar nichts.
Was ich allerdings sehe ist, dass bei dir inder Cheat Engine unten im Feld (bei Active | Description) was zu sehen ist.. wenn ich bei mir auf "select a process to open" klick und dann den FT_Client auswähl steht nur oben "FT-Clien.exe" aber unten ist nichts zu sehen.. und dann kann ich auch nicht auf First Scan klicken weil dann nur 'ne Fehlermeldung kommt.. ich befürchte, ich hab den ganzen Kram immer noch kein Stück verstanden. Youtube hilft mir auch nicht weiter, weil's dort alles recht schnell geht und die davon ausgehen, dass man sich mit der Cheatengine auskennt.
09/28/2011 01:42 kurrbis#9
ich kenn mich mit dem ganzen video machen nicht aus^^ fakt ist, dass ich am ende eine fast 1gb avi datei hatte, die ich dann natürlich konvertieren musste...ich versuchs morgen nochmal in besserer quali zu uppen
09/28/2011 10:17 Kolloid#10
Okay, thanks! :) Wäre auch nett wenn du in 1-2 Sätzen dazuschreiben könntest was genau man wie öffnen muss etc.. aber evtl. erklärt sich das Video ja von selbst. Jedenfalls danke für die Mühe!
09/28/2011 12:53 kurrbis#11
bessere quali :
[Only registered and activated users can see links. Click Here To Register...]
09/28/2011 14:21 Kolloid#12
Schon viel besser, ich kann alles erkennen, aber 2 Probleme gibt's noch:
1.) Damit alles wie bei dir ist habe ich die Cheatengine 6.0 runtergeladen.. da kann ich allerdings FT nicht starten weil der HShield erkannt wird und sich das Spiel sofort wieder schließt
2.) Wenn ich die Cheatengine 6.1 nutze startet zwar das Spiel, allerdings kann ich nur den FT-Client.exe aus dem Fantasy Tennis-ordner öffnen und nicht den "0000065C-FT_Client.exe" (da kommt nämlich nur ne Fehlermeldung) wie bei dir. Außerdem ist bei dir unten dieses "No description" das öffnet sich bei mir gar nicht erst.
09/28/2011 14:42 Naworia#13
1. Open CE.
2. Start a singleplay game.
3. Get 15 - 0.
4. Search 1 in 1-byte
5. Get 30 - 0.
6. Search 2 in 1-byte
7. Get 40 - 0.
8. Search 3 in 1 byte.
9. I think that you got 3 result. Add to table 3 result and change these to 8 and freeze toggle.
10. HF. Match will end with 2 point.
09/28/2011 15:01 Kolloid#14
Also das genaue Problem ist, dass immer die Meldung "Error while opening this process" sobald ich den "0000065C-FT_Client.exe" öffnen möchte.. der Rest steht ja oben.. Jedenfalls kann ich so keinen Scan durchführen weil dann immer die Fehlermeldung "No readable memory found" kommt
09/28/2011 15:21 Naworia#15
You must use CE 6.1 xd