Jump to content


Photo

Gm Antihack With Crc V3.0.1


  • This topic is locked This topic is locked
46 replies to this topic

#1 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 02:55 AM

Posted Image

Temporarily on hold untill I can compile the source under an xp environment

Description
This extension is capable of protecting games from common hacking attempts like debugging and memory editing. When a debugger such as cheat engine is attatched, the game can detect it allowing the programmer to take a custom action. The extension also has a CRC32 checksum calculator to ensure that a file or packet has not been edited. Combining these two features makes a very secure system both for online and offline games. The premium version of this dll/extension has many more functions such as ClearDebugRegisters and the ability to enter custom programs to add to the block list. This is still in development so check back often for new features and updates. The example is made with Gamemaker 7 and has not been tested on other versions. The gex is compatible with all versions that support external functions. Using the example from the download, I managed to get a maximum speed of 327 FPS!!! That's with multiple calls to the extension's dll per step. This proves that it is superfast and will not affect your game speed. In the future, I plan on adding an Encrypt function that uses Vigenère cipher to encrypt data and CRCs, and maybe an MD5 algorithm. Enjoy.

Posted Image
A picture of the extension in GM7.

License
Free for non-commercial use. A commercial license costs 15 USD. Email me at RSF1000[at]gmail[dot]com. If you buy a commercial license, I will modify anything to suite your needs and you will recieve the premium version which includes many more functions to make things more secure.

Credit
Credit is absolutely required in a game that uses this hacking protection under a non-commercial license. If you purchased a commercial license from me, you do not need to give me credit.


Release Notes
November 10, 2007 8:56 PM - DLL Version 3.1.1 Library Version 1.0
================================================
- For security reasons, I got rid of the external dll and decided to switch to a .gex extension. There are no adverse effects on this switch and all of the functions work correctly. I also added Drag and drop support to the extension, so people less experienced can still use it! I don't have time to re-document this whole thing, so refer back to the previous build's comments to understand the functions. Download the free version at the bottom of this post. Oh yeah, and untill further notice, AttatchDebugger has been removed. It wasn't working the way I intended. I also threw a new example together that works the same as the old one.

November 9, 2007 7:35 PM - Version 3.1 (Premium Build)
======================================
- Added AllocForbiddenProcess() - This incredible function allows the game programmer to enter a CUSTOM list of programs to block. It allows window names and class names, or both together! Premium
version only.
- Updated TerminateForbiddenProcess() to work with AllocForbiddenProcess().
- Updated QueryForbiddenProcess() to work with AllocForbididenProcess().

November 8, 2007 5:43 PM - Version 3.0
==============================
After some major changes and improvements, I sped things up and added several new functions. Just a
note, AttatchDebugger did not work in v2.0. I have decided to only include the following functions in the
premium version: ClearDebugRegisters(), QueryForbiddenProcess(), AttatchDebugger(), and
TerminateForbiddenProcess(). QueryForbiddenFunction is a very specialized function. It allows the
owner to specify the window names of certain programs to block. Using this in conjuction with
TerminateForbiddenProcess allows complete control over which programs are blocked.

