• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Show map file name when viewing maps you have DL'd / Cheat-packs in maps

Status
Not open for further replies.

~El

Level 17
Joined
Jun 13, 2016
Messages
556
So, recently I have taken a habit of manually inspecting each new map I download off b.net. Just a quick glance at war3map.j with the MPQ viewer. I'm mostly looking for injected cheat packs and the such.

I swear, I come across several new ones (and multiple same ones) each day when I play. B.Net in it's current state is PLAGUED with cheat packs injected into otherwise legitimate maps. This wasn't a huge problem when bots were around - you knew what map you were hosting, what filename it had, and you could at least manually check that the map file was not infested.

Now, you can't. A lot of cheated maps use the same "visual name" as the originals, making it impossible to distinguish in the map list, or in the lobbies. And, when I say I come across multiple of these a day, I really mean it. It's almost like every 3rd lobby hosted has a map like that.

There are complicated solutions to this. But there's also at least one easy one, that'd allow educated users to distinguish between original and hacked maps - showing the actual file name instead of, or together with, the visual name. That way, when hosting a map, I can at least be sure I'm not hosting a hacked one, inviting all sorts of potential mayhem into my game.

Besides, it's really easy to check a map for those cheat packs. Just open it up with Ladik's MPQ viewer, run the W3X scanner, find the script file, and open it. Search for things like

JASS:
GetEventPlayerChatString()
TriggerRegisterPlayerChatEvent(...)
// arrow key events
ConvertPlayerEvent(267)
ConvertPlayerEvent(265)
ConvertPlayerEvent(263)
ConvertPlayerEvent(261)
//
EVENT_PLAYER_END_CINEMATIC
ConvertPlayerEvent(17)

and more often than not, you can find a cheat pack embedded in the source. Some of them are very primitive, i.e. just checking vs an input chat string, some are more convoluted, requiring a certain sequence of key presses, some are heavily obfuscated, but they are all very possible to exploit, given enough work. It usually only takes me about an hour to figure out the most complex ones. An educated mapper/cheater can wreak havoc in all of these maps, if they just know the activator for it.

Ideally, there would be a "verified map" system or something like that, using cryptographic signatures that only a map maker can produce for his own maps, but it would be impossible to retrofit it to existing maps that are no longer developed.

If you're looking for examples, some of the most popular maps on B.Net right now are hosted with hacked versions:
Enfo's MT (both 1.93 and 1.94 version, the version on Hive (1.93) is hacked too)
Aduxxor's Custom Hero Survival (2.7c, though nobody seems to play that anymore, thank god)
HoiHoi's Custom Hero Survival (most version of this are also hacked)
Survival Chaos (encountered 2 hacked versions of this)
Troll and Elves (most versions of this are hacked too)

I imagine there are many more, since I don't really play all that much. RPGs must be most prevalent.

Like I said, it would help immensely for the educated player to be able to distinguish between hacked maps if there was a way to at least see the file name of the map hosted, but right now, if you have legit and hacked versions, there's no way to tell.
 
Status
Not open for further replies.
Top