| View previous topic :: View next topic |
| Author |
Message |
xpolhecx How do I cheat?
Reputation: 0
Joined: 08 Mar 2012 Posts: 4
|
|
| Back to top |
|
 |
Fresco Grandmaster Cheater
Reputation: 4
Joined: 07 Nov 2010 Posts: 600
|
Posted: Fri Mar 09, 2012 9:51 am Post subject: |
|
|
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 |
|
 |
xpolhecx How do I cheat?
Reputation: 0
Joined: 08 Mar 2012 Posts: 4
|
Posted: Fri Mar 09, 2012 10:00 am Post subject: |
|
|
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 |
|
 |
Fresco Grandmaster Cheater
Reputation: 4
Joined: 07 Nov 2010 Posts: 600
|
Posted: Fri Mar 09, 2012 10:16 am Post subject: |
|
|
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 |
|
 |
xpolhecx How do I cheat?
Reputation: 0
Joined: 08 Mar 2012 Posts: 4
|
Posted: Fri Mar 09, 2012 10:33 am Post subject: |
|
|
| 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 |
|
 |
SwaggaJackin' Master Cheater
Reputation: 2
Joined: 06 Nov 2009 Posts: 304
|
|
| Back to top |
|
 |
xpolhecx How do I cheat?
Reputation: 0
Joined: 08 Mar 2012 Posts: 4
|
Posted: Fri Mar 09, 2012 4:50 pm Post subject: |
|
|
Thanks it works perfect now 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 |
|
 |
fast82 How do I cheat?
Reputation: 0
Joined: 30 Mar 2012 Posts: 1
|
Posted: Fri Mar 30, 2012 6:14 pm Post subject: |
|
|
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 |
|
 |
Tomio How do I cheat?
Reputation: 0
Joined: 30 Oct 2012 Posts: 1
|
Posted: Tue Oct 30, 2012 2:31 am Post subject: Control rfactor via memory |
|
|
| hello is it possble to control rfactor via memory
|
|
| Back to top |
|
 |
|