- Fixed AttatchDebugger.
- Fixed ClearDebugRegisters.
- Added QueryForbiddenProcess. (This unique function checks for programs like cheat engine that are open.
In the future, there will be an option to add custom programs to this list for premium users.)
- Added TerminateForbiddenProcess. (This unique function terminates the process that
QueryForbiddenProcess finds. This is a great function because rather than closing the game,
the programmer has the option of simply closing the hacking program.

November 4, 2007 6:07 PM - Version 2.0
==============================
- Added the option of attatching a "fake" debugger. See the comments in the function "AttatchDebugger".

November 3, 2007 12:56 PM - Version 1.1a
================================
- Fixed timer issue, where it could be disabled, allowing memory editing.

November 2, 2007 11:52 PM - Version 1.1
===============================
- Added an extra debug detection subroutine.
- Added external file proofing. (Checks the CRC and size of the antihack DLL to make sure it's genuine.)
November 2, 2007 6:35 PM - Version 1.0
==============================
- Added debugger protection. (Stops debuggers from viewing internals and attatching to game.)


Download:Posted Image
Zip file contains:
Antihack Example.gm7
Antihack.gex
Documentation.chm
Donations.html
Official Thread.html
Release Notes.txt


If you like this, please donate to continue its development. Donate

Edited by Frawley, 12 November 2007 - 10:03 PM.

  • 0

#2 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 03:09 AM

Reserved this post for future images and info in case max post size is reached. :)

For those that do not want to use the drag and drop, here is a list of all the functions to use in gml.

Free version:
- CRC32Calculate
- QueryDebugger
- MessageBox

Premium Version:
- AllocForbiddenProcessList
- ClearDebugRegisters
- CRC32Calculate
- QueryForbiddenProcess
- QueryDebugger
- MessageBox
- TerminateForbiddenProcess

Edited by Frawley, 11 November 2007 - 03:12 AM.

  • 0

#3 Chocsalty

Chocsalty

    GMC Member

  • New Member
  • 209 posts

Posted 11 November 2007 - 03:17 AM

is it as secure as it really makes out to be? Someone test it.
  • 0

#4 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 03:33 AM

Try it out, I threw a quick example together that works perfect. Have fun trying to bypass it.
  • 0

#5 Chocsalty

Chocsalty

    GMC Member

  • New Member
  • 209 posts

Posted 11 November 2007 - 03:55 AM

i get an error message for the .gm6 one saying:

its unziped and all.
ERROR in
action number 1
of Create Event
for object objAntihack:

Error defining an external function.


ERROR in
action number 1
of Create Event
for object objAntihack:

Error defining an external function.


ERROR in
action number 1
of Create Event
for object objAntihack:

Error defining an external function.


ERROR in
action number 1
of Create Event
for object objAntihack:

Error defining an external function.


ERROR in
action number 1
of Create Event
for object objAntihack:

Trying to execute non-existing script.

  • 0

#6 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 03:59 AM

That gm6 one is from the previous version. I'm afraid you have to convert the new gm7 manually. It should be easy though.
  • 0

#7 Chocsalty

Chocsalty

    GMC Member

  • New Member
  • 209 posts

Posted 11 November 2007 - 04:01 AM

Could you do it for us all?
  • 0

#8 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 04:49 AM

I do not own gm6. If you want it, make it yourself. It's a very simple conversion.
  • 0

#9 Alex

Alex

    3lite Member

  • New Member
  • 3098 posts

Posted 11 November 2007 - 05:03 AM

Doesn't work.

"DLL integrity compromised"?

I thought this version didn't have a DLL...
  • 0

#10 Mister_M

Mister_M

    GMC Member

  • New Member
  • 499 posts

Posted 11 November 2007 - 12:57 PM

You've went a long way, This system is really really well programmed!
Fast, clear, easy, and effective.

Recommended XD
  • 0

#11 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 06:31 PM

You've went a long way, This system is really really well programmed!
Fast, clear, easy, and effective.

Recommended XD

<{POST_SNAPBACK}>


Sorry guys, I had uploaded the old gmk file. I fixed it and everything works perfect now!

Mister_M: Thank you for that comment :GM7:

Edited by Frawley, 11 November 2007 - 06:41 PM.

  • 0

#12 Zezuken

Zezuken

    AKA: Warriorccc0

  • GMC Member
  • 2799 posts
  • Version:Unknown

Posted 11 November 2007 - 09:11 PM

This might be helpful for my game....
edit: example doesn't work I could change the value with no problems...

Edited by Zezuken, 11 November 2007 - 09:16 PM.

  • 0

#13 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 09:31 PM

What do you mean the example doesn't work? It works fine I tested it.

EDIT: Oh, maybe you misunderstood me and thought you couldn't edit any memory. This only stops people from editing protected variables. Try editing the one that it says to find as that is a protected variable. Also, the timer is protected, try stopping it.

Edited by Frawley, 11 November 2007 - 09:36 PM.

  • 0

#14 Zezuken

Zezuken

    AKA: Warriorccc0

  • GMC Member
  • 2799 posts
  • Version:Unknown

Posted 11 November 2007 - 10:52 PM

The one you can edit by pressing space? Thats what I did...
  • 0

#15 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 11 November 2007 - 11:01 PM

The one you can edit by pressing space? Thats what I did...

<{POST_SNAPBACK}>


You understood wrong...You are supposed to use cheat engine to edit that value. Pressing space edits the value from the game so it isn't hacking.
  • 0

#16 Chocsalty

Chocsalty

    GMC Member

  • New Member
  • 209 posts

Posted 12 November 2007 - 12:14 AM

why dont u just make a complicated variable script for example:
if your making a game with skill levels then have a timer that checks if skill=+1 then {check that it has read the skill+1 script} and if it hasnt been exactly the same as it should be, then it should shange back to previous variable number or reset the skill.
i dont know, but it could be a way of protecting variables..
  • 0

#17 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 12 November 2007 - 12:24 AM

Quick update, I added a very nicely done help file to the zip. It explains everything in detail.



why dont u just make a complicated variable script for example:
if your making a game with skill levels then have a timer that checks if skill=+1 then {check that it has read the skill+1 script} and if it hasnt been exactly the same as it should be, then it should shange back to previous variable number or reset the skill.
i dont know, but it could be a way of protecting variables..

<{POST_SNAPBACK}>


No offense to you, but you don't seem to know what I'm talking about...Read what cheat engine is and how it works, then re-read what my extension does. cheatengine.org

Edited by Frawley, 12 November 2007 - 12:43 AM.

  • 0

#18 Zezuken

Zezuken

    AKA: Warriorccc0

  • GMC Member
  • 2799 posts
  • Version:Unknown

Posted 12 November 2007 - 01:08 AM

The one you can edit by pressing space? Thats what I did...

<{POST_SNAPBACK}>


You understood wrong...You are supposed to use cheat engine to edit that value. Pressing space edits the value from the game so it isn't hacking.

<{POST_SNAPBACK}>

How hard is it to understand what I say?! I know thats not hacking I used cheat engine to edit that value >_<....
  • 0

#19 Alex

Alex

    3lite Member

  • New Member
  • 3098 posts

Posted 12 November 2007 - 01:14 AM


Edited by Alex, 25 January 2009 - 01:26 AM.

  • 0

#20 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 12 November 2007 - 01:59 AM

I hope people realize that this extension is NOT nearly enough to fully protect your games.

If you are making a serious+online game, then you will need to do a lot more work to help protect your games.

While this extension may be helpful for smaller projects, it only covers the bare basics of protection.

Anyway, I'm not trying to scare people off, I just think people should know that there are other risks which this simply does not cover. At all.

But if you're only making a simple game, then it's probably nothing to worry about.

<{POST_SNAPBACK}>


So, because it's easy to hack, I would like you to show me a picture of you bypassing it :blink: I highly doubt you were able to, yet you still don't think that it's secure? If you attatch a debugger like Ollydbg or choose "Find what acesses this address" on cheat engine, it will be detected instantly. If you modify a protected variable, it will be detected instantly.

Edited by Frawley, 12 November 2007 - 02:02 AM.

  • 0

#21 Alex

Alex

    3lite Member

  • New Member
  • 3098 posts

Posted 12 November 2007 - 02:15 AM


Edited by Alex, 25 January 2009 - 01:26 AM.

  • 0

#22 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 12 November 2007 - 03:16 AM

Meh, maybe its vista compatibility issues. I'll try compiling it with xp. And if you cracked the dll version, it was probobly one of the first ones. (less than version 2)
  • 0

#23 TheOmega

TheOmega

    GMC Member

  • New Member
  • 88 posts

Posted 12 November 2007 - 07:04 AM

Well, this looks cool, maybe I will use it on my next big game. So would it detect speedhack, which I don't thinks works on GM anyways...
  • 0
Loves his girlfriend Melissa <3

#24 Zezuken

Zezuken

    AKA: Warriorccc0

  • GMC Member
  • 2799 posts
  • Version:Unknown

Posted 12 November 2007 - 07:13 AM

I have xp and like I said it doesn't work...
  • 0

#25 TheOmega

TheOmega

    GMC Member

  • New Member
  • 88 posts

Posted 14 November 2007 - 08:24 AM

If my friend goes online and we are not busy, we might try to bypass your extension anti-hack system with a small console memory tool, I haven't used it, but my friend says its very powerful at modifying memory, like it can do anything...I think its like impossible to find this tool...thou...since it was reported as a hackers tool.
  • 0
Loves his girlfriend Melissa <3

#26 blizter

blizter

    GMC Member

  • GMC Member
  • 50 posts

Posted 26 November 2007 - 04:17 PM

It is called SoftIce, It is a debugger and it is not dos. Also, Ollydbg > SoftIce.
  • 0

#27 Nuclear

Nuclear

    GMC Member

  • New Member
  • 134 posts

Posted 07 December 2007 - 10:21 AM

Can you create a example of a cheating program.
  • 0

#28 Frawley

Frawley

    GMC Member

  • New Member
  • 53 posts

Posted 08 December 2007 - 03:47 PM

Can you create a example of a cheating program.

<{POST_SNAPBACK}>


www.cheatengine.org
  • 0

#29 cabreak

cabreak

    GMC Member

  • New Member
  • 93 posts

Posted 28 January 2008 - 07:02 PM

There is a simple way using ollydbg with a changed name and title (programmed in delphi). I found the adresse in a "protected" game, the adresse has accces to the "terminal procces function". You can simply block this adresse.

Try to seacrh something else instead title and filename.
:)
  • 0
