Game Sniffer

 

Are you tired of loosing all your lives when playing your favourite game ???

Game Sniffer is the answer !!!

1.    License Terms

Please, read the file LICENSE.TXT. This file will instruct you about the usage terms of this software.

2.    What is Game Sniffer

* A tool which allows you to monitor all the memory of another running process in your operating system.

* It allows you to find numeric variables inside the memory of another process.

* It allows you to change the contents of a virtual memory address inside the memory map of another process.

3.    What is the utility of Game Sniffer

Whether a running process is a game, you may manipulate any game variable in order to decrease its difficulty:

*  Number of lives.

*  Energy bars.

*  Time countdowns.

*  Ammunitions, mana, etc.

overview

1.    Selection a file to execute

Choosing a file

At the time Game Sniffer is started, a window will allow you to choose an executable file (.exe).

Ilustración de la seleccion del ejecutable.

Running from the command line

It is also possible to select an executable as an argument to Game Sniffer. For instance:

C:\GameSniffer> gamesniffer countertest.exe

You may create an useful shortcut this way in order to run the same executable every time. For instance:

Ilustración de creación de un acceso directo.

2.    GUI

This control window will allow you to find variables inside the memory of the selected executable. This functionality is provided by those button located in the central area of the window. They will be described later in the tutorial.

The rest of the buttons are intended for:

  1. Hide or show the history window. The history window shows all previous steps while searching for a variable. It also shows a summary of the last memory snapshot.
  2. Hide or show the watches window. Such window will track the given variables at run time. It may be used to change the contents of those variables too.
  3. Pause or resume game. Whether your game can not be paused “by natural means”, this button will freeze it. While freezed, the game will give no response to keyboard and mouse events.
  4. Show license terms. Shows a file instructing about usage terms of Game Sniffer.
  5. This tutorial and help.
  6. Search results. This bar will show the number of variables found in the last memory snapshot which may correspond to your “most wanted” variable.
  7. Hint. It shows a short description of the button which is being pointed.

3.    Starting a new search

The first step in finding a variable is pressing the Start button. This will take a new memory snapshot from the tracked process. The variable which you are looking for must be located somewhere inside that snapshot. However, Game Sniffer will need more information, a variable alignment must be provided. This is the internal format of a numeric variable when stored in memory. The following is a recommendation in order to select the correct alignment:

*  Choose “Byte” whether the intended variable is known to be in the range 0 to 255.

*  Choose “2 bytes word” whether the intended variable is known to be in the range 0 to 65535, or –32768 to 32767.

*  Choose “4 bytes word” in other case.

If you are not sure about the correct alignment, you should try every option one by one.

TUTORIAL

1.    To find a variable whether its value is known

Introduction

Lets suppose that you want to modify a variable which has a known value. For example, the number of lives in your favourite game. Just run such game using Game Sniffer and start playing. Lets suppose you have 3 lives remaining.

*  Presss ALT y TAB (simultaneously) in order to activate Game Sniffer control window.

A first snapshot

NOTE: When needed, press the Pause button to prevent your game to continue running while operating Game Sniffer.

*  Press the Start button.

This will take a first snapshot from your game’s memory. The number of lives must be located somewhere inside that snapshot, but first, you must choose the correct alignment:

*  Select “Byte”.

This will allow to seek any variable in the 0 – 255 range of values. Select “2 bytes word” for values in the range 0 - 65535, or, -32768 and 32767. Select “4 bytes word” in other case.

*  Press the Match button.

*  Enter the number of lives to seek (in this tutorial, 3) and press ENTER.

*  Game Sniffer will show the number of variables which matches that value (look at the top of the control window).

*  Press the Commit button to validate this snapshot.

This action has taken another memory snapshot. But, this time, only those variables storing the value 3 have been tracked. Now open the history window using the corresponding button and look at the top of the window. Game Sniffer has reduced the size of the previous memory snapshot.

This window also shows the number of variables matching the previously entered value. The main idea is to keep reducing those memory snapshots until the desired variable is revealed.

Wait for the wanted variable to change its value

NOTE: Whether you pressed the Pause button, press it again for the game to continue running.

*  Press ALT y TAB again.

Now, keep playing your game until you fail to survive and a life is lost. This is the time to return to Game Sniffer control window:

*  Press ALT y TAB once again.

*  Press the Match button.

*  Now enter the number of remaining lives (in this tutorial, 2) and press ENTER.

*  Game Sniffer will show the number of variables which matches that value (look at the top of the control window).

*  Press the Commit button to validate this snapshot.

Repeat again

Repeat the previous step until Game Sniffer report to have found a single variable:

Do not forget to press the Commit button…

¡¡¡Eureka !!!

The history window will show a new snapshot.

*  Since there is only one variable under the “Last Snapshot” title, just select it.

*  Press the “Add To Watches” button.

Changing the number of lives

Now open the Watches window using the corresponding button. Look at the window, it will show the recently found variable and its value.

*  Select that variable by clicking on it.

*  Change its value by typing it into the central edit box.

*  Press the update button, located to the right of the edit box.

That’s all, folks. You may repeat this step when another change in the number of lives is required. However, this will be unnecessary whether the checkbox provided to the left of the listed variable is properly used…

2.    Finding a variable wheter its value is unknown

Whether such value is unknown (for instance, energy bars) just use the Filter button instead of Match.

Play for a while until the energy bar is decreased, then select filter Smaller values. Sorry, more memory snapshots are required using this feature, but it leads to the same result.

The watches window

 

This window provides the following features:

*  Manually adding a virtual memory address. Press the “+” button.

*  Deleting a watched variable. Select it and press the “-“ button.

*  Deleting all watched variables. Press the “x” button.

*  Saving the watches list to disk. Click over the “disk” button in order to save all listed variables. They will be save inside the same directory as your game’s executable. They will be automatically loaded when starting your game again using Game Sniffer.

*  Refreshing variable values. Will read again all those variables from your game’s memory.

*  Changing the refresh rate. The previous action is automatically repeated in time. Choose the refresh rate in milliseconds or just deactivate this feature.

*  Changing value format for visualization. Will show a value in hexadecimal.

 

© Copyright 2002. Ángel Fernández Pineda.