HostKube

Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Source] Minesweeper Trainer
10-06-2008, 07:21 AM (This post was last modified: 10-08-2008 02:52 AM by xBPM07x.)
Post: #1
[Source] Minesweeper Trainer
Hello Bytes,

This trainer is for Window's Minesweeper game. In this thread you will find:

1. My trainer.
2. My trainer's source code in C++.
3. Modified .exe with built-in timer freeze.

My trainer is a simple one, all it does is NOP the 2 addresses that increase the timer. I also used OllyDbg to modify the original .exe so the timer does not increase, so you can replace it with your old .exe and never worry about time again! Try to learn something from it, eh?

Trainer source:

Code:
//Include everything needed
#include <iostream>
#include <windows.h>
#include <tlhelp32.h>
#include <conio.h>

using namespace std;

//Declare NopAddress
bool NopAddress(const char * ProcessName, LPVOID MemAddress, int NewVal, int size);

int main () {
    
    //Set the window title
    SetConsoleTitle("Minesweeper Timer v0.1 - xBPM07x");
    
    //Create the introduction screen
    cout << "" <<endl ;
    cout << " +++++++++++++++++++++++++++++++++++++++++++++" <<endl ;
    cout << " +    Application Type:    Trainer           +" <<endl ;
    cout << " +    Target Game:         Minesweeper       +" <<endl ;
    cout << " +    Programmer:          xBPM07x           +" <<endl ;
    cout << " +++++++++++++++++++++++++++++++++++++++++++++" <<endl ;
    cout << "\n" <<endl ;
    
    if(NopAddress("winmine.exe", (VOID*) 0x1003830, 0x90, 1)) {
        NopAddress("winmine.exe", (VOID*) 0x1002ff5, 0x90, 1);
        cout << " Minesweeper detected, hack success! You can now close this window.\n";
        getchar();
    }
    
    else {
        cout << " Minesweeper was not detected :( Press enter to exit...\n\n";
        getchar();
        return 0;
    }
}

//Define NopAddress
bool NopAddress(const char * ProcessName, LPVOID MemAddress, int NewVal, int size) {
    
     HANDLE hProcessSnap;
     HANDLE hProcess = NULL;
     PROCESSENTRY32 pe32;
     hProcessSnap = CreateToolhelp32Snapshot( TH32CS_SNAPPROCESS, 0 );
     pe32.dwSize = sizeof( PROCESSENTRY32 );
     Process32First(hProcessSnap, &pe32);
    
     do {
         if(!strcmp(pe32.szExeFile, ProcessName)) {
                 hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID);
                 break;
          }
     }
    
     while(Process32Next(hProcessSnap, &pe32));
     CloseHandle( hProcessSnap );
     if(hProcess != NULL) {
                 WriteProcessMemory(hProcess, MemAddress, &NewVal, size, NULL);        
                 CloseHandle(hProcess);    
                 return true;
     }
    
     return false;
}

Trainer download: RapidShare: Easy Filehosting
Modified .exe download: RapidShare: Easy Filehosting

[Image: GHST_Sig.png]

Epic quote: "Posts should be as short as short skirts, short enough to cover enough, not too long that it covers too much."
Visit this user's website Find all posts by this user
Quote this message in a reply
Post Reply 


Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  N3MP [download/source] xBPM07x 10 755 03-01-2008 10:21 PM
Last Post: xBPM07x

Forum Jump:

Contact UsByte ForumsReturn to TopReturn to ContentLite (Archive) ModeRSS Syndication