Are you
tired of loosing all your lives when playing your favourite game ???
Game
Sniffer is the answer !!!
Please,
read the file LICENSE.TXT. This file will instruct you about the usage terms of
this software.
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.
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.
At the
time Game Sniffer is started, a window will allow you to choose an executable
file (.exe).

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:

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:
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.
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.
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.
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 the
previous step until Game Sniffer report to have found a single variable:

Do not
forget to press the Commit button…
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.
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…
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.
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.