ohio813 / bwhf

Automatically exported from code.google.com/p/bwhf
0 stars 0 forks source link

False Positives "Build Anywhere Hack" #37

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Scan my replays
2. Find 3 replays that say my friend did it against me, and one replay
saying I did it to him, in friendly games.
3. Act confused because I know I don't hack, and I'm pretty sure he wasn't
cheating in friendly test games either. Also wonder what the heck is 'build
anywhere hack' and if it's stacking, why on earth a scanner is needed to
see that.

What is the expected output? What do you see instead?
Negative on hacking. I saw a positive.

What version of the product are you using? On what operating system?
2.50 2009-08-04 Windows XP

Please provide any additional information below.

"-Modified the build anywhere hack detection to recognize more cases."

To the point of ineffectivity, I think.

Original issue reported on code.google.com by ButterMe...@gmail.com on 9 Aug 2009 at 7:35

GoogleCodeExporter commented 9 years ago
Attach the replay here so I can take a look.

Original comment by icz...@gmail.com on 10 Aug 2009 at 11:51

GoogleCodeExporter commented 9 years ago
Sure.

FYI in the games I'm playing mouse only (or no hotkeys, I forget) to give my 
friend a
handicap while we screw around on maps he made. Which means I'm clicking with 
the
mouse a lot. Dunno if that would affect anything.

Original comment by ButterMe...@gmail.com on 10 Aug 2009 at 5:42

Attachments:

GoogleCodeExporter commented 9 years ago
This is a known issue.

The reason for this is that the replay does not have a standard size.
For example width and height of 96 and 128 are standards. If a map has a width 
greater than 96 but less than 128, it is a non-standard size. If you play a 
game on a 
map like this, Starcraft will save the replay with a header info of the map 
being 96 
wide (which is incorrect). Due to this if you try to build to a location 
greater than 
96, BWHF Agent will detect it as a Build anywhere hack.

Maps like this shouldn't be existing. Another example was the Carthage map 
which I 
added to the Agent as an exception.

Is this map famous? Or your own map?

Original comment by icz...@gmail.com on 12 Aug 2009 at 5:59

GoogleCodeExporter commented 9 years ago
This is StarParty's map, who is a very popular map maker. Thank you for the info
about what caused the false positive, but I think your assertion that 
non-standard
sizes in mapping should not be used is silly. To me that would be like saying if
neutral D-webs in maps caused errors in your anti-hack program, they shouldn't 
be
used. The deficiency is with the detector, not with the map.

Original comment by ButterMe...@gmail.com on 12 Aug 2009 at 6:43

GoogleCodeExporter commented 9 years ago
I disagree. Even the specification of the map files states that even though the 
map 
format allows you to use any size for maps, the behaviour is not specified if 
the 
size differs from standard sizes. One unpredicted consequence is that Starcraft 
does 
not record the real map size in the replay header but a standard size instead.

And the use of non-standard sizes is very rare, I would say less than 0.1% of 
maps 
uses non-standard size.

If the map would have a proper name, I could add it as an exception just like I 
did 
with the map Carthage. Instead the map has just the default "Untitled scenario" 
name.

Original comment by icz...@gmail.com on 12 Aug 2009 at 6:57

GoogleCodeExporter commented 9 years ago
We were testing an unfinished map. That's why it's Untitled Scenario. I'm not 
saying
you need to make an exception for a map no one plays, but you need to put in 
some
note... Like an footnote on positives in Build Anywhere hack, that explains if 
the
map size is odd, this particular detection is not reliable. It's not that 
difficult.

Original comment by ButterMe...@gmail.com on 12 Aug 2009 at 7:04

GoogleCodeExporter commented 9 years ago
The problem is that the replay header ALWAYS contains standard size. Even if 
the map 
that the game was played on does not have a standard size. Looking at the 
replay 
headers you can't say whether it was standard size or not.

Original comment by icz...@gmail.com on 12 Aug 2009 at 7:12

GoogleCodeExporter commented 9 years ago
I realise that. So put a footnote declaring that when it's detected.

Well I mean, you don't have to. I'm only suggesting. But that's what I would do 
if I
couldn't think of a way to fix it.

Original comment by ButterMe...@gmail.com on 12 Aug 2009 at 7:23

GoogleCodeExporter commented 9 years ago
I fixed this bug.

"Fixed a bug which returned a false map size if it was a non-standard size (now 
it's 
read from the map data section, the replay header contains wrong value)."

Next version will contain the fix.

Original comment by icz...@gmail.com on 18 Aug 2009 at 6:19

GoogleCodeExporter commented 9 years ago
Nice work :D

Original comment by ButterMe...@gmail.com on 18 Aug 2009 at 6:26