What ‘Game Hacking’ really is ?

Discussions About Anything Civilized, Hacking or Not

Moderators: g3nuin3, SpeedWing, WhiteHat, mezzo

What ‘Game Hacking’ really is ?

Postby WhiteHat » Thu Nov 13, 2008 9:36 pm

That was the question from my friend. He is a smart person, and won’t
get satisfied easily unless others manage to convince his logic..

By then i just realized that i can’t even defined Game Hacking precisely
yet. Silly me... I’ve been searching (=googling) everywhere, but guess
i’m out of luck..

So far, I only believe that ‘game hacking’ is different from ‘cheating’.
Would you guys help me, please ? I’m desperate for good inputs now..

Thank you very much in advance..
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Thu Nov 13, 2008 9:48 pm

“Game hacking” is any nature of reverse-engineering performed on a game.
In this most technical and open-minded definition, this includes simply viewing the RAM or executable file of the game (or its related files) in a hex editor.

Cheating is not related in any way to game hacking. Simply hacking a game makes no implications towards the outcome; it does not imply a cheat will be produced, any game rules will be broken or stretched, etc.

Most of the game hacking I have done was to extract resources from games, such as maps, models, textures, etc.


L. Spiro
Our songs remind you of songs you’ve never heard.
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby WhiteHat » Thu Nov 13, 2008 11:22 pm

Thank you..


L. Spiro wrote:“Game hacking” is any nature of reverse-engineering performed on a game.
In this most technical and open-minded definition, this includes simply viewing the RAM or executable file of the game (or its related files) in a hex editor.

Finally, a good revelation. It makes sense to me.. I think i’m ready now to answer my friend now..


L. Spiro wrote:Cheating is not related in any way to game hacking. Simply hacking a game makes no implications towards the outcome; it does not imply a cheat will be produced, any game rules will be broken or stretched, etc.

Shocking.. All this time i’ve been thinking that i hack games. Even i started with basic game hacking, the next step has always been modifying some values which then broke the game’s rules... And that was considered as cheating..

This is really really bad..

:cry:


L. Spiro wrote:Most of the game hacking I have done was to extract resources from games, such as maps, models, textures, etc.

Funny.. Those are what i’ve been dreaming to do. I was once a junior 3D modeler in a small-local game developer company, and always curious of how professional modelers build theirs..

BTW, how about game bots ?
I often think that bot-ing games is the most difficult level of hacking, thus makes it ultimate hack.. (sounds corny, i admit)
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Fri Nov 14, 2008 9:09 pm

A bot is not a hack. It is usually a cheat, but can classify as other things as well.

Bots are not always made via hacking; some bots can be built purely based off visual data without ever invading the game RAM.

Some bots are very basic, but of all the net results of hacking bots are usually the most advanced. They can be as advanced as the creator is willing (or capable) to make them.

The only types of cheat I like to make are bots. I love seeing the games played at a super-human level, and of course I enjoy the challenge of making the bot understand the game rules, process its environment, and arrive at the proper result more quickly and accurately than any human could. My own personal rule is that the bot/cheat may not in any way bend the rules of the game (which is usually done via memory modification).

My bots are always 100% observe-and-react-based.


L. Spiro
Our songs remind you of songs you’ve never heard.
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby WhiteHat » Tue Nov 18, 2008 2:27 pm

L. Spiro wrote:Bots are not always made via hacking; some bots can be built purely based off visual data without ever invading the game RAM.

I’m guessing this kinda bot includes the one which you mentioned in gamehacking
forum:

You’ve all seen the video of Super Mario Bros.™ 3 being beaten in 11 minutes.
Now you can make a bot that can beat the game in 10 minutes by sending perfectly
timed button presses to the emulator.

Easily make bots to perform the dull routine mouse/key sequences in your favorite
MMORPG games.



L. Spiro wrote:Some bots are very basic, but of all the net results of hacking bots are usually the most advanced. They can be as advanced as the creator is willing (or capable) to make them.

The original idea of my attempt to reverse WarCraft 3 Unit’s structure (the one i
posted in Private Section) was bot-ing the game. I tried to gather some data
which i thought necessary for bot. But then i realized there were lots to do, and
most of them are way beyond my capability...


L. Spiro wrote:My bots are always 100% observe-and-react-based.

Hope i can learn something: In your MineSweeper Bot, which part is observe and
which part is react ?
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Tue Nov 18, 2008 6:21 pm

It observes the game via the extern variables.
Notice how they are used only for reading. This means observation, not modification.

Reaction comes inside the for-loop, where it studies what it observes and decides what action to take, whether it be to click or not to click.


Minesweeper is such a simple game a bot can not do any more than that.
I personally want to make a bot for an FPS game where the bot is capable of playing entirely on its own. It knows how to walk the map, search for items, and of course attack other players and defend itself.
The ultimate bot should know how to dodge all incoming fire and anticipate when people will try to snipe it (if you place the bot in your crosshairs it will jump away immediately).
It should also be able to read and reply to chat messages to some small degree.

The challenge here is obvious. And you could judge your results by how well it played the game. A good bot should play at a super-human level, performing amazing combos, quickly changing to the right weapons even if only to fire one shot before changing to another and firing again, and taking on any number of humans at once while taking little or no damage.

I would make this type of bot if I had the time.


L. Spiro
Our songs remind you of songs you’ve never heard.
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby WhiteHat » Tue Nov 18, 2008 9:04 pm

Wow... Talk about a lot of math involved, and logic too..

Imagine of making a bot for Final Fantasy VII which plays the entire game by itself from the very beginning to the
end... It’s absolutely possible, right ?

