Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > C/C++
You last visited: Today at 11:22

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

Advertisement



Problem mit Pointer auslesen (falscher Wert)

Discussion on Problem mit Pointer auslesen (falscher Wert) within the C/C++ forum part of the Coders Den category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: Apr 2008
Posts: 1
Received Thanks: 0
Question Problem mit Pointer auslesen (falscher Wert)

Hi Leute,
habe mir hier mal ein kleines Test-Script zusammengebaut und versuche seit einiger Zeit Werte aus einem Spiel auszulesen. Leider bekomme ich nie den Wert heraus, den die Adresse eigentlich hat.

Kann mir wer sagen ob ich etwas übersehen habe!?

PHP Code:
#include <iostream>
#include <windows.h>

#include <stdio.h> 
#include <stdlib.h>
#include <TlHelp32.h>
#include <tchar.h>
#include <atlconv.h>
using namespace std;


DWORD dwGetModuleBaseAddress(DWORD dwProcessIdentifierTCHAR *lpszModuleName)
{
    
HANDLE hSnapshot CreateToolhelp32Snapshot(TH32CS_SNAPMODULEdwProcessIdentifier);
    
DWORD dwModuleBaseAddress 0;
    if(
hSnapshot != INVALID_HANDLE_VALUE)
    {
        
MODULEENTRY32 ModuleEntry32 = {0};
        
ModuleEntry32.dwSize sizeof(MODULEENTRY32);
        if(
Module32First(hSnapshot, &ModuleEntry32))
        {
            do
            {
                if(
_tcscmp(ModuleEntry32.szModulelpszModuleName) == 0)
                {
                    
dwModuleBaseAddress = (DWORD)ModuleEntry32.modBaseAddr;
                    break;
                }
            } while(
Module32Next(hSnapshot, &ModuleEntry32));
        }
        
CloseHandle(hSnapshot);
    }
    return 
dwModuleBaseAddress;
}

int main()
{


    
// Fenstername einlesen
    
char windowName[100] = "Game";
    
HWND window FindWindow(0_T(windowName));
    if(
window == 0)
    {
        while(
true)
        {
            
cout << "Fenster \"" << windowName << "\" nicht gefunden!\n";
            
cout << "Gib einen neuen Fenster-Namen ein!\n";
            
cin.getline(windowNamesizeof(windowName));
            
LPCWSTR lpcwstr_string A2BSTR(windowName);
            if(
HWND window FindWindow(0_T(windowName)))
            {
                
cout << "Fenstername: " << windowName << "\n";
                break;
            }
        }
    }
    else
    {
        
cout << "Fenstername:\t" << windowName << "\n";
    }


    
DWORD pID 0;
    
GetWindowThreadProcessId(window, &pID);

    
DWORD baseAddr dwGetModuleBaseAddress(pID_T("Albion-Online.exe"));
    
cout << "pID:\t\t" << pID << " - " << &pID << "\n";
    
cout << "baseAddr:\t" << baseAddr << " - " << &baseAddr << "\n";
    
DWORD staticOffset 0x14fe8ca8;

    
HANDLE handle OpenProcess(PROCESS_ALL_ACCESSFALSEpID);
    
cout << "handle:\t\t" << handle << " - " << &handle << "\n";
    while(
true)
    {
        
DWORD value baseAddr staticOffset;
        
DWORD numBytesRead;
        
ReadProcessMemory(handle, (LPCVOID)value, &valuesizeof(DWORD), &numBytesRead);
        
value += 0x28;
        
ReadProcessMemory(handle, (LPCVOID)value, &valuesizeof(DWORD), &numBytesRead);
        
value += 0x1c;
        
ReadProcessMemory(handle, (LPCVOID)value, &valuesizeof(DWORD), &numBytesRead);
        
value += 0x38;
        
//ReadProcessMemory(handle, (LPCVOID)value, &value, sizeof(DWORD), &numBytesRead);
        //value += 0x710;
        //ReadProcessMemory(handle, (LPCVOID)value, &value, sizeof(DWORD), &numBytesRead);
        //value += 0x38c;
        
float result;
        
ReadProcessMemory(handle, (LPCVOID)value, &resultsizeof(float), &numBytesRead);
        
cout << result << endl;
        
Sleep(5000);
    }
    
CloseHandle(handle);

Triky313 is offline  
Old 12/19/2015, 16:15   #2
 
hazejp's Avatar
 
elite*gold: 0
Join Date: Jan 2015
Posts: 62
Received Thanks: 13
Ich würde sagen, PROCESS_VM_READ reicht für diesen Zweck aus; sollte jedoch nebensächlich sein.
Du solltest evtl. auch die Rückgabewerte von ReadProcessMemory() auf fehlerhafte Adressen überprüfen, da der Wert in lpBuffer im Fall eines solchen Fehlers wahrscheinlich undefiniert ist.
hazejp is offline  
Reply

Tags
auslesen, game, pointer, problem, readprocessmemory


Similar Threads Similar Threads
Pointer unter IOS auslesen
10/07/2014 - General Coding - 1 Replies
Hi leute, kennt ihr irgendeine Möglichkeit Basepointer unter IOS7 aus zu lesen? Also auf Windows kein Problem mit cheat engine, aber unter IOS?
Pointer auslesen!
03/29/2012 - .NET Languages - 14 Replies
Schönen Guten Abend Zusammen, also ich brauche eure Hilfe bei einer Sache. Ich versuche seit Tagen den Wert eines Multi-LvL Pointer mit einer Klasse auszulesen. Doch dies funktioniert nicht. Ich glaube es liegt nicht an der Klasse sondern an dem Aufbau. Wenn ich Wert von Normale Adresse auslesen will funktioniert es ohne Probleme: int bytesread; int memoryaddress = 0x000EA754; - Pastebin.com
Pointer Auslesen
03/24/2011 - General Coding - 4 Replies
Hi Leute Ich habe eine Frage zum Pointer Auslesen In der 4 Story Sektion gab es mal den kdhack Er beinhaltete Den Pointer Auslesen von den Mobs die ich angreife was eigentlich Server Side ist Also daher die Frage
[VB] Pointer in Nostale auslesen
03/12/2011 - Nostale - 1 Replies
Ich frag mal die Programmierer unter euch,die vll nen Plan haben wie ich das hinkrieg. Folgendes Problem : Ich will die Hp Adresse : 007B11A8 mit den beiden Offsets : 4C,AC in VB zum laufen kriegen. Mein Modul(Memory) sieht so aus : Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer Private Declare Function WriteProcessMemory Lib "kernel32" (ByVal hProcess As Integer,...
Pointer herrausgefunden, wie in C++ auslesen?
06/11/2010 - C/C++ - 1 Replies
Hallo, ich habe für ein Spiel den Pointer für den Munitionswert gefunden. Wie kann ich diesen jetzt so verwenden, dass ich mir dessen Wert in C++ anschauen kann? Pointer-Adresse: 015470A8 bisher hab ich es in C++ so versucht: DWORD *thefirst = (DWORD*)(0x015470A8);



All times are GMT +2. The time now is 11:22.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.