Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
void main()
{
// Spiel via OpenProcess() starten
// ...
// Pointer auf die Adresse
// Du müsstest wissen ob der Wert in einem int, unsigned, short, etc. gespeichert wird
int *targetAddr = (int*)0x07250340;
// Endlosschleife
for(;;)
{
// Prüfen ob sich der Wert geändert hat
// Schlimmstenfalls bekommst du hier eine "Access violation", wenn sich die Adresse wieder geändert hat
if(*targetAddr != 4)
*targetAddr = 4; // Der neue Wert
// Gegen CPU-Überlastung
Sleep(10);
}
}
Testweise könntest du auch einfach mal sowas machen:
PHP:void main() { // Spiel via OpenProcess() starten // ... // Pointer auf die Adresse // Du müsstest wissen ob der Wert in einem int, unsigned, short, etc. gespeichert wird int *targetAddr = (int*)0x07250340; // Endlosschleife for(;;) { // Prüfen ob sich der Wert geändert hat // Schlimmstenfalls bekommst du hier eine "Access violation", wenn sich die Adresse wieder geändert hat if(*targetAddr != 4) *targetAddr = 4; // Der neue Wert // Gegen CPU-Überlastung Sleep(10); } }
#include <iostream>
void main()
{
// Spiel via OpenProcess() starten
// ...
// Pointer auf die Adresse
// Du müsstest wissen ob der Wert in einem int, unsigned, short, etc. gespeichert wird
int *targetAddr = (int*)0x067425D8;
// Endlosschleife
for(;;)
{
// Prüfen ob sich der Wert geändert hat
// Schlimmstenfalls bekommst du hier eine "Access violation", wenn sich die Adresse wieder geändert hat
if(*targetAddr != 0)
*targetAddr = 1; // Der neue Wert
// Gegen CPU-Überlastung
}
}
int main()
{
HWND hwnd = GetConsoleWindow();
MSG message;
while (GetMessage(&message, NULL, 0, 0))
{
TranslateMessage(&message);
DispatchMessage(&message);
}
}
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_CREATE:
{
SetTimer(hwnd, 1, 50, NULL); // Alle 50 Millisekunden
break;
}
case WM_TIMER:
{
if (LOWORD(wParam==1)) // Timer-ID
{
// Variable setzen
}
break;
}
default:
return DefWindowProc(hwnd, message, wParam, lParam);
}
}
int main()
void main()
return 0;
void main()
int main()
@PainMaker: Ja das wäre auch eine mögliche Lösung. Aber seit wann ist Sleep gegen CPU-Auslastung, im Gegenteil es verursacht noch mehr Rechenarbeit.
MSDN hat gesagt.:This function causes a thread to relinquish the remainder of its time slice and become unrunnable for an interval based on the value of dwMilliseconds.
#include <windows.h>
#include <stdio.h>
#include <iostream>
using namespace std;
int main()
{
cout << " Tool\n\n";
bool beenden=1;
while(beenden=1)
{
cout << "Was willst du tun?\n\n\n 0=Beenden \n 1=Minimale Spielerzahl\n 2=Maximale Spielerzahl \n";
int eingabe=0;
cin>>eingabe;
if(eingabe==0)
{
return 0;
}
cout << "Suche Modern Warfare 2 \n";
HWND window = NULL;
while(window == NULL)
{
Sleep(100);
window = FindWindow(NULL, "Modern Warfare 2");
}
DWORD prozess;
GetWindowThreadProcessId(window, &prozess);
HANDLE handle;
handle = OpenProcess(PROCESS_ALL_ACCESS, FALSE, prozess);
DWORD puffer = NULL;
switch(eingabe)
{
case 1:
cout << "\n neuer wert minimum Spieler ? ";
int wert;
cin>>wert;
WriteProcessMemory(handle,(void*)(0x0645C3F8),&wert,6,&puffer); // das ändert mit das spiel immer wieder sobalt ich etwas im spiel mache
cout << "\n Schreibe ... \n";
break;
case 2:
cout << "\nneuer wert maximum Spieler ? ";
int wert2;
cin>>wert2;
WriteProcessMemory(handle,(void*)(0x0645C408),&wert2,6,&puffer); // das ändert mit das spiel immer wieder sobalt ich etwas im spiel mache
cout << "\n Schreibe ... \n";
break;
}
CloseHandle(handle);
}
return 0;
}