Valhalla Legends Forums Archive | Battle.net Bot Development | Detecting Maphack in Custom Games

AuthorMessageTime
Mephisto
If I am the game host and I host a custom game is there a way I can judge whether someone used a maphack by reviewing a packet log or some other way?  I have reason to believe someone in my custom game was using a maphack but I don't have any hard proof other than the events which transpired in the game.
April 30, 2005, 7:07 PM
UserLoser.
if they select a unit that isn't visible (i.e. covered by fog of war)
April 30, 2005, 7:23 PM
iago
Which game are we talking about?  Starcraft, Diablo 2, Warcraft 3?  I seem to remember that they all have maphacks.

And yes, UserLoser has the correct solution for Starcraft.  It might work for War3, I can't say for sure. 

Are you talking about a game that already happened, or in general?  It sounds like the game already transpired, by your post, but I can't say for sure.
April 30, 2005, 7:34 PM
UserLoser.
If the game already happened, like iago said, you could review the replay.  The ways replay data for War3 is stored is very similar to the way it's transfered over the network (same format).  All you would have to do is write a tool to read replay data and then see if they select anything in the game action/update message, which if I remember correctly is message 0x0c
April 30, 2005, 7:36 PM
OnlyMeat
[quote author=UserLoser link=topic=11436.msg110585#msg110585 date=1114889810]
If the game already happened, like iago said, you could review the replay.  The ways replay data for War3 is stored is very similar to the way it's transfered over the network (same format).  All you would have to do is write a tool to read replay data and then see if they select anything in the game action/update message, which if I remember correctly is message 0x0c
[/quote]

That will only work if the user of the maphack is naive. Most people know that replays record the click events, so they simply avoid doing this in game.

The only real way to confirm if someone is using a maphack is to create a memory validator program which monitors the client's address space for specific changes. I did a client/server one for starcraft a long time ago.
April 30, 2005, 10:21 PM
iago
[quote author=OnlyMeat link=topic=11436.msg110596#msg110596 date=1114899675]
[quote author=UserLoser link=topic=11436.msg110585#msg110585 date=1114889810]
If the game already happened, like iago said, you could review the replay.  The ways replay data for War3 is stored is very similar to the way it's transfered over the network (same format).  All you would have to do is write a tool to read replay data and then see if they select anything in the game action/update message, which if I remember correctly is message 0x0c
[/quote]

That will only work if the user of the maphack is naive. Most people know that replays record the click events, so they simply avoid doing this in game.

The only real way to confirm if someone is using a maphack is to create a memory validator program which monitors the client's address space for specific changes. I did a client/server one for starcraft a long time ago.
[/quote]

Either everybody would have to be knowingly running it, in which case a clever hacker could just hack the program to show "everything's ok", or they'd be running it without knowing, in which case YOU'RE the one breaking the law.  In either case, you lose.
April 30, 2005, 11:20 PM
raylu
Most custom maps use a way to detect map hackers. You set off a small area that nobody can see and put a unit on it that crashes SC (like independent CC, I think). The map hack will reveal it and crash SC.
May 1, 2005, 12:00 AM
Twix
I dont know how well this works but if u got the replay it checks the replay for any activite that would be caused by cheating [url]http://www.bwchart.com[/url]
May 1, 2005, 1:07 AM

Search