System Anti-CheatPack System

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
I've read through their methods, only because I had to make a fool-proof method to protect against ANY hacker, and their methods of finding anti-single player triggers could do just the same...
 

saw792

Is known to say things. That is all.
Reaction score
280
Could, but don't yet, thus making this useful in the short term. Which is the point.

On a side-note, you have a fool-proof method to protect against any hacker? That I'd like to see.
 

Renendaru

(Evol)ution is nothing without love.
Reaction score
309
It's not against any hacker, all it does is parse the map's script, which is placed within a private library. If any triggers are tampered with, it finds the added or missing trigger, and displays it's name ingame. Only alerts, doesn't shutdown.
 

CaptDeath

New Member
Reaction score
103
hey umm lets say instead of displaying that string it creats a infintie loop of leak S*** thatd be funny and great protection cause some times i add cheat packs to my maps [for debugging of course cause if my map can take the abuse those things can dish out well it can take mui mpi and lot of other things
or just for fun[in my maps only ruins games if your an A** while using it]
 

saw792

Is known to say things. That is all.
Reaction score
280
Instead of displaying a string it... does what?

It already stops all GUI triggers and all non-library JASS code from executing.

Anyway, I'm pretty over this since it's quite situational.
 

CaptDeath

New Member
Reaction score
103
It starts an infintie loop of leaks
Cheat Packs are jass[thats how they get passt map protection]
and ahh
 

saw792

Is known to say things. That is all.
Reaction score
280
An infinite loop of leaks? Wtf?

And i am entirely aware of how cheatpacks work.
 

Azlier

Old World Ghost
Reaction score
461
What CaptDeath is trying to say is that (I took a broken English class) instead of the system merely showing a warning message, it would cause a leaking infinite loop, pretty much crashing the game :thdown:.
 

Gwypaas

hook DoNothing MakeGUIUsersCrash
Reaction score
50
Then do:
JASS:
function <this system> takes nothing returns nothing
   //.... tons of lines
   // When you come to this:
      if TRIGGER_DISABLE then
        set i = i
      endif
   // Do this instead. That will crash the game for everyone in the game.
      if TRIGGER_DISABLE then
        call Player(-1)
        set i = i
      endif
    // .... More lines.
endfunction
 

Romek

Super Moderator
Reaction score
963
Instead of a message like that, I'd use concatenated strings, such as:
JASS:
call BJDebugMsg("you" + "'re ma"+"p " + "is mo" + "difie" + "d")


Makes it much more difficult to search.
Alternatively, to make it even harder, would be to use those TRIGSTR_### things from the map.wts (I think) file.
You get them when you convert a GUI trigger to Jass.
Or you can edit the wts file directly.

If you open it, it should look something like this:
Code:
STRING 1
{
Hello
}

STRING 2
{
Every
}

STRING 3
{
One
}
If you add more strings like that, you could do something like this:
Code:
STRING 1
{
Thi
}

STRING 2
{
s 
}

STRING 3
{
map ha
}

STRING 4
{
s bee
}

STRING 5
{
n modi
}

STRING 6
{
fied!
}
Then, change that message to:
JASS:
call BJDebugMsg("TRGSTR_001"+"TRGSTR_002"+"TRGSTR_003"+"TRGSTR_004"+"TRGSTR_005"+"TRGSTR_006")


Then it becomes very, very difficult to pin-point where the error is.
Especially if you have multiple strings with similar content inside the war3map.wts file, just incase they open that.
 

saw792

Is known to say things. That is all.
Reaction score
280
Well, if you really felt like using .wts strings you could. I might just link your post in the opening post.

And to the people that seem to think crashing warcraft is better than disabling every single trigger and showing a message... w.t.f.
 

Romek

Super Moderator
Reaction score
963
You don't disable every trigger.

Structs, Libraries and some scopes would still work.
Structs are initialized first, then libraries, and scopes are done in no order.

If you're unlucky, this could effect not a single trigger.
 

saw792

Is known to say things. That is all.
Reaction score
280
> Struct are initialised first

Yes... irrelevant unless the an entire 'trigger', including init, is done within a struct

>Then libraries

Come on man, read the first post at least. I clearly said it wouldn't affect libraries, and I know exactly why.

My comment in my previous post was general. I specified in the first post what it did and did not affect. To be required to provide such detail in a reply post is asking too much. If you are just nitpicking then you have too much time on your hands.

>and scopes are done in no order.

You say that. Have you actually checked?

Scopes are initialized depending on the order in which they appear in the script. What you cannot control is where your scopes will appear in the script, assuming you use a cleared GUI trigger for your scope code.

Once again, if you read the first post you would know that the instructions say to post the code into the map header, at the very top regardless of other code. This is for good reason. The map header code is guaranteed to appear above all other code (except, of course, libraries and structs) and so will be parsed first and initialized first.

This is not untested.
 

Frozenhelfir

set Gwypaas = Guhveepaws
Reaction score
56
I like the system. It's another way to stop people from taking a shit over all my hard work. To everyone who doesn't think it'll be useful, don't use it. Personally, I'd do everything it takes to make adding a cheatpack so long and annoying of a process for them that they just don't do it. After modding this so that it crashes the game, I will end up adding this to my map because I'm tired of seeing so many hacked versions of my map.
 

emjlr3

Change can be a good thing
Reaction score
395
why not just have it run a few seconds into the game?

also, said hackers dont need to make new triggers to allow cheats...
 

Romek

Super Moderator
Reaction score
963
"Hackers" just edit the common.j of your map, they don't even open your map.
You mean the war3map.j file?

common.j is something completely different.
Also, editing the war3map.j file would still cause this to work. (Depending on what you did)
 

Gwypaas

hook DoNothing MakeGUIUsersCrash
Reaction score
50
why not just have it run a few seconds into the game?

also, said hackers dont need to make new triggers to allow cheats...

Almost all cheat packs works by inserting a few lines of code into the main function and then in a seperated function create a trigger with event responses and such things. Doing that will increase the handle acount and therefore trigger this system.

They also puts their code right below the locals to prevent the map maker from crashing the thread when their initing is done.
 
Reaction score
341
What i'm saying is they can delete this, it's only a roadblock. But once one hacker finds it there will be an announcement at wc3edit and this will be useless.

But nevertheless it is a roadblock so it's useful.
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top