Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 02:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



ReadProcessMemory

Discussion on ReadProcessMemory within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Jan 2010
Posts: 112
Received Thanks: 564
ReadProcessMemory

Habe ein gutes beispiel für pointer und offsets um internet gefunden doch leider klappt es nur bei dem programm
was auch im video war ich wollte es jetzt mal bei 4story ausprobieren nur leider geht es nicht ( private server )

hier mal das programm
PHP Code:
#include <iostream>
#include <windows.h>
 
using namespace std;
 
//---------------------------------
//Offsets
#define BASE          0x07056A8
#define OFF1       0x42B
#define OFF2           0xAC0
//---------------------------------
 
 
//Andere Sachen die wir noch brauchen
HWND hwnd;
HANDLE handle;
DWORD ID;
LPCTSTR lpWindowName =  L"4Story_GSP";
 
 
bool SetDebugPrivileges();
 
int main(){
 
        
int puffer 0;
        
DWORD rw=0;
 
 
        
//--------- Injection ------------
 
        // Suche Prozess (Runes of Magic)
        
while(!hwnd){
                
cout << "Suche nach dem Prozess und injecte..." << endl;
                
hwnd FindWindow(NULLlpWindowName);
                if(!
hwnd)
                        
printf("\r");
                
Sleep(100);
        }
 
 
 
        
// Prozess-ID besorgen
        
GetWindowThreadProcessId(hwnd, &ID);
        
//Rechte zum auslesen besorgen
        
SetDebugPrivileges();
        
// Prozess ?ffnen mit allen Rechten
        
handle OpenProcess(PROCESS_ALL_ACCESSfalseID);
 
        
//---------------------------------
 
        /*
        An diesem Punkt beginnen wir nun mit dem eigentlichem auslesen aus dem Hauptspeicher
        Ich demonstriere das jetzt mal an der jeweiligen aktuellen HP Zahl
        */
 
        // Struct erstellen
        
int hp;

 
        
int hp_puff 0;
        
int mana_puff 0;
 
        
DWORD baseptr;
        
DWORD pptr;
 
        while(
hwnd)
        {
                
//Hier haben wir nun eine Schleife, die jede Sekunde die HP Zahl ?berpr?ft
                
                // Adresse auslesen
                
ReadProcessMemory(handle, (void*)BASE, &baseptrsizeof(baseptr), &rw);
                
// Player Addy auslesen
                
ReadProcessMemory(handle, (void*)(baseptr+OFF1), &pptrsizeof(pptr), &rw);
                
// Aktuelle und max. HP auslesen auslesen
                
ReadProcessMemory(handle, (void*)(pptr+OFF2), &hpsizeof(hp), &rw);
                
                
// HP ausgeben
                
if(hp != hp_puff)
                {
                        
cout << "Punkte: " << hp <<  endl;
                        
hp_puff hp;
                }
 
                
Sleep(1000);
 
        }
        
        
// Anhalten f?r ?berpr?fung
        
system("pause");
 
        
CloseHandle(handle);
        return 
0;
}
 