Another hope-to-learn-something question: (sorry)
If, for example, you are going to move your character forward, which method is preferable/better ? (in LSS term)
1. Perform some key-pressing to particular key bound to move forward
2. Call the corresponding function along with giving correct parameters
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby L. Spiro » Tue Nov 18, 2008 9:55 pm

It depends on how much precision is needed.

Sending keystrokes is less invasive, but since calling the function directly is not actually modifying things it is still legal, and since it offers faster response it is often better.

For the type of bot I described, I would definitely be calling the in-game functions directly. There is too much lag between the keystrokes for such a detailed and high-precision bot to work. There will normally be several milliseconds between the time it sends the key or mouse movement and the time when the game uses it to update your player position or direction. Between that time, if your bot AI runs again, it is going to see that its position or direction still needs to be changed, and it will send the same keystrokes/mouse movements again.

Once the game gets both mouse movements, the bot will end up looking twice as far to the left as it intended and will aim back next time it runs its AI. But if the same thing happens again then it will again look too far (this time to the right). The result is an infinite cycle of jiggling back and forth, which is probably not a good way to increase its accuracy.

By calling the function directly, of course, you can bypass this mess, and be sure that your bot is positioned and aiming correctly at all times.


L. Spiro
Our songs remind you of songs you’ve never heard.
User avatar
L. Spiro
L. Spiro
 
Posts: 3129
Joined: Mon Jul 17, 2006 10:14 pm
Location: Tokyo, Japan

Postby WhiteHat » Tue Nov 18, 2008 10:39 pm

Thank you very much for the explanation, L. Spiro...
It was very well explained that all make sense to me...

*bow to the master*

(it’s not like i won’t ask something again someday) :p
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby Felheart » Mon Aug 31, 2009 1:06 pm

But L.Spiro,
a bot for the aiming (simple aimbot) and reactions to the aiming of players
(the jumping away) would be ok.

But there are so many different situations in a game.
I don't think anyone can make a bot that never gets hit, that ALWAYS kills
on the very first shot, and always takes it's opponents in account too.

And on another hand, is it even possible play "perfect"?
I say it is definitely not! Imagine a situation where the bot is
surrounded by 10 enemies. Even with a full mag, auto aim, perfect hit
and everything its not possible to win, because of the small amount of time
your bot needs to wait between each shoot.
//edit: I mean the time that the weapon needs to fire the next shot / weapon firing speed: ex: 0.01second

You would have to "cheat" on the game to fire a complete magazine
in virtually no time; wich would defy your view of "observe and react".


Next point is, how would you make the bot walk the map, and search?
Your bot will need to have a "perfect" plan. He would have to estimate
any human players tactics and preferences.


I think all of these problems together are going to be such an immense
problem to overcome that the only possible solution would be to combine
a perfect aimbot with a huge neuronal net.

This would ultimatively result in the same as a human with an aimbot + wallhack.
A good human player with the "common" cheats, is by far the best player
i've ever seen, not fair, but the best ;)
The artificial neuro-net would just try to simulate a "better human".

Unless you have a bullet proof(pun intended) all-around solution for navigating and reacting to human tactics and all that...

I really would like to hear your opinion on that and how you would
go about solving these problems in your bot L. ;)
Felheart
Acker
 
Posts: 89
Joined: Sun Apr 27, 2008 3:05 am
Location: Germany

Postby qjqqyy » Mon Aug 31, 2009 10:27 pm

wolfteam aeriagames said that "hacking" a game is just like playing legit
look at my thread

http://memoryhacking.com/forums/viewtopic.php?t=5066
Made by speedwing

Image
qjqqyy
Been Around More
 
Posts: 396
Joined: Wed Mar 18, 2009 4:12 pm
Location: Singapore GMT+8

Postby WhiteHat » Tue Sep 01, 2009 1:30 pm

@Felheart

Good points there. However, i believe the term ‘perfect player’ was address to simpler game like Mario Bros, Donkey Kong Country, etc which events are predefined...

In one game of Mario Bros, for example, a flying turtle will spawn in certain coordinate when Mario reach certain coordinate too. This is predefined, thus allowing us to perfectly predict when certain bad guys spawn in the whole level so we can make a perfect bot for that level... This is in my understanding, and please correct me if i’m wrong...

As for other question, let’s leave it to L. Spiro... :)
.. to boldly go where no eagle has gone before...
User avatar
WhiteHat
Elang Djawa
 
Posts: 1059
Joined: Fri Jul 21, 2006 12:49 pm
Location: Away for a while...

Postby Felheart » Wed Sep 02, 2009 2:50 am

WhiteHat wrote:@Felheart

Good points there. However, i believe the term ‘perfect player’ was address to simpler game like Mario Bros, Donkey Kong Country, etc which events are predefined...

In one game of Mario Bros, for example, a flying turtle will spawn in certain coordinate when Mario reach certain coordinate too. This is predefined, thus allowing us to perfectly predict when certain bad guys spawn in the whole level so we can make a perfect bot for that level... This is in my understanding, and please correct me if i’m wrong...

As for other question, let’s leave it to L. Spiro... :)


Yes you are totaly right!
In simple console games with very limited to non existant (scripted) AI
it is of course possible to make everytinhg perfect!
Like in Minesweeper you can even make a bot to solve the puzzle
just by observing the already known tiles.
(OkOk just in some very rare cases the game glitches to generate a
tile set wich is not explicitly possible without guessing.)
Felheart
Acker
 
Posts: 89
Joined: Sun Apr 27, 2008 3:05 am
Location: Germany


Return to Social/Unrelated

Who is online

Users browsing this forum: No registered users and 0 guests