ich hab nen Trainer für S4 League geschrieben, in C++.
S4 League wird durch XTrap geschützt, die Folge:
man kann keine Values per Cheat Engine finden (zumindest auf x32) und man
bekommt den Process Handle von S4 League nicht (Errorcode 5).
Da aber jemand in der S4 League Section einen Trainer in AutoIt geschrieben
hat, der auch auf x32 funktioniert, habe ich mir den Sourcecode von ihm besorgt
und ihn gefragt wie er es hingkrigt hat. Er sagte mir, dass er den Trainer vor
dem Start von S4 League startet und sobald S4 startet ändert sein Trainer die
Values, weil XTrap.xt ungefähr 1 Sekunde nach S4Client.exe gestartet wird.
Da hab ich mir gedacht, dass ich es auch so mache und mir sobald S4 offen ist
den Window Handle, dann die Process Id und schließlich den Process Handle hole,
um mit ReadProcessMemory und WriteProcessMemory das Value zu verändern.
Jedoch kommt beim Process Handle immernoch Errorcode 5 und ich wieß nicht woran das liegt.
English version
Hier mal der Source.
Here's the sourcecode.
PHP Code:
#include <windows.h>
#include <iostream>
using namespace std;
int main()
{
float a;
cout << "Type in the value! " << endl;
cin >> a;
HWND hwnd;
do
{
hwnd = FindWindow(0,L"S4 Client");
Sleep(10);
} while(!hwnd);
cout << "Windowhandle: " << hwnd << endl;
DWORD Id;
GetWindowThreadProcessId(hwnd,&Id);
if(!Id)
{
cout << "Process ID not found! Errorcode : " << GetLastError() << endl;
}
else
{
cout << "Process ID: " << Id << endl;
HANDLE ProcessHandle;
ProcessHandle = OpenProcess(PROCESS_ALL_ACCESS ,FALSE,Id);
if(!ProcessHandle)
{
cout << "Process Handle not found! Errorcode : " << GetLastError() << endl;
}
else
{
cout << "Process Handle: " << ProcessHandle << endl;
unsigned adress = 0x00C334A8;
float value = 3000;
ReadProcessMemory(ProcessHandle, (void*)adress, &value, 4, NULL);
WriteProcessMemory(ProcessHandle,(LPVOID)adress,&a ,sizeof(float),NULL);
cout << "Finished " << endl;
}
cin.get();
}
}
Please consider I'm a totally beginner with C++.
Ich hoffe, ihr könnt mir helfen.
I hope you can help me.