Visit my website: http://www.di-martino.net

#30 LoopStan

LoopStan

    North-See Developer

  • GMC Member
  • 1398 posts

Posted 30 January 2008 - 12:58 AM

HAHAHAHA I BYPASSED THIS WITH CHEAT ENGINE!
That was easy. I think you need to fix somthing in that example. I didn't get detected. Lolz. Well good luck with that. I will still use it for the hope that it actualy stops someone. haha.
  • 0

Posted Image


#31 chaois=2kewl

chaois=2kewl

    GMC Member

  • New Member
  • 266 posts

Posted 26 February 2008 - 04:20 AM

I hate you. I loved cheat engine, it was extremely fun to mess with stuff u *******!
  • 0
Carry me always, carry me well. | Cures, curses alchemy.
I am thy teacher of herb and spell. | These secrets, shall be thine, through me.
I am thy link to power arcane. | But mortal, remember this above all.
Forget me and thy magic shall wain. | I am not for those in the mud that crawl.
Ten times, Ten commandments there be. | And forever doomed shall be the one
They will answer every mystery. | Who betrays my secrets, one by one.

#32 ChaosDragon11590

ChaosDragon11590

    Eagle Design Media

  • New Member
  • 59 posts
  • Version:GM8

Posted 03 June 2008 - 05:09 PM

