Cheat Engine Forum Index Cheat Engine
The Official Site of Cheat Engine
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 


Pointer scann 3395 results

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking
View previous topic :: View next topic  
Author Message
xpolhecx
How do I cheat?
Reputation: 0

Joined: 08 Mar 2012
Posts: 4

PostPosted: Fri Mar 09, 2012 9:31 am    Post subject: Pointer scann 3395 results Reply with quote

Hello folks Smile

I was playing around with CE and trying to find static address for some rFactor telemetry data. I noticed that address changes every time i restart game. I done pointer scan every time and now i have 3395 results in my list. Can someone explain how can i get base address because its written in this form: "rFactor.exe"+0058161C

Why every address starts with 00? Where are the first two bits? Are they part of rFactor.exe proccess ID? I always get green result but its not static address. But last four bits are always the same xxxx7E7C



Screen 00459.png
 Description:
 Filesize:  84.44 KB
 Viewed:  14118 Time(s)

Screen 00459.png




Last edited by xpolhecx on Fri Mar 09, 2012 9:52 am; edited 2 times in total
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Fri Mar 09, 2012 9:51 am    Post subject: Reply with quote

the base address is : rFactor.exe"+0058161C
0058161C :: 00 is just a zero extension
you could write it like this: rFactor.exe"+58161C
since the address changes every restart
you cant just take an address as a base address
you need a pointer that will always point at that point not necessarily at that address ... because at that address there might be another point ... not the point you need
i hope you got it ...
just write rFactor.exe"+0058161C as base address

_________________
... Fresco
Back to top
View user's profile Send private message
xpolhecx
How do I cheat?
Reputation: 0

Joined: 08 Mar 2012
Posts: 4

PostPosted: Fri Mar 09, 2012 10:00 am    Post subject: Reply with quote

How can i replace integer with this address "rFactor.exe"+12345678

This is how i use it in VC++

Code:
int save_ram_value;
int ram_ddress = 0x12345678;
// int ram_ddress = "rFactor.exe"+0x12345678;
HANDLE ram_handle;

ReadProcessMemory(ram_handle, (LPVOID)ram_ddress, &save_ram_value, (DWORD)sizeof(save_ram_value), NULL);
this->label->Text = save_ram_value.ToString();
Back to top
View user's profile Send private message
Fresco
Grandmaster Cheater
Reputation: 4

Joined: 07 Nov 2010
Posts: 600

PostPosted: Fri Mar 09, 2012 10:16 am    Post subject: Reply with quote

use read process memory rFactor.exe"+0058161C and store the address into a variable
that variable now holds the address of the "base address" pointer at by rFactor.exe"+0058161C
also if you want to make a trainer ... use cheat engine's function it's much easier that any other language.

also if you insist to know what is the address pointed at by rFactor.exe"+0058161C
go in memory viewer
right click .. go to address ... paste rFactor.exe"+0058161C
the top address you see should be the address pointed at by rFactor.exe"+0058161C

_________________
... Fresco
Back to top
View user's profile Send private message
xpolhecx
How do I cheat?
Reputation: 0

Joined: 08 Mar 2012
Posts: 4

PostPosted: Fri Mar 09, 2012 10:33 am    Post subject: Reply with quote

Fresco wrote:
use read process memory rFactor.exe"+0058161C and store the address into a variable
that variable now holds the address of the "base address" pointer at by rFactor.exe"+0058161C
also if you want to make a trainer ... use cheat engine's function it's much easier that any other language.


I understand all that, i just dont know how can i convert "rFactor.exe"+0058161C to int value in C++ so i can use it in my ReadProcessMemory function?

Fresco wrote:
if you want to make a trainer ... use cheat engine's function it's much easier that any other language


Yes i'm making trainer in visual studio. What cheat engine functions are you talking about?
Back to top
View user's profile Send private message
SwaggaJackin'
Master Cheater
Reputation: 2

Joined: 06 Nov 2009
Posts: 304

PostPosted: Fri Mar 09, 2012 10:37 am    Post subject: Reply with quote

Find the base address of the executable and add +0x58161C to it in C++.

Look into Module32First and Module32Next

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684218%28v=vs.85%29.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/ms684221%28v=vs.85%29.aspx

Those should allow you to retrieve the base address (which is what "rFactor.exe" is).

Quote:

Yes i'm making trainer in visual studio. What cheat engine functions are you talking about?


http://forum.cheatengine.org/viewtopic.php?t=549153


Last edited by SwaggaJackin' on Fri Mar 09, 2012 10:44 am; edited 3 times in total
Back to top
View user's profile Send private message
xpolhecx
How do I cheat?
Reputation: 0

Joined: 08 Mar 2012
Posts: 4

PostPosted: Fri Mar 09, 2012 4:50 pm    Post subject: Reply with quote

Thanks it works perfect now Smile Here is the function i use to get application base address in VC++

Code:
int GetModuleBase(LPTSTR lpModuleName, DWORD dwProcessId) {
   MODULEENTRY32 lpModuleEntry = {0};
   HANDLE hSnapShot = CreateToolhelp32Snapshot(TH32CS_SNAPMODULE, dwProcessId);

   if(!hSnapShot) return 0;
   lpModuleEntry.dwSize = sizeof(lpModuleEntry);
   BOOL bModule = Module32First(hSnapShot, &lpModuleEntry);

   while(bModule) {
      if(!wcscmp(lpModuleEntry.szModule, lpModuleName)) {
         CloseHandle(hSnapShot);
         return (int)lpModuleEntry.modBaseAddr;
      }
      bModule = Module32Next(hSnapShot, &lpModuleEntry);
   }
   CloseHandle(hSnapShot);
   return 0;
}


You have to include
Code:
#include <tlhelp32.h>


How to use this function?
Code:
LPTSTR process_name = TEXT("rFactor.exe");
int base_address = GetModuleBase(process_name, proces_id);


How to get process_id from application?
Code:
DWORD proces_id;
array<Process^>^proces_rfactor_test;

try {
   proces_rfactor_test = Process::GetProcessesByName("rFactor");
   proces_id = proces_rfactor_test[0]->Id;
}
catch(...) {
}
Back to top
View user's profile Send private message
fast82
How do I cheat?
Reputation: 0

Joined: 30 Mar 2012
Posts: 1

PostPosted: Fri Mar 30, 2012 6:14 pm    Post subject: Reply with quote

I'm trying to write a similar pgm with Visual C++ 2010 Express and am having problems integrating your code....

My form has a button that will execute this function. From the results I can pull telemetry values and populate the rest of my form. Seems like this function in a DLL would be really nice.
Back to top
View user's profile Send private message
Tomio
How do I cheat?
Reputation: 0

Joined: 30 Oct 2012
Posts: 1

PostPosted: Tue Oct 30, 2012 2:31 am    Post subject: Control rfactor via memory Reply with quote

hello is it possble to control rfactor via memory
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Cheat Engine Forum Index -> General Gamehacking All times are GMT - 6 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group

CE Wiki   IRC (#CEF)   Twitter
Third party websites