Anti-Cheat?

General talk about editing, cheating, and deprotecting maps.

Moderator: Cheaters

Hobbeskiller
Senior Member
Posts: 153
Joined: February 9th, 2009, 7:24 am
Title: Formerly 1badbrotha
Location: California

Anti-Cheat?

Post by Hobbeskiller »

I don't exactly know how to write it but can any1 show me/tell me/make me a good Anti Cheat and tell me how to utalize it?
Thanks
-1badbrotha
User avatar
qweasd011
Forum Addict
Posts: 451
Joined: November 21st, 2008, 9:36 am
Title: Coleen!

Re: Anti-Cheat?

Post by qweasd011 »

What kind of anti-cheat?
Image
User avatar
Ozzapoo
The Flying Cow!
Posts: 2197
Joined: November 2nd, 2007, 10:34 pm
Location: Melbourne

Re: Anti-Cheat?

Post by Ozzapoo »

The problem with posting anti-cheats publicly is that they are quickly destroyed, therefore rendering the protection useless.
Visit Ozzapoo.net, my blog and the home of AutoCP and Cheatpack Detector!
AutoCP3 now available for free!
User avatar
UndeadxAssassin
Grammar King
Posts: 2115
Joined: June 22nd, 2008, 10:11 pm
Title: Worst human for 4eva
Location: Mostly USEast

Re: Anti-Cheat?

Post by UndeadxAssassin »

It's like Ozzapoo said, it'll be easier to break if it's public. But there are some easy-to-code anticheats. Basically, just have it search for when a player types something (like -gold or -lumber) and then either have the game remove all of their gold/lumber or reset it to what it was before. That's usually what I see in anticheats. They have something like

Code: Select all

call TriggerRegisterPlayerChatEvent(xI,Player(1),"-gold ",false)

for every player, and at the end, it'll have something like

Code: Select all

call TriggerAddAction(xI,function uq)

And function uq (in this case) would save the gold they have now and then revert it to this after the gold has been added from the cheats.

Another protection I've seen against JJ's cheatpack is to just have functions named the same as JJ's functions (like Explodey, CheatUse, Yellowy, etcc..). It screws it up because then you'd have to rename the functions and other stuff.

Lastly, adding JJ's cheatpack for single player use only screwed lots of people over. There was a Heaven vs. Hell map that had JJ's CP for single player use and it would make the game unable to be found or played because you can't have two of the same CheatPacks in one map.
(20:53:52) Bartimaeus: Thank you, Jen.
(20:53:56) Bartimaeus: Truly, you are wise.


(23:44:12) Bartimaeus: I was in pubic school until middle school...


Learn how to extract and read RAW Codes here!

Need help? Click here and ask your question!
Hobbeskiller
Senior Member
Posts: 153
Joined: February 9th, 2009, 7:24 am
Title: Formerly 1badbrotha
Location: California

Re: Anti-Cheat?

Post by Hobbeskiller »

Okay, Well i know how to do CPs but id need help with adding an Anti Cheat so if any1 of you Write one up thats pretty basic and explain where it would be put... In a PM(HAHA NOT PUBLIC ANYMORE! ^.^)
Spoiler:
Image
Image

Code: Select all

(21:00:07) UndeadxAssassin: Did you know if you type /quit (name) you can kick someone from chat?
(21:00:08) Nuuby is baned
(21:00:15) UndeadxAssassin:  /quit (name)
(21:00:20) UndeadxAssassin: You know..
(21:00:24) UndeadxAssassin: Banned has two ns in it.
(21:00:32) Hobbeskiller: LOL baned
(21:00:41) Nuuby: hobbes is prowh lurkah
(21:00:43) Nuuby: banned
(21:00:44) Nuuby: derp
(21:01:13) Nuuby: NO
(21:01:13) Nuuby: WAIT
(21:01:16) Nuuby: NOOOOOOOOOOOOOo
(21:01:27) UndeadxAssassin:  /quit Nuuby
(21:01:28) ChatBot: Nuuby has been logged out (Kicked).
(21:01:33) magicianx126: ???
(21:01:36) Hobbeskiller: LOL
(21:01:41) UndeadxAssassin: Anyone can do it!
(21:01:50) syle222: even me?
(21:01:55) UndeadxAssassin: Yes, try it
(21:01:56) ChatBot: syle222 logs out of the Chat.
(21:01:57) Hobbeskiller: yea
(21:02:00) Hobbeskiller: LOL
(21:02:05) ChatBot: magicianx126 logs out of the Chat.
(21:02:06) UndeadxAssassin: I am such a troll ;_;
(21:02:10) UndeadxAssassin: TWO