bool SetDebugPrivileges()
{
        
HANDLE hToken;
        
TOKEN_PRIVILEGES tokenPriv;
        
tokenPriv.PrivilegeCount 1;
 
        if(!
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
                return 
false;
 
        if(!
LookupPrivilegeValue(NULLSE_DEBUG_NAME, &tokenPriv.Privileges[0].Luid))
                return 
false;
        
tokenPriv.Privileges[0].Attributes SE_PRIVILEGE_ENABLED;
 
        if(!
AdjustTokenPrivileges(hTokenfalse, &tokenPrivsizeof(TOKEN_PRIVILEGES), NULLNULL))
                return 
false;
        return 
true;

das problem ist , das er zwar injectet aber immer ne -8xxxxx zahl rauskomm anstat die 16230 wie in cheat engine :

Evilkingg is offline  
Old 04/29/2011, 23:03   #2
 
elite*gold: 0
Join Date: Apr 2008
Posts: 495
Received Thanks: 817
Quote:
Originally Posted by Evilkingg View Post
Habe ein gutes beispiel für pointer und offsets um internet gefunden doch leider klappt es nur bei dem programm
was auch im video war ich wollte es jetzt mal bei 4story ausprobieren nur leider geht es nicht ( private server )

hier mal das programm
PHP Code:
#include <iostream>
#include <windows.h>
 
using namespace std;
 
//---------------------------------
//Offsets
#define BASE          0x07056A8
#define OFF1       0x42B
#define OFF2           0xAC0
//---------------------------------
 
 
//Andere Sachen die wir noch brauchen
HWND hwnd;
HANDLE handle;
DWORD ID;
LPCTSTR lpWindowName =  L"4Story_GSP";
 
 
bool SetDebugPrivileges();
 
int main(){
 
        
int puffer 0;
        
DWORD rw=0;
 
 
        
//--------- Injection ------------
 
        // Suche Prozess (Runes of Magic)
        
while(!hwnd){
                
cout << "Suche nach dem Prozess und injecte..." << endl;
                
hwnd FindWindow(NULLlpWindowName);
                if(!
hwnd)
                        
printf("\r");
                
Sleep(100);
        }
 
 
 
        
// Prozess-ID besorgen
        
GetWindowThreadProcessId(hwnd, &ID);
        
//Rechte zum auslesen besorgen
        
SetDebugPrivileges();
        
// Prozess ?ffnen mit allen Rechten
        
handle OpenProcess(PROCESS_ALL_ACCESSfalseID);
 
        
//---------------------------------
 
        /*
        An diesem Punkt beginnen wir nun mit dem eigentlichem auslesen aus dem Hauptspeicher
        Ich demonstriere das jetzt mal an der jeweiligen aktuellen HP Zahl
        */
 
        // Struct erstellen
        
int hp;

 
        
int hp_puff 0;
        
int mana_puff 0;
 
        
DWORD baseptr;
        
DWORD pptr;
 
        while(
hwnd)
        {
                
//Hier haben wir nun eine Schleife, die jede Sekunde die HP Zahl ?berpr?ft
                
                // Adresse auslesen
                
ReadProcessMemory(handle, (void*)BASE, &baseptrsizeof(baseptr), &rw);
                
// Player Addy auslesen
                
ReadProcessMemory(handle, (void*)(baseptr+OFF1), &pptrsizeof(pptr), &rw);
                
// Aktuelle und max. HP auslesen auslesen
                
ReadProcessMemory(handle, (void*)(pptr+OFF2), &hpsizeof(hp), &rw);
                
                
// HP ausgeben
                
if(hp != hp_puff)
                {
                        
cout << "Punkte: " << hp <<  endl;
                        
hp_puff hp;
                }
 
                
Sleep(1000);
 
        }
        
        
// Anhalten f?r ?berpr?fung
        
system("pause");
 
        
CloseHandle(handle);
        return 
0;
}
 
bool SetDebugPrivileges()
{
        
HANDLE hToken;
        
TOKEN_PRIVILEGES tokenPriv;
        
tokenPriv.PrivilegeCount 1;
 
        if(!
OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES, &hToken))
                return 
false;
 
        if(!
LookupPrivilegeValue(NULLSE_DEBUG_NAME, &tokenPriv.Privileges[0].Luid))
                return 
false;
        
tokenPriv.Privileges[0].Attributes SE_PRIVILEGE_ENABLED;
 
        if(!
AdjustTokenPrivileges(hTokenfalse, &tokenPrivsizeof(TOKEN_PRIVILEGES), NULLNULL))
                return 
false;
        return 
true;

das problem ist , das er zwar injectet aber immer ne -8xxxxx zahl rauskomm anstat die 16230 wie in cheat engine :

Falsche Offsets.
Auf deinem Bild ist Base = 0x7056A8, Offset1 = 0xAC0 und Offset2 = 0x9C6.

Aber lerne die Sprache doch erst mal anständig, bevor du dich mit Hacks beschaffst, weil durch C&P bringt dir es nicht viel.
MFG
schnewin is offline  
Old 04/29/2011, 23:22   #3
 
elite*gold: 0
Join Date: Jan 2010
Posts: 112
Received Thanks: 564
hmm danke ersmal für die antworte geh aber immer noch nicht

hast ja recht das ich das ersmal lernen sollten ur ich wei nich wo ich anfangen soll ich guck mir einfach mal ein paar sachen an und versuch dann damit zureck zukommen so das ich es zumlaufne kriege wenn ich 1 sache fertig hab mach ich die nächste
Evilkingg is offline  
Reply


Similar Threads Similar Threads
ReadProcessMemory From Lineage II
03/03/2011 - Lin2 Exploits, Hacks, Bots, Tools & Macros - 8 Replies
Hello, This is my second thread, and I hope someone can have some benefit from it. Why do this? well maybe make an status bar to display health,mana, etc or maybe you want to write data to the process, But in this article I show how to read. First of all you need to inculde some files: #include <Tlhelp32.h> to have access to:
[C++] ReadProcessMemory Text?
09/12/2010 - C/C++ - 5 Replies
die frage kommt den pros hier vllt etwas dumm vor, aber ich befasse mich ja erst seit 2 wochen mit c++: ich habe folgenden code: ReadProcessMemory(handle,(LPVOID)address,&text ,sizeof(long),&numBytesRead); cout << hex << text << "\n"; cout << char(text) << "\n"; ich will in einem spiel einen text auslesen. der erste wert in der konsole entspricht dem 4 bytes wert in CE.
ReadProcessMemory, C++ Problem
08/09/2010 - C/C++ - 12 Replies
Hi, ich mach mich gerade ans Memory editing in C++ aber habe nen Problem mit ReadProcessMemory. Hier mal mein Code: #include <iostream> #include <limits> #include <windows.h> using namespace std; int main()
[Request]C# ReadProcessMemory
04/18/2010 - .NET Languages - 2 Replies
Hi epvp coders I need an example for ReadProcessMemory in C# I need a full console application example that explains the ReadProcessMemory (the whole code) In deutsch Hallo epvp Codierer Ich brauche ein Beispiel für ReadProcessMemory in C # Ich brauche ein voller Konsole-Anwendung beispielsweise, dass die ReadProcessMemory (der gesamte Code erklärt)
[delphi] ReadProcessMemory
10/30/2009 - General Coding - 1 Replies
Hey guys, I don't know how to use ReadProcessMemory to get a string. Code: ReadProcessMemory(PHandle,Pointer($3B98D104),@tem ,4,Read); ...:= string(tem); This gives me an error



All times are GMT +1. The time now is 02:16.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.