I hate you. I loved cheat engine, it was extremely fun to mess with stuff u *******!


Awww, some guy can't mess with games anymore, huh? That's too bad. All well, I guess you have to learn things you shouldn't get into will always strive for doing just that - preventing people from getting into them. Deal with it, man.

..As for this extension, I intend to try it as soon as I can.
  • 0

Norton is worse than actually having a virus.


#33 Game-spy

Game-spy

    GMC Member

  • New Member
  • 28 posts

Posted 29 August 2008 - 01:10 PM

If you switch to gex anybody can get the library form of it? You just install it and look in your extentions folder :)
  • 0

#34 ash47

ash47

    O_o

  • GMC Member
  • 1347 posts

Posted 15 October 2008 - 08:14 AM

i really hate the idea of this for games, it says you can "take custom action" which means people will ban you from there online game. Maybe if you programmed secure online games in the first place you wouldnt need such a thing!!! However i personaly would never use anything like this as what am i gonna do when i find them cheating? Your banned from this offline game XD Maybe just maybe i would use it to warn myself of hackers and take action but that is all, no auto banning!!!
  • 0
Posted Image

Rate this topic: 0 | 1 | 2 | 3 | 4 | 5

PRESS IT
\/


#35 Lukearentz

Lukearentz

    My Two Cents

  • New Member
  • 2587 posts

Posted 15 October 2008 - 08:44 AM

All this does it prevent things while running the game. There is nothing stopping the person from reversing the game back to the .gmk and removing the cheat engine check. Problem Solved. :P
  • 0