GeorgeMots wrote:No there isn't you are doing it wrong.
User avatar
qweasd011
Forum Addict
Posts: 451
Joined: November 21st, 2008, 9:36 am
Title: Coleen!

Re: Anti-Cheat?

Post by qweasd011 »

I don't basically know how to make anti-cheats but I made one for you.

Actually this is vJASS

[spoiler=Anti-CheatPack]

Code: Select all

scope AntiCP initializer Init
//****************************************************************************************
//
//    | Anti-CheatPack System v1.00                                       by Coleen |
//
//    Using this system will report any modification to the map script. Combined with map
//    optimisation it will effectively stop people from using a modified version of your
//    map, as it disables all GUI trigger functionality and all JASS triggers (with the
//    exception of libraries, for technical reasons) on detection of modification.
//
//    It is recommended that all functioning vJASS code is writeen within scopes (with the
//    exception of systems) in order for them to be disabled on modification detection.
//
//
//    Implementation Instructions:
//       
//     1. Create a blank disabled trigger named AntiCPConfig, convert to custom text
//     2. Copy/Paste the AntiCPConfig library into the blank trigger
//     3. Click the name of your map in the left-hand panel in the trigger editor
//     4. Copy/Paste the AntiCP scope into the Custom Text section
//        NB: The scope MUST be at the VERY top of the custom text section, and
//            NOT in a blank trigger
//     5. Follow the instructions in the AntiCPConfig library
//     6. Set the HANDLE_COUNT variable below to the output of the library
//     7. Configure other constants below
//     8. Set ENABLED = true
//     9. Save your map and enjoy
//
//        NB: Every time you save a final version run the AntiCPConfig library again
//            as the handle count has probably changed
//        NB: When modifying your map set ENABLED = false, and set it to true again
//            when a final version is saved
//
//****************************************************************************************
  globals
    //Output of AntiCPConfig library
    private constant integer HANDLE_COUNT = 0
    //System enabled or disabled
    private constant boolean ENABLED = false
    //Disable triggers initializers on detection?
    private constant boolean TRIGGER_DISABLE = false
    //Show a message to players if modification is detected?
    private constant boolean SHOW_TEXT = true
    //Text to display when SHOW_TEXT = true
    //If SHOW_TEXT = false it is recommended that this string be emptied (i.e. = "")
    private constant string DISP_TEXT = "This map has been modified. Please delete it and redownload from a trusted source."
  endglobals

  private function T2I takes trigger t returns integer
    return t
    return 0
  endfunction
 
  private function Init takes nothing returns nothing
    local integer i
    local trigger t = CreateTrigger()
    if (T2I(t) - 1048584) != HANDLE_COUNT and ENABLED then
      if SHOW_TEXT then
        call DisplayTextToForce(bj_FORCE_ALL_PLAYERS, DISP_TEXT)
      endif
      if TRIGGER_DISABLE then
        set i = i
      endif
    endif
    call DestroyTrigger(t)
    set t = null
  endfunction
 
endscope
[/spoiler]

[spoiler=Anti Cheatpack Config]

Code: Select all

library AntiCPConfig initializer Init //requires
//****************************************************************************
//
//    | Anti-CheatPack Configuration Functions                    by Coleen |
//
//    Configuration Instructions:
//   
//     1. Uncomment the 'requires' line above these instructions
//     2. Add in the name of every library in your map separated by ,
//       NB: If you have no vJASS libraries in your map ignore these two steps
//     3. Enable this trigger
//     4. Save your map
//     5. Click 'Test Map' and write down the number that is displayed
//        once the game starts (Handle Count: ...)
//     6. Exit the game
//     7. Disable this library
//     8. Keep this library within your map
//     9. Repeat these instruction every time you save a final version
//
//****************************************************************************
  private function T2I takes trigger t returns integer
    return t
    return 0
  endfunction
 
  private function Init takes nothing returns nothing
    local trigger t = CreateTrigger()
    call BJDebugMsg("Handle Count: " + I2S(T2I(t) - 1048584))
    call DestroyTrigger(t)
  endfunction
 
