• Unfortunately, we have experienced significant hard drive damage that requires urgent maintenance and rebuilding. The forum will be a state of read only until we install our new drives and rebuild all the configurations needed. Please follow our Facebook page for updates, we will be back up shortly! (The forum could go offline at any given time due to the nature of the failed drives whilst awaiting the upgrades.) When you see an Incapsula error, you know we are in the process of migration.

Anti hack system , speed hack auto ban

Experienced Elementalist
Joined
Oct 30, 2010
Messages
225
Reaction score
42
Theres no antihack released in Ragezone.
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Strictly speaking, and are commercial programs which we can't release. I believe they also require you to have the C source code for the game client you wish to embed their anti-hacking libraries into.

PT Protector was generously offered with source by one of our sub-forum administrators, DarkKnightH2O. It is also entirely based on kicking and banning unwanted players from the server side only, but it will require some tailoring to suit your needs.
 
Last edited:
Custom Title Activated
Loyal Member
Joined
Jul 21, 2006
Messages
1,638
Reaction score
341
Players aren't actually kicked on my version -- just a SQL query is performed to change "block" or "blocked" or whatever it was from 0 to 1.

It's been awhile, so bare with me on this :) If I remember correctly, blackuser will force someone off the server if their name is added to it. So I imagine a pretty viable method would be to do the normal SQL block, and then add the user to blackuser to kick them off.

Quantum Fusion used a OCX or DLL with Firewall capabilities -- so I imagine his method simply blocked their IP, so that's another option.
 
Skilled Illusionist
Joined
Apr 20, 2009
Messages
351
Reaction score
212
I've released the source of my program btw, you can check it on Gitorious.
Especially
- module_declaration.bas :
- module_disconnect.bas :

As you can see the first one imports 3 functions from the Windows DLLs :
- GetTcpTable from iphlpapi.dll : fetch the TCP connections table from the system IP stack
- SetTcpEntry from iphlpapi.dll : changes a connection state
- ntohs from wsock32.dll :(Network TO Host Short) changes the byte order of an integer from network order to host order
and declares 3 types :
- MIB_TCP_STATE : state of the TCP connection)
- MIB_TCPROW : a line inside the TCP table)
- MIB_TCPTABLE : the whole TCP table

The second one declares 2 functions :
- ip_to_human : converts an ip from it's integer form to the w.x.y.z format
- disconnect(ip) : disconnects a w.x.y.z ip

disconnect is very simple. It :
- fetches the TCP table from the IP stack (get_tcp_table)
- for each entry of the table, it :
--- converts the port to host byte order
--- converts the IP to w.x.y.z format
--- compares the table ip with the argument ip
--- compares the port with the argument port (here it's a configuration variable, but you can easily edit the function to work this way: disconnect(ip, port))
--- if both match, changes the state of the connection to DELETE_TCB and set it (set_tcp_entry).

When you set the connection to this state, it sends a TCP packet to the client with the RST (reset) flag set, and closes the connection whether or not the client acknowledges. It forces the client disconnection.

You'll also notice that the function uses only API functions and basic types, and no fancy VB6 built-in routine. Which means you can easly port this to another programming language that can import functions from the Windows DLLs :) .
 
Last edited:
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
I'm not sure if you actually meant you do "have VB6", or if what you meant to say is that you "don't have VB6". I haven't tried Gregoos' build, but DKH2Os version was VB6 source, so if you do mean that you do have VB6 then that's not a reason not to use it. If you understand me.

In any case, VB6 code is quite highly portable, and reasonably easy to adapt for either , , or among others... the parts that aren't very portable (just like Delphi and Borland C++ Builder compared to other Pascal and C++ compilers) are the "forms", and some of the uses of "Variant" type variables.

Also, VB6 made heavy used of ActiveX (also branded COM, COM+ as the standard developed) for component expansion. This is possible with most other Basic programming languages available for Win32, but pretty much never implemented the way it is in VB6... especially as one of the most popular uses of it was to create .ocx components (ActiveX DLLs specifically written for integration into the VB6 IDE) and to place the component on a "form", even if it isn't a visual component.
 
Last edited:
Back
Top