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 


[Help] Need Help Making my C++ Trainer! UPDATED LINK

 
Post new topic   Reply to topic    Cheat Engine Forum Index -> General programming
View previous topic :: View next topic  
Author Message
Hieroglyphics
I post too much
Reputation: 0

Joined: 06 Dec 2007
Posts: 2007
Location: Your bedroom

PostPosted: Wed Feb 27, 2008 1:32 pm    Post subject: [Help] Need Help Making my C++ Trainer! UPDATED LINK Reply with quote

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
View user's profile Send private message AIM Address MSN Messenger
lurc
Grandmaster Cheater Supreme
Reputation: 2

Joined: 13 Nov 2006
Posts: 1900

PostPosted: Wed Feb 27, 2008 2:22 pm    Post subject: Reply with quote

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
View user's profile Send private message
HomerSexual
Grandmaster Cheater Supreme
Reputation: 5

Joined: 03 Feb 2007
Posts: 1657

PostPosted: Wed Feb 27, 2008 2:47 pm    Post subject: Reply with quote

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
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Wed Feb 27, 2008 2:59 pm    Post subject: Re: [Help] Need Help Making my C++ Trainer! Reply with quote

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
View user's profile Send private message
Hieroglyphics
I post too much
Reputation: 0

Joined: 06 Dec 2007
Posts: 2007
Location: Your bedroom

PostPosted: Wed Feb 27, 2008 5:52 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address MSN Messenger
lurc
Grandmaster Cheater Supreme
Reputation: 2

Joined: 13 Nov 2006
Posts: 1900

PostPosted: Wed Feb 27, 2008 6:27 pm    Post subject: Reply with quote

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
View user's profile Send private message
Hieroglyphics
I post too much
Reputation: 0

Joined: 06 Dec 2007
Posts: 2007
Location: Your bedroom

PostPosted: Wed Feb 27, 2008 6:30 pm    Post subject: Reply with quote

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
View user's profile Send private message AIM Address MSN Messenger
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Wed Feb 27, 2008 6:57 pm    Post subject: Reply with quote

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
View user's profile Send private message
Cx
Master Cheater
Reputation: 0

Joined: 27 Jul 2007
Posts: 367

PostPosted: Wed Feb 27, 2008 7:29 pm    Post subject: Reply with quote

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
View user's profile Send private message
hcavolsdsadgadsg
I'm a spammer
Reputation: 26

Joined: 11 Jun 2007
Posts: 5801

PostPosted: Wed Feb 27, 2008 7:42 pm    Post subject: Reply with quote

Trusting spy++ on that one, works so I guess all is well.
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 programming 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