 |
Cheat Engine The Official Site of Cheat Engine
|
| View previous topic :: View next topic |
| Author |
Message |
Hieroglyphics I post too much
Reputation: 0
Joined: 06 Dec 2007 Posts: 2007 Location: Your bedroom
|
Posted: Wed Feb 27, 2008 1:32 pm Post subject: [Help] Need Help Making my C++ Trainer! UPDATED LINK |
|
|
I was recently in the progress of making a trainer for Ghost Online in C++, but I am having a few problems.
I need a new source code I think because the trainers that I make with this one only makes .cpp trainers and I would like it to have tickable hacks.
So far with this source code all I can do is change the names, change the addresses, but I do not know how to change the keys to tick them, and how to put tick boxes, borders, and how to add in pointers and scripts. This is the source code that I am using, but can somebody send me a new one please?
This is the link to the old source code, I am at school so it will download from my proxy
+rep if you post a useful source code, and answer my questions!
_________________
Last edited by Hieroglyphics on Wed Feb 27, 2008 5:49 pm; edited 1 time in total |
|
| Back to top |
|
 |
lurc Grandmaster Cheater Supreme
Reputation: 2
Joined: 13 Nov 2006 Posts: 1900
|
Posted: Wed Feb 27, 2008 2:22 pm Post subject: |
|
|
the link doesnt work...
if your doing a GetAsyncKeyState loop then to change keys that u want to check for just change the parameter from whatever it is to the key you want to press
if its RegisterHotKey then in you change the last parameter (lParam) in it:
ATOM Hotkey1 = GlobalAddAtomW(L"F11");
RegisterHotKey( hWnd, Hotkey1, NULL, VK_F11 );
then in the messege loop
case WM_HOTKEY:
switch( HIWORD(lParam) )
{
case VK_F11:
//do w/e
break;
}
or
case WM_HOTKEY:
switch( LOWORD(wParam) )
{
case Hotkey1:
// do w/e
break;
}
.
.
_________________
|
|
| Back to top |
|
 |
HomerSexual Grandmaster Cheater Supreme
Reputation: 5
Joined: 03 Feb 2007 Posts: 1657
|
Posted: Wed Feb 27, 2008 2:47 pm Post subject: |
|
|
To add scripts you have to change the opcodes and everything ito BYTES then inject the bytes into the process using WriteProcessMemory(hooked r0 on my game protection)
Last edited by HomerSexual on Wed Feb 27, 2008 5:06 pm; edited 1 time in total |
|
| Back to top |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Wed Feb 27, 2008 2:59 pm Post subject: Re: [Help] Need Help Making my C++ Trainer! |
|
|
| mrkrishan wrote: | I was recently in the progress of making a trainer for Ghost Online in C++, but I am having a few problems.
I need a new source code I think because the trainers that I make with this one only makes .cpp trainers and I would like it to have tickable hacks.
So far with this source code all I can do is change the names, change the addresses, but I do not know how to change the keys to tick them, and how to put tick boxes, borders, and how to add in pointers and scripts. This is the source code that I am using, but can somebody send me a new one please?
This is the link to the old source code, I am at school so it will download from my proxy
+rep if you post a useful source code, and answer my questions! |
If by tick boxes you mean the control, then: http://msdn2.microsoft.com/en-us/library/bb773173.aspx
Pointers work just as you'd expect, you start with the base one, read it with ReadProcessMemory, add the offset and repeat if needed until done, then just WriteProcessMemory the result.
Injecting your own shit is just writing the bytes with WriteProcessMemory.
Something tells me you're just editing a template with no real idea what you're doing...
|
|
| Back to top |
|
 |
Hieroglyphics I post too much
Reputation: 0
Joined: 06 Dec 2007 Posts: 2007 Location: Your bedroom
|
Posted: Wed Feb 27, 2008 5:52 pm Post subject: |
|
|
I have no idea what you guys are really saying... I just edit source codes so I know nothing about this and I updated the link so as you can see the source is very guided...Can somebody post a download to another source code that is guided, but for a trainer like noobis bot or X or something please?
_________________
|
|
| Back to top |
|
 |