endlibrary
[/spoiler]

(Edit : OopS I putted Names)
Image
User avatar
Risen
Forum Staff
Posts: 811
Joined: January 1st, 2008, 12:58 am

Re: Anti-Cheat?

Post by Risen »

The best way to learn to develop your own antihacks is to experiment, or, just think, what would stop YOU from hacking a map?
Image
Wanna learn to hack maps? --> Guide
User avatar
haxorico
Super Moderator
Posts: 3190
Joined: February 24th, 2009, 1:31 pm
Location: JEW LAND

Re: Anti-Cheat?

Post by haxorico »

anti cheats can even be stuff that are NOT commands. but corrupting the MPQ Archive...
a map with alot of files (like dota and foc) that has to get the MPQ Rebuilt and it wont be openable at x-dep / rmpqex would make it rly hard for ppl to hack it.

tho i believe every protection can be bypassed...
Image
Spoiler:
(02:24:09)

Code: Select all

ChatBot: FatherSpace logs into the Chat.
(02:24:28) Lanaya: Gtfo ken.
(02:24:33) ChatBot: FatherSpace logs out of the Chat.
(02:24:40) Lanaya: Thought so. bitch.
(02:24:44) ChatBot: FatherSpace logs into the Chat.
(02:24:48) FatherSpace: Can I come back yet?
(02:24:51) Lanaya: What'd i say earlier.
(02:24:51) Lanaya: No.
(02:24:58) FatherSpace: Let's try this...
(02:25:01) ChatBot: Lanaya has been logged out (Kicked).

Code: Select all


(14:33:51) 2Pac: Do you know what'S so funny?
(14:34:01) Lanaya: No, please show me.
(14:34:07) 2Pac: This.
(14:34:09) ChatBot: Lanaya has been logged out (Kicked).
(14:34:10) 2Pac:


Code: Select all

(14:35:59) haxorico: No one will belive me if I say "I got this song from 2pac on MSN" lolz ^^
(14:36:02) Lanaya: lolz.
(14:36:16) 2Pac: I AIN'T DEAD FFS.
(14:36:26) 2Pac: I'm a living legend, y'now.
(14:37:17) haxorico: why is 2Pac a legend?
(14:37:28) Lanaya: He's the worse rapper evar.

Code: Select all

(15:42:51) Lanaya: can i suck , . . .

Code: Select all

(13:55:21) ChatBot: 2Pac rolls 1d100 and gets 1.
(13:55:21) ChatBot: haxorico rolls 1d2 and gets 2.
(13:55:27) haxorico: owned?

Code: Select all

GeorgeMots: xplain what happens in SP. Why cant you save?
dast.-:i need play with 2 players

Code: Select all

(21:53:08) (673237): plzplzplz, im sorry about before.
(21:53:26) FatherSpace: I'm sorry you were born.
(21:53:31) ChatBot: (673237) has been logged out (Kicked).


Code: Select all

(10:08:02) Bartimaeus: you do know run I youtube channel for my favorite music, right?
User avatar
Risen
Forum Staff
Posts: 811
Joined: January 1st, 2008, 12:58 am

Re: Anti-Cheat?

Post by Risen »

All can be broken, but the goal is to make it hard. ;)

And un-doing an mpq corruption is rather easy, which is why I only do deprotection requests.
Image
Wanna learn to hack maps? --> Guide
User avatar
UndeadxAssassin
Grammar King
Posts: 2115
Joined: June 22nd, 2008, 10:11 pm
Title: Worst human for 4eva
Location: Mostly USEast

Re: Anti-Cheat?

Post by UndeadxAssassin »

MPQ Corruption and that stuff goes more into protection than anticheats, though. A good anticheat wouldn't be detected as easily as bypassing some protection because all protections can be dealt with. The difference with anticheat is that if you don't want to ruin some of the things in the games, such as spells, anti cheat triggers are harder to remove if they're well coded.
(20:53:52) Bartimaeus: Thank you, Jen.
(20:53:56) Bartimaeus: Truly, you are wise.


(23:44:12) Bartimaeus: I was in pubic school until middle school...


Learn how to extract and read RAW Codes here!

Need help? Click here and ask your question!