I have left the GMC, and my domain is no longer registered to me.
All previous links will not work, for any information/links please PM me, and I may be able to help you

#36 grumpymonkey

grumpymonkey

    GMC Member

  • GMC Member
  • 1011 posts

Posted 26 October 2008 - 06:41 PM

this doesnt work for values that constantly change ingame?
i tried doing it with the score value, and after a while, i got a hacking attempt. and i dont even have any sort of cheat engine installed =[
  • 0

Posted Image


#37 e_barroga

e_barroga

    ES Studios Leader

  • GMC Member
  • 2475 posts

Posted 06 January 2009 - 02:05 AM

This doesn't work, I decompiled the exe.
  • 0

rsa_gmc_sig.png

 

logoGIF1.gif EXTENSION. PM TO PURCHASE LICENSE.


#38 brett14

brett14

    GMC Member

  • GMC Member
  • 1151 posts
  • Version:GM8

Posted 07 January 2009 - 12:27 AM

Its not supposed to stop decompiling... It stops the user from using more complex hacks such as memory readers etc. Which will read the code that the machine just did. This was made before the decompiler was made public.
  • 0

P3DC V6.00 | Editor14 | Large 3D Terrain

GML programmer since 2005, C/C++ programmer since 2009, Java programmer since 2012


#39 e_barroga

e_barroga

    ES Studios Leader

  • GMC Member
  • 2475 posts

Posted 07 January 2009 - 02:20 AM

Its not supposed to stop decompiling... It stops the user from using more complex hacks such as memory readers etc. Which will read the code that the machine just did. This was made before the decompiler was made public.


Kinda pointless, then.... because you can combat memory readers without this extention.
  • 0

rsa_gmc_sig.png

 

logoGIF1.gif EXTENSION. PM TO PURCHASE LICENSE.


#40 9_6

9_6

    Guest

  • GMC Member
  • 3627 posts

Posted 14 January 2009 - 03:46 PM

Why combat them?
I don't really get what's to protect with this system either.
  • 0

#41 zezimaimp

zezimaimp

    GMC Member

  • GMC Member
  • 552 posts

Posted 12 December 2009 - 04:11 PM

Broken link, but I would like to use this
  • 0
<p align=center><a target=_blank href=http://www.nodiatis.com/personality.htm><img border=0 src=http://www.nodiatis.com/pub/7.jpg></a></p>

#42 Mercury92

Mercury92

    GMC Member

  • New Member
  • 149 posts

Posted 22 May 2010 - 12:45 PM

ReUpload please.
  • 0

#43 _167354

_167354

    GMC Member

  • New Member
  • 11 posts

Posted 09 February 2011 - 06:33 PM

About that...To open the game and the Cheat Engine or any other hack you just have to go to the folder of the hack and rename it to somethink else,except of course if you are using another way to search for hacks.

-EDIT:Sry,I pressed Post Button twice by mistake.

Edited by _167354, 05 March 2011 - 05:36 PM.

  • 0

#44 _167354

_167354

    GMC Member

  • New Member
  • 11 posts

Posted 09 February 2011 - 06:33 PM

About that...To open the game and the Cheat Engine or any other hack you just have to go to the folder of the hack and rename it to somethink else,except of course if you are using another way to search for hacks.
  • 0

#45 AndyTh0mpz

AndyTh0mpz

    GMC Member

  • New Member
  • 36 posts

Posted 22 February 2011 - 04:24 PM

urrrrmmm...How comes the download link doesn't work?
  • 0
Posted Image And Don't smoke.

#46 Dylan93

Dylan93

    GMC Member

  • GMC Member
  • 867 posts
  • Version:GM8

Posted 03 March 2011 - 11:22 AM

urrrrmmm...How comes the download link doesn't work?


Probably not because its from 2007 :)

Edited by Dylan93, 03 March 2011 - 11:22 AM.

  • 0


Posted Image


#47 SPARKY07

SPARKY07

    GMC Member

  • New Member
  • 11 posts
  • Version:GM8.1

Posted 15 October 2013 - 06:13 AM

AntihackBanner.png

Temporarily on hold untill I can compile the source under an xp environment

