| 10-07-2009, 09:30 PM | #1 |
This oughta been asked a million times already, but I need a good way to protect my friend's map. I know that vex's optimizer is great (it really is) but this map has been unprotected several times, easily (no trigger damage). People are probably thinking right now "wtf another noob who wants a protector" and tell me that there's no perfect protection, but he really needs this (it's a popular map and we don't want it in the wrong hands). If you don't got any good tips about a protector other than vex, could you give me some tips on how to protect it with, say, hidden jass code? Like... preventing people from adding more objects, or renaming functions to be completely confusing. All help is appreciated, and I hope I havn't offended you by posting another protector-related thread :/ |
| 10-07-2009, 09:36 PM | #2 |
Vex code optimation will change variable and function names into stupid letters and numbers, and remove all spaces and comments from code. Also it changes the location of the script to scripts/wc3script.j . Thats enough, you don't need more. |
| 10-07-2009, 11:17 PM | #3 |
Can corrupt mpq easily with a hex editor so only wc can read it |
| 10-07-2009, 11:22 PM | #4 |
which the optimizer does already. If wc3 can read it, so can a moron. It is the sad truth. So you can : a) Embrace the problem, make the map too open. b) Try to fix the issues adding magical triggers, will take more work to defuse but if somebody skilled is really interested in doing so, he will. c) Ensure there is only one official place to get your map and tell your players to avoid getting it elsewhere. d) live with it. |
| 10-07-2009, 11:56 PM | #5 |
Sorry to be the bringer of obvious but bad new, but... If there truly is a massively epic protection method, people won't discuss it on public forums. Or with strangers. Or possibly at all. Simply because that would make it a much less awesome method, as more people would understand it. Almost/all protection methods beyond deleting editor only data and obfuscating the script work out to be security through obscurity. |
| 10-08-2009, 03:11 AM | #6 |
To paraphrase: You're on your own, kid. |
| 10-08-2009, 03:24 AM | #7 | |
Quote:
|
| 10-08-2009, 07:36 AM | #8 | |
Quote:
And btw, DotA protection is pretty impressive. |
| 10-08-2009, 11:48 AM | #9 |
I write a hosting bot which has to read map files in order to compute checksum values sent to the players. When castle fight 1.14 came out, it was using new protection. Invalid duplicate hash entries, invalid block table entries, and things like that. It took me a couple hours to update the bot to deal with it, and now that protection is no stronger than anything before it. Protection generally pisses me off now, especially when it can be defeated automatically after a one-time amount of manual work. The only effective protection, where attackers have to do more manual work for each map, is removing as much editor-only information as possible (which the optimizer does just fine). |
| 10-08-2009, 01:16 PM | #10 | |
Quote:
|
| 10-08-2009, 02:19 PM | #11 |
So if I'm understanding this correct, there's always a way to modify the map if it can be opened by wc3 (game)? Then I guess I gotta work on some 'magical triggers' that prevent cheats and similar. Thanks for all your help. If anyone has any suggestions of triggered map-protection then I'd be more than happy to listen. |
| 10-09-2009, 04:12 AM | #12 |
| 10-09-2009, 04:39 AM | #13 |
That's easy to work around, specially after reading that thread. That's the problem, you can't release these tricks without letting everyone know how to break them... |
| 10-09-2009, 05:03 AM | #14 |
Yeah I am well aware. He still seemed interested though, that's why I posted it. The more interesting thing about that is that the game doesn't seem to do any bounds checking on arrays declared in a Preloader() file: http://www.thehelper.net/forums/showthread.php?t=137116 ...or something. I'm not that familiar with that type of concept myself so I have probably described it incorrectly. |
| 10-09-2009, 05:49 AM | #15 |
try using Ultimate Map SLK Optimizer? that tool will encrypt hash table of your map |
