• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

Dat Anti Maphack

Status
Not open for further replies.
Can you post the codes?

No point. However here you go.

[trigger=]
Events
Time - Elapsed game time is 1.00 seconds
Conditions
Actions
Animation - Play dummyunits death animation
[/trigger]

I'll have to check later to see how close my pseudo-code is to the real one in that upload.
 
I saw at least one map that wouldnt open even with mpq editor, but that was most likely some field that the mpq readers take into consideration and game doesnt.

If you remove (Listfile), all your files will be called FileXXXXXXXX.yyy, where X are some numbers, and yyy is the extension of the file
 
I saw at least one map that wouldnt open even with mpq editor, but that was most likely some field that the mpq readers take into consideration and game doesnt.

If you remove (Listfile), all your files will be called FileXXXXXXXX.yyy, where X are some numbers, and yyy is the extension of the file

That's called corrupting the MPQ with a hex editor or some program that does it for you. Sadly its easily fixable. However there's one field nobody knows how to fix and that is the size manipulation, I have only seen one map achieve this. I don't know how to do it myself and if I did I couldn't reveal it because its the one technique that keeps a map safe.

Vex's opt automatically does that as well jumble the script making it cleaner and harder to read. This however isn't protection for the map or MPQ, this is so people can't cheat and reveal whole map.
 
you can still open map archive that went through optimizer or widgetizer with absolutly no problem with mpq editor, but there is at least one map that fucks you in the ass if you try to open it with mpq editor, but game can still load it fine. So yeah, there is for sure something hardcoded to the game that the editor nor the mpq editors check for
 
you can still open map archive that went through optimizer or widgetizer with absolutly no problem with mpq editor, but there is at least one map that fucks you in the ass if you try to open it with mpq editor, but game can still load it fine. So yeah, there is for sure something hardcoded to the game that the editor nor the mpq editors check for

Yup, hex editor protection as well some people have made special programs for this too, So far only Koreans and Chinese though. http://www.wc3c.net/showthread.php?t=101586 That is one of them, corrupts the MPQ to the point only WC3 can read it and can only be opened by read only with some MPQ editor's. Encryption surprisingly does exist for WC3, just sadly cheaters got smarter as well to decrypt. =(
 
I thought about implementing this in my map, but I honestly don't want maphackers to crash. In my map, if it takes me 30 min to get a full house, then it would really pain me to see like 4 people just crash. If I do implement this in my map,perhaps it will have a chance of snapping your screen to bottom right and using the animation. But it would only be like 5% of the time... I don't really want to waste time getting a FH then having people crash, then inevitably starting a leave train. If only there was such a simple method to detecting MH that didn't crash them..
 
I thought about implementing this in my map, but I honestly don't want maphackers to crash. In my map, if it takes me 30 min to get a full house, then it would really pain me to see like 4 people just crash. If I do implement this in my map,perhaps it will have a chance of snapping your screen to bottom right and using the animation. But it would only be like 5% of the time... I don't really want to waste time getting a FH then having people crash, then inevitably starting a leave train. If only there was such a simple method to detecting MH that didn't crash them..

There use to be, but then it got countered. Thank the coders who made such a cheap program. Only thing useful I like is visible attack speed numbers and mana bars.

Sadly there is no known way to detect MH besides this. I don't like cheaters and don't like to play with them so I don't really mind the leave trains, its up to the cheaters and their supporters to not cheat. Their fault that they choose to ruin your game, not yours. Besides make functional AI so it doesn't hit as hard as well easier to get FH.
 
Besides make functional AI so it doesn't hit as hard as well easier to get FH.
I actually am working on AI for my map atm ^^ It would definitely help for things like this. I would also love seeing all these people crash and being like, "Hmm... I wonder why THAT happened!" xDD
Their fault that they choose to ruin your game, not yours
I could have this state of mind about it, and it is rather easy to. But I am willing to sacrifice some integrity of my map for playability. It's just not as fun having 8 people as it is having 12. Also, unless I can design my AI well, it will probably weigh down the map considerably is it picks up more toys to play with.
 
This should be stickied. Took me forever to find a map with a corrupted model.
I confirm this works

further testing seems the unit has to be preplaced
 
Last edited:
Well it should never have worked in the first place. If the game was reasonably robust it would have failed loading the model as corrupt instead of crashing when it tries to render it.

It is so stupid that people purposely try to crash WC3.

MH'ing and hacking in general should have never worked in the first place. It is quite stupid that people purposely try to hack. :thumbs_up:

Crashing the game for cheaters is one of the kinder things to do and was the only method left since the cheaters have made workarounds to every other method.

How about using constant native IsFoggedToPlayer takes real x, real y, player whichPlayer returns boolean to where the corrupted model should be? If it is false, purposely crash the map like Player(-1) or something.

MH's can no longer be detected by jass.
 
Modern MH programs are (or should be) overlays so they do not alter the game at all. Warden and other Blizzard anti-hack systems still detect them because they are reading memory from the game and they have certain profiles and signatures of known hack programs.

Custom map makers really should not bother with map hacks as it is not their problem. Hosts and bot owners who are trying to run competitive games should take the responsibility and blacklist/remove such players if detected.
 
no, they cannot. just like any other static protection will fall within few hours.
and no, again, if there's something to do against maphackers, you should do that. there's just no reason to ignore this possibility.

on topic - as I said at the very start, it won't last any long, since it's the same as DotA used ~6-7 years ago
 
If you try to create a lightning in a place that a player has not the visibility, it won't be created.
Maybe you can use that ?
I mean create a lightning where it is supposed to be never visible for each player.
Then check if it was created or not, and make the computer player crash or sync the data to know which players have a maphack activated or not.
 
lightning is created anyway but not rendered. it cannot be handled from current jass. memory exloit would be a big thing tho

I've not tried with a maphack tool but i can confirm that a lighning is not created (== null, GetHandleId == 0) if the place is not visible for the player, i have tested it.
Note that i'm not talking about the current camera view, just if this point is visible for the player.

Now, i don't know what happens with a maphack.
 
So, this doesn't work with maphack ?

An empty map with this only one trigger detect :

JASS:
function Trig_detect_Actions takes nothing returns nothing
    local lightning light=AddLightning("CLPB",true,0,0,0,0)
    if light != null then
        call DestroyLightning(light)
        set light=null
        call BJDebugMsg("maphack detected")
    endif
endfunction

//===========================================================================
function InitTrig_detect takes nothing returns nothing
    local timer tim=CreateTimer()
    call TimerStart(tim,1,true, function Trig_detect_Actions )
endfunction
 

Attachments

So, this doesn't work with maphack ?

An empty map with this only one trigger detect :

JASS:
function Trig_detect_Actions takes nothing returns nothing
    local lightning light=AddLightning("CLPB",true,0,0,0,0)
    if light != null then
        call DestroyLightning(light)
        set light=null
        call BJDebugMsg("maphack detected")
    endif
endfunction

//===========================================================================
function InitTrig_detect takes nothing returns nothing
    local timer tim=CreateTimer()
    call TimerStart(tim,1,true, function Trig_detect_Actions )
endfunction

I don't see how that would work in detecting any MH's nowadays due to overlays and such, about a decade ago that would have been a potential method. Local data of course isn't visible to anyone but the player your displaying it too however some of the mostly private more advanced MH's bypass all methods of JASS detection which is why crashing them cheaters was the last method left until Blizzard ruined/patched another part of WC3.
 
Troll Brain's method seems interesting. Maybe it's worth a try.

how am I still a troll then you jerk!
double door is a method used in java because java code can't be read in encryption.which means protecting our programs are very difficult because when you encrypt the jar file you need to leave the encryption key on the door nob.

pointless.

which is how the double door principle was developed.

create 2 encryption with the encryption key for door one behind door 2. when door one is opened the encryption key changes so that door two can no longer be opened.

it's still possible to hack it but it requires the hacker to know exactly what encryption they used to open door one. which is why it's so effective, because most hackers use a program to decrypt the encryptions. programs that do not reserve the encryption key.
 
TheLordOfChaos201 the problem is that WC3 needs to be able to read the map file. Since WC3 lacks any sophisticated or even vaguely secure encryption I do not see how any of what you said is at all applicable. One cannot make WC3 do something it cannot do.

I do not see what map protection has to do with maphacks since maphacks read from WC3 process memory. Some might even just intercept net traffic.
 
fyi, please read Classic's post about Banhammer for Diablo II :
http://us.battle.net/en/forum/topic/20745035139?page=2#36
" We won't present how or what we detect, because that would only precipitate a solution to our countermeasures. This is a game of cat and mouse. "


I believe Diablo II is currently used as a testbed.
Working solutions will be deployed in time for other games.

Sorry if it is a bit OT.
 
you cant protect client-client games. no way. totally. it HAVE to be client-server game, and noone gonna rebuild wc3. heck, they even have same issue with HotS.

Actually there is quite a lot of protection, just most of it has been destroyed/ruined/wrecked by Blizzard. Client-Server games are terrible due to how close you need to be to your server.
 
Actually there is quite a lot of protection, just most of it has been destroyed/ruined/wrecked by Blizzard. Client-Server games are terrible due to how close you need to be to your server.
take valve's games as example. yeah, theres cheaters too, but not even close comparing to blizz. Thats the difference in budgets of anticheat teams. and, with proper implementation, thee's nothing bad at all. even 3rd world countries playing dota2 just fine, which is completely server-side
 
Status
Not open for further replies.
Back
Top