Description
This extension is capable of protecting games from common hacking attempts like debugging and memory editing. When a debugger such as cheat engine is attatched, the game can detect it allowing the programmer to take a custom action. The extension also has a CRC32 checksum calculator to ensure that a file or packet has not been edited. Combining these two features makes a very secure system both for online and offline games. The premium version of this dll/extension has many more functions such as ClearDebugRegisters and the ability to enter custom programs to add to the block list. This is still in development so check back often for new features and updates. The example is made with Gamemaker 7 and has not been tested on other versions. The gex is compatible with all versions that support external functions. Using the example from the download, I managed to get a maximum speed of 327 FPS!!! That's with multiple calls to the extension's dll per step. This proves that it is superfast and will not affect your game speed. In the future, I plan on adding an Encrypt function that uses Vigenère cipher to encrypt data and CRCs, and maybe an MD5 algorithm. Enjoy.

GM.jpg
A picture of the extension in GM7.

License
Free for non-commercial use. A commercial license costs 15 USD. Email me at RSF1000[at]gmail[dot]com. If you buy a commercial license, I will modify anything to suite your needs and you will recieve the premium version which includes many more functions to make things more secure.

Credit
Credit is absolutely required in a game that uses this hacking protection under a non-commercial license. If you purchased a commercial license from me, you do not need to give me credit.


Release Notes
November 10, 2007 8:56 PM - DLL Version 3.1.1 Library Version 1.0
================================================
- For security reasons, I got rid of the external dll and decided to switch to a .gex extension. There are no adverse effects on this switch and all of the functions work correctly. I also added Drag and drop support to the extension, so people less experienced can still use it! I don't have time to re-document this whole thing, so refer back to the previous build's comments to understand the functions. Download the free version at the bottom of this post. Oh yeah, and untill further notice, AttatchDebugger has been removed. It wasn't working the way I intended. I also threw a new example together that works the same as the old one.

November 9, 2007 7:35 PM - Version 3.1 (Premium Build)
======================================
- Added AllocForbiddenProcess() - This incredible function allows the game programmer to enter a CUSTOM list of programs to block. It allows window names and class names, or both together! Premium
version only.
- Updated TerminateForbiddenProcess() to work with AllocForbiddenProcess().
- Updated QueryForbiddenProcess() to work with AllocForbididenProcess().

November 8, 2007 5:43 PM - Version 3.0
==============================
After some major changes and improvements, I sped things up and added several new functions. Just a
note, AttatchDebugger did not work in v2.0. I have decided to only include the following functions in the
premium version: ClearDebugRegisters(), QueryForbiddenProcess(), AttatchDebugger(), and
TerminateForbiddenProcess(). QueryForbiddenFunction is a very specialized function. It allows the
owner to specify the window names of certain programs to block. Using this in conjuction with
TerminateForbiddenProcess allows complete control over which programs are blocked.

- Fixed AttatchDebugger.
- Fixed ClearDebugRegisters.
- Added QueryForbiddenProcess. (This unique function checks for programs like cheat engine that are open.
In the future, there will be an option to add custom programs to this list for premium users.)
- Added TerminateForbiddenProcess. (This unique function terminates the process that
QueryForbiddenProcess finds. This is a great function because rather than closing the game,
the programmer has the option of simply closing the hacking program.

November 4, 2007 6:07 PM - Version 2.0
==============================
- Added the option of attatching a "fake" debugger. See the comments in the function "AttatchDebugger".

November 3, 2007 12:56 PM - Version 1.1a
================================
- Fixed timer issue, where it could be disabled, allowing memory editing.

November 2, 2007 11:52 PM - Version 1.1
===============================
- Added an extra debug detection subroutine.
- Added external file proofing. (Checks the CRC and size of the antihack DLL to make sure it's genuine.)
November 2, 2007 6:35 PM - Version 1.0
==============================
- Added debugger protection. (Stops debuggers from viewing internals and attatching to game.)


Download:Arrow.png
Zip file contains:
Antihack Example.gm7
Antihack.gex
Documentation.chm
Donations.html
Official Thread.html
Release Notes.txt


If you like this, please donate to continue its development. Donate

The link is broken.


  • 0