lurc Grandmaster Cheater Supreme
Reputation: 2
Joined: 13 Nov 2006 Posts: 1900
|
Posted: Wed Feb 27, 2008 6:27 pm Post subject: |
|
|
ohh spawntrainers source.
well since its C++ CONSOLE you cannot add buttons,checkbox's, etc.
it uses GetAsyncKeyState so change the parameter from for example: VK_F11 to the key that u want.
Virtual Key List
adding pointers can be done using inline asm (__asm)
same with scripts.
so let me get this straight... you wanna rip spawn's coding and make your own out of his code... wow..
you probly dont know what im talking about all above cuz you dont know C++... yet you want to make a trainer using C++... spawn trainer was messy... i woudnt learn from it, and you wont learn anything by leeching a source then releasing in a different name. Go learn the language instead of asking us to do it for you -.- cuz no one will.
_________________
|
|
| Back to top |
|
 |
Hieroglyphics I post too much
Reputation: 0
Joined: 06 Dec 2007 Posts: 2007 Location: Your bedroom
|
Posted: Wed Feb 27, 2008 6:30 pm Post subject: |
|
|
I am keeping him in the credits, I am still just trying to get the hang of it but all I want to do is update the addys and add in some more. Can you post a link with a source that isnt console and has a GUI?
_________________
|
|
| Back to top |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Wed Feb 27, 2008 6:57 pm Post subject: |
|
|
Quick pointer example, uses pinball, still console. Reads your current score then lets you change it.
edit: and another to show how to work with the assembly.
Don't bother trying with a GUI until you've at least read and understand this or you'll just confuse the shit out of yourself even more so: http://www.winprog.org/tutorial/index.html
| Code: | #include <windows.h>
#include <iostream>
void SetScore(void){
DWORD pid = 0;
HWND gameWindow = NULL;
HANDLE gameProcess = NULL;
DWORD address = 0;
DWORD score = 0;
//yes that's pinball's class name
gameWindow = FindWindow("1c7c22a0-9576-11ce-bf80-444553540000", NULL);
if (!gameWindow){ //didn't find the game
MessageBox(0, "Game process not found.", "Oh shi-", MB_OK);
}
else{ //found it
GetWindowThreadProcessId(gameWindow, &pid);
gameProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
//get the pointer
ReadProcessMemory(gameProcess, (void*)0x01025658, &address, sizeof(address), NULL);
address = address + 0x52; //get the value at 0x01025658 and add the offset to it
//read the current score with out new address
ReadProcessMemory(gameProcess, (void*)address, &score, sizeof(address), NULL);
std::cout << "Current score: " << score << std::endl;
//change it
std::cout << "Enter score: ";
std::cin >> score;
WriteProcessMemory(gameProcess, (void*)address, &score, sizeof(address), NULL);
CloseHandle(gameProcess); //done
}
}
void NOPBalls(void){
DWORD pid = 0;
HWND gameWindow = NULL;
HANDLE gameProcess = NULL;
//not using it in this example, just noping it with no option
//BYTE normal[] = { 0x89, 0x86, 0x46, 0x01, 0x00, 0x00 }; //mov [esi+00000146],eax
BYTE nop[] = { 0x90, 0x90, 0x90, 0x90, 0x90, 0x90 }; //noped
gameWindow = FindWindow("1c7c22a0-9576-11ce-bf80-444553540000", NULL);
if (!gameWindow){
MessageBox(0, "Game process not found.", "Oh shi-", MB_OK);
}
else{
GetWindowThreadProcessId(gameWindow, &pid);
gameProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
std::cout << "She thinks she missed the train to Mars, she's out back counting stars." << std::endl;
WriteProcessMemory(gameProcess, (void*)0x010175B7, &nop, sizeof(nop), NULL);
CloseHandle(gameProcess); //done
}
}
int main(void){
SetScore();
NOPBalls();
return 0;
} |
Last edited by hcavolsdsadgadsg on Wed Feb 27, 2008 7:39 pm; edited 1 time in total |
|
| Back to top |
|
 |
Cx Master Cheater
Reputation: 0
Joined: 27 Jul 2007 Posts: 367
|
Posted: Wed Feb 27, 2008 7:29 pm Post subject: |
|
|
1c7c22a0-9576-11ce-bf80-444553540000
I lol'd.
_________________
armed with this small butterfly net
i will face the world alone
& never be lonely. |
|
| Back to top |
|
 |
hcavolsdsadgadsg I'm a spammer
Reputation: 26
Joined: 11 Jun 2007 Posts: 5801
|
Posted: Wed Feb 27, 2008 7:42 pm Post subject: |
|
|
| Trusting spy++ on that one, works so I guess all is well.
|
|
| Back to top |
|
 |
|
|
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
|
|