Skip to content
MPGHThe Dark Arts
/
RegisterLog in
Forum
Community
What's NewLatest posts across the boardTrendingHottest threads right nowSubscribedThreads you follow
Discussion
GeneralIntroductionsEntertainmentDebate FortFlaming & Rage
Board
News & AnnouncementsMPGH TimesSuggestions & HelpGiveaways
More Sections
Art & Graphic DesignProgrammingHackingCryptocurrency
Hacks & Cheats
Games
ValorantCS2 / CS:GOCall of Duty / WarzoneFortniteApex LegendsEscape From Tarkov
+14 moreLeague of LegendsGTA VMinecraftRustROTMGBattlefieldTroveBattleOnCombat ArmsCrossFireBlackshotRuneScapeDayZDead by Daylight
Resources
Game Hacking TutorialsReverse EngineeringGeneral Game HackingAnti-CheatConsole Game Hacking
Tools
Game Hacking ToolsTrainers & CheatsHack/Release NewsNew
Submit a release →Share your cheat, tool, or config with the community.
AINEW
AI Tools
General & DiscussionPrompt EngineeringLLM JailbreaksHotAI Agents & AutomationLocal / Open Models
AI × Gaming
AI Aimbots & VisionML Anti-CheatGame Bots & Automation
Create
AI Coding / Vibe CodingAI Art & MediaAI Voice & TTS
The AI frontier →Where game hacking meets modern machine learning. Jump in.
Marketplace
Buy & Sell
SellingBuyingTradingUser Services
Trust & Safety
Middleman LoungeMarketplace TalkVouch Copy Profiles
Money
Cryptocurrency TalkCurrency ExchangeWork & Job Offers
Start selling →List accounts, services, and goods. Use the middleman to trade safe.
MPGH The Dark Arts

A community for offensive security research, reverse engineering, and AI.

Community

ForumMarketplaceSearch

Account

RegisterLog in

Legal

Privacy PolicyForum RulesHelp & FAQ
© 2026 MPGH · All rights reserved.Built by the community, for the community. For educational purposes onlyContent is shared for security research and education — we don't condone illegal use. You're responsible for complying with applicable laws. Use at your own risk.
Home › Forum › MultiPlayer Game Hacks & Cheats › Other MMORPG Hacks › Vindictus Hacks & Cheats › [Release] Loyalty Tool [Source]

[Release] Loyalty Tool [Source]

Posts 1–15 of 66 · Page 1 of 5
…
TH
The_Ku
AutoIt Source

I am pre-occupied with other things at the moment and will not be continuing this project. Instead of killing it off completely I will let someone pick it up and hopefully create a better sense of hacking in the future. A world without hacks being available to leechers and spies unless they want to do the work required to get them.


Also for those who don't know what this is... check my original thread.
http://www.mpgh.net/forum/423-vindic...alty-tool.html

NOTE: This is the version I originally showed, not my updated version.
Why release something like this completely done. You gotta work for something great. Especially if you want to keep all or certain hacks intact and safe from purge.

There is a lot of stuff not working in this version, I left out the FTP Download/Upload, you can figure that out on you're own. Along with how to make it read post/thanks/thanked count upon login. Other than that, you should be set.

Client Code:
Code:
#Region 
#AutoIt3Wrapper_outfile=Client.exe
#EndRegion
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#Include <GuiEdit.au3>
#Include <GuiListView.au3>
#Include <GuiMenu.au3>
#include <TCP.au3>
#include <WindowsConstants.au3>

;Tester()
;Func Tester()
Local $msg
$tester= GUICreate("Login Tool", 300, 110, 200, 95)
GUICtrlCreateLabel("Username:", 27, 25)
GUICtrlCreateLabel("Password:", 30, 50)
$pw= GUICtrlCreateInput("", 85, 46, 190, 0, 0x0020)
$usr= GUICtrlCreateInput("The_Ku", 85, 21, 190, 0)
$login= GUICtrlCreateButton("Login", 85, 71, 0, 0)

GUISetState(@SW_SHOW)
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $login
			Global $old_url = ''
			If Not FileExists("C:\temp\url.ini") Then
				IniWrite("C:\temp\url.ini","URL","URL","http://www.mpgh.net/")
			EndIf
			$urlHome = IniRead("C:\temp\url.ini","URL","URL","")
			_IEErrorHandlerRegister ()
			$oIE = _IECreateEmbedded ()
			GUICreate("Community Tool", 1024, 786, _
					(@desktopWidth - 900) / 2, (@desktopHeight - 900) / 2, _
					$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
			$GUIActiveX = GUICtrlCreateObj($oIE, 57, 35, 942, 400)
			$GUI_Address_Bar = GUICtrlCreateInput($urlHome, 157, 10, 600, 20)
			GUICtrlSetData($GUI_Address_Bar,$urlHome)
			$GUI_Button_Back = GUICtrlCreateButton("<-", 55, 10, 50, 20)
			$GUI_Button_Forward = GUICtrlCreateButton("->", 105, 10, 50, 20)
			$GUI_Button_Refresh = GUICtrlCreateButton("@", 3, 10, 50, 20)
			$GUI_Button_HD = GUICtrlCreateButton("Hell_Demon", 760, 10, 80, 20)
			$GUI_Button_E = GUICtrlCreateButton("es0terik", 840, 10, 80, 20)
			$GUI_Button_TK = GUICtrlCreateButton("The_Ku", 920, 10, 80, 20)
			GUISetState() 
			_IENavigate ($oIE, $urlHome)
			$o_form = _IEFormGetCollection ($oIE, 0) 
			$o_login = _IEFormElementGetCollection ($o_form, 0) 
			$o_password = _IEFormElementGetCollection ($o_form, 2) 
			$username = GUICtrlRead($usr)
			$password = GUICtrlRead($pw)
			_IEFormElementSetValue ($o_login, $username)
			_IEFormElementSetValue ($o_password, $password)
			_IEFormSubmit ($o_form)
			_IELoadWait ($oIE)
			While 1
				_inputChk()
				Chat()
				$msg = GUIGetMsg()
				Select
					Case $msg = $GUI_EVENT_CLOSE
						Exit
					Case $msg = $GUI_Button_Back
						_IEAction ($oIE, "back")
					Case $msg = $GUI_Button_Forward
						_IEAction ($oIE, "forward")
					Case $msg = $GUI_Button_Refresh
						_IEAction ($oIE, "refresh")
					Case $msg = $GUI_Button_HD
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Button_E
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Button_TK
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Address_Bar
						$urlValue = GUICtrlRead($GUI_Address_Bar)
						_IENavigate($oIE,$urlValue)
						$urlGet = _IEPropertyGet($oIE,"locationurl")
						GUICtrlSetData($GUI_Address_Bar,$urlGet)
			;       Case $msg = $GUI_Button_Stop
			;          _IEAction ($oIE, "stop")
				EndSelect
			WEnd
	EndSelect		
WEnd
;EndFunc
Func _inputChk()
	$current_url = _IEPropertyGet ($oIE, "locationurl")
	If $old_url <> $current_url Then
			$old_url = $current_url
		GUICtrlSetData($GUI_Address_Bar, $current_url)
	EndIf
EndFunc

Func Chat()
	$name = GUICtrlRead($usr)
	Dim $clientlist[1]
	$clist = GUICtrlCreateListView("Username", 900, 460, 100, 260)
	$chatbox = GUICtrlCreateEdit("", 480, 462, 420, 260, BitOR($ES_READONLY, $ES_AUTOVSCROLL, $WS_VSCROLL), $WS_EX_CLIENTEDGE)
	$chatinput = GUICtrlCreateEdit("", 480, 720, 420, 20, BitOR($ES_MULTILINE, $WS_VSCROLL), $WS_EX_CLIENTEDGE)
	$send = GUICtrlCreateButton("Send", 900, 720, 100, 20, $BS_DEFPUSHBUTTON )
	;GUICtrlCreateListViewItem($clients[0], $clist)
	
	$******nu = GUICtrlCreateMenu("File")
	$exit = GUICtrlCreateMenuItem("Exit", $******nu)
	$optionmenu = GUICtrlCreateMenu("Options")
	$timestamp = GUICtrlCreateMenuItem("Timestamp", $optionmenu, 0 , 1)
	GUISetState()
	$hClient = _TCP_Client_Create("Your-IP-ADDRESS", 12345) ; <- IMPORTANT - Allows people to connect to your chat server.
	_TCP_RegisterEvent($hClient, $TCP_RECEIVE, "Received")
	_TCP_RegisterEvent($hClient, $TCP_CONNECT, "Connected")
	_TCP_RegisterEvent($hClient, $TCP_DISCONNECT, "Disconnected")
			

	$msg = GUIGetMsg()
	While $msg <> -3 Or $msg <> $exit
		$msg = GUIGetMsg()
		Select
			Case $msg = $send
				If GUICtrlRead($chatinput) <> "" Then
					_TCP_Send($hClient, $name & ": " & GUICtrlRead($chatinput))
					GUICtrlSetData($chatinput, "")
					ControlFocus("Server","",$chatinput)
				EndIf
			Case $msg = -3 Or $msg = $exit
				Exit
		EndSelect
	WEnd
EndFunc
Func Received($hClient, $sReceived, $iError)
	If $sReceived == "##serversd" Then
		If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
			_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] Lost connection to server or disconnected!")
		Else
			_GUICtrlEdit_AppendText($chatbox, @crlF & "Lost connection to server or disconnected!")
		EndIf
	ElseIf StringLeft($sReceived, 6) = "##list" Then
		_GUICtrlListView_DeleteAllItems($clist)
		
		ReDim $clientlist[StringMid($sReceived, 7, 1)]
		$clientlist = StringSplit(StringMid($sReceived, 8), "|")
		For $i = 1 To ($clientlist[0] - 1)
			GUICtrlCreateListViewItem($clientlist[$i], $clist)
		Next
	Else
		If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
			_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] " & $sReceived)
		Else
			;_GUICtrlEdit_AppendText($chatbox, @crlF & $sReceived)
			_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] " & $sReceived)
		EndIf
	EndIf
EndFunc

Func Connected($hClient, $iError)
	If not $iError Then
		Sleep(1000)
		_TCP_Send($hClient, "##username" & $name)
		If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
			_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] Connected to server!")
		Else
			_GUICtrlEdit_AppendText($chatbox, "Connected to server!")
		EndIf
	Else; ,else...
		MsgBox(0, "Error", "Could not connect to server!")
	EndIf
EndFunc

Func Disconnect($hClient, $iError) 
	Sleep(1000)
	_TCP_Send($hClient, "##disconnect" & $name)
	If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
		_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] Lost connection to server or disconnected!")
	Else
		_GUICtrlEdit_AppendText($chatbox, "Lost connection to server or disconnected!")
	EndIf
EndFunc

Func OnAutoItExit()
	Sleep(1)
	_TCP_Send($hClient, "##disconnect" & $name)
	_TCP_Client_Stop($hClient)
EndFunc
Server Code:
Code:
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
#Include <Array.au3>
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#Include <GuiEdit.au3>
#Include <GuiListView.au3>
#Include <GuiMenu.au3>
#include <TCP.au3>
#include <WindowsConstants.au3>

;Tester()
;Func Tester()
Local $msg
$tester= GUICreate("Login Tool", 300, 110, 200, 95)
GUICtrlCreateLabel("Username:", 27, 25)
GUICtrlCreateLabel("Password:", 30, 50)
$pw= GUICtrlCreateInput("", 85, 46, 190, 0, 0x0020)
$usr= GUICtrlCreateInput("The_Ku", 85, 21, 190, 0)
$login= GUICtrlCreateButton("Login", 85, 71, 0, 0)

GUISetState(@SW_SHOW)
While 1
	$msg = GUIGetMsg()
	Select
		Case $msg = $GUI_EVENT_CLOSE
			Exit
		Case $msg = $login
			$clientdisconnect = 0
			Dim $clients[10]
			Dim $clientname[10]
			$kick = GUICtrlCreateButton("Kick", 10, 420, 115)
			$clientsconnected = 1
			$clients[0] = GUICtrlRead($usr)
			$clientname[0] = GUICtrlRead($usr) & " - Host"
			Global $old_url = ''
			If Not FileExists("C:\temp\url.ini") Then
				IniWrite("C:\temp\url.ini","URL","URL","http://www.mpgh.net/")
			EndIf
			$urlHome = IniRead("C:\temp\url.ini","URL","URL","")
			_IEErrorHandlerRegister ()
			$oIE = _IECreateEmbedded ()
			GUICreate("Community Tool", 1024, 786, _
					(@desktopWidth - 900) / 2, (@desktopHeight - 900) / 2, _
					$WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS + $WS_CLIPCHILDREN)
			$GUIActiveX = GUICtrlCreateObj($oIE, 57, 35, 942, 400)
			$GUI_Address_Bar = GUICtrlCreateInput($urlHome, 157, 10, 600, 20)
			GUICtrlSetData($GUI_Address_Bar,$urlHome)
			$GUI_Button_Back = GUICtrlCreateButton("<-", 55, 10, 50, 20)
			$GUI_Button_Forward = GUICtrlCreateButton("->", 105, 10, 50, 20)
			$GUI_Button_Refresh = GUICtrlCreateButton("@", 3, 10, 50, 20)
			$GUI_Button_HD = GUICtrlCreateButton("Hell_Demon", 760, 10, 80, 20)
			$GUI_Button_E = GUICtrlCreateButton("es0terik", 840, 10, 80, 20)
			$GUI_Button_TK = GUICtrlCreateButton("The_Ku", 920, 10, 80, 20)
			GUISetState() 
			_IENavigate ($oIE, $urlHome)
			$o_form = _IEFormGetCollection ($oIE, 0) 
			$o_login = _IEFormElementGetCollection ($o_form, 0) 
			$o_password = _IEFormElementGetCollection ($o_form, 2) 
			$username = GUICtrlRead($usr)
			$password = GUICtrlRead($pw)
			_IEFormElementSetValue ($o_login, $username)
			_IEFormElementSetValue ($o_password, $password)
			_IEFormSubmit ($o_form)
			_IELoadWait ($oIE)
			$clist = GUICtrlCreateListView("Username", 900, 460, 100, 260)
			$chatbox = GUICtrlCreateEdit("", 480, 462, 420, 260, BitOR($ES_READONLY, $ES_AUTOVSCROLL, $WS_VSCROLL), $WS_EX_CLIENTEDGE)
			$chatinput = GUICtrlCreateEdit("", 480, 720, 420, 20, BitOR($ES_MULTILINE, $WS_VSCROLL), $WS_EX_CLIENTEDGE)
			$send = GUICtrlCreateButton("Send", 900, 720, 100, 20, $BS_DEFPUSHBUTTON )
	
			GUICtrlCreateListViewItem($clients[0], $clist)

			$******nu = GUICtrlCreateMenu("File")
			$exit = GUICtrlCreateMenuItem("Exit", $******nu)
			$optionmenu = GUICtrlCreateMenu("Options")
			$timestamp = GUICtrlCreateMenuItem("Timestamp", $optionmenu, 0 , 1)
			GUISetState()

			$hServer = _TCP_Server_Create(12345, @iPaddress1) ;Create a server on port
			_TCP_RegisterEvent($hServer, $TCP_NEWCLIENT, "NewClient") 
			_TCP_RegisterEvent($hServer, $TCP_DISCONNECT, "Disconnect") 
			_TCP_RegisterEvent($hServer, $TCP_RECEIVE, "Received")


			$msg = GUIGetMsg()
			$time = TimerInit()
			While $msg <> -3 or $msg <> $exit
				$msg = GUIGetMsg()
					Select
						Case $msg = $send
						If GUICtrlRead($chatinput) <> "" Then
							_TCP_Server_Broadcast($usr & ": " & GUICtrlRead($chatinput))
							If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
								_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] " & GUICtrlRead($usr) & ": " & GUICtrlRead($chatinput))
							Else
								;_GUICtrlEdit_AppendText($chatbox, @crlF & GUICtrlRead($usr) & ": " & GUICtrlRead($chatinput))
								_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] " & GUICtrlRead($usr) & ": " & GUICtrlRead($chatinput))
							EndIf
							GUICtrlSetData($chatinput, "")
							ControlFocus("Server","",$chatinput)
						EndIf
					Case $msg = $kick
			;$selected = _GUICtrlListView_GetSelectedIndices($clist, True)
			;$kickname = _GUICtrlListView_GetItemText($clist, $selected)
			;$kickip = _GUICtrlListView_GetItemText($clist, $selected, 1)
			;MsgBox(0, "", $kickname & @crlF & $kickip)
					Case $msg = -3 or $msg = $exit
						Exit
				EndSelect
				If TimerDiff($time) >= 5000 Then
					$clientlist = "##list" & $clientsconnected & _ArrayToString($clientname, "|", 0, $clientsconnected)
					$time = TimerInit()
					_TCP_Server_Broadcast($clientlist)
				EndIf
			WEnd

			Func Received($hServer, $sReceived, $iError)
				If StringLeft($sReceived, 10) = "##username" Then
					If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
						_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] Client Connected!")
					Else
						_GUICtrlEdit_AppendText($chatbox, @crlF & "Client Connected!")
					EndIf

					$clientnamestripped = StringMid($sReceived, 11)
					$clients[$clientsconnected] = GUICtrlCreateListViewItem($clientnamestripped & "|" & _TCP_Server_ClientIP($hServer), $clist)
					$clientname[$clientsconnected] = $clientnamestripped
					$clientsconnected = $clientsconnected + 1
					_GUICtrlEdit_AppendText($chatbox, @crlF & $clientsconnected)
					ReDim $clients[$clientsconnected + 1]
					ReDim $clientname[$clientsconnected + 1]
				ElseIf StringLeft($sReceived, 12) = "##disconnect" Then
					If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
						_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] Client Disconnected!")
					Else
						_GUICtrlEdit_AppendText($chatbox, @crlF & "Client Disconnected!")
					EndIf
					For $i = 0 To ($clientsconnected - 1) Step 1
						If StringMid($sReceived, 13) = $clientname[$i] Then
							GUICtrlDelete($clients[$i])
							$clientsconnected = $clientsconnected - 1
							_ArrayDelete($clientname, $i)
							_GUICtrlEdit_AppendText($chatbox, @crlF & $clientsconnected)
							ReDim $clients[$clientsconnected + 1]
							ReDim $clientname[$clientsconnected + 1]
							ExitLoop
						EndIf
					Next
				Else
					If BitAnd(GUICtrlRead($timestamp),$GUI_CHECKED) = $GUI_CHECKED Then
						_GUICtrlEdit_AppendText($chatbox, @crlF & "[" &@HOUR & ":" & @Min & ":" & @Sec & "] " & $sReceived)
					Else
						_GUICtrlEdit_AppendText($chatbox, @crlF & $sReceived)
					EndIf
					_TCP_Server_Broadcast($sReceived)
				EndIf
			EndFunc

			Func OnAutoItExit()
				_TCP_Server_Broadcast("##serversd")
				_TCP_Server_Stop()
			EndFunc
			
			While 1
				_inputChk()
				$msg = GUIGetMsg()
				Select
					Case $msg = $GUI_EVENT_CLOSE
						Exit
					Case $msg = $GUI_Button_Back
						_IEAction ($oIE, "back")
					Case $msg = $GUI_Button_Forward
						_IEAction ($oIE, "forward")
					Case $msg = $GUI_Button_Refresh
						_IEAction ($oIE, "refresh")
					Case $msg = $GUI_Button_HD
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Button_E
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Button_TK
						_IENavigate ($oIE, "")
					Case $msg = $GUI_Address_Bar
						$urlValue = GUICtrlRead($GUI_Address_Bar)
						_IENavigate($oIE,$urlValue)
						$urlGet = _IEPropertyGet($oIE,"locationurl")
						GUICtrlSetData($GUI_Address_Bar,$urlGet)
			;       Case $msg = $GUI_Button_Stop
			;          _IEAction ($oIE, "stop")
				EndSelect
			WEnd
	EndSelect		
WEnd
;EndFunc
Func _inputChk()
	$current_url = _IEPropertyGet ($oIE, "locationurl")
	If $old_url <> $current_url Then
			$old_url = $current_url
		GUICtrlSetData($GUI_Address_Bar, $current_url)
	EndIf
EndFunc
TCP Code (This is needed for your Chat Server):
Code:
#cs

Functions:

	_TCP_Server_Create($iPort, $sIP="0.0.0.0")
	_TCP_Server_Broadcast($sData)
	_TCP_Server_ClientList()
	_TCP_Server_ClientIP($hSocket)
	_TCP_Server_DisconnectClient($hSocket)
	_TCP_Server_Stop()


	_TCP_Client_Create($sIP , $iPort)
	_TCP_Client_Stop($hSocket)


	_TCP_Send($hSocket, $sText)
	_TCP_RegisterEvent($hSocket, $iEvent, $sFunction)


Register event values:

	$TCP_SEND				; Function ($hSocket, $iError)
	$TCP_RECEIVE			; Function ($hSocket, $sReceived, $iError)
	$TCP_CONNECT			; Function ($hSocket, $iError)					=> Client only
	$TCP_DISCONNECT			; Function ($hSocket, $iError)
	$TCP_NEWCLIENT			; Function ($hSocket, $iError) 					=> Server only


#ce


Global Const $FD_READ = 1
Global Const $FD_WRITE = 2
Global Const $FD_OOB = 4
Global Const $FD_ACCEPT = 8
Global Const $FD_CONNECT = 16
Global Const $FD_CLOSE = 32
Local $hWs2_32 = -1

Global Const $TCP_SEND = 1
Global Const $TCP_RECEIVE = 2
Global Const $TCP_CONNECT = 4
Global Const $TCP_DISCONNECT = 8
Global Const $TCP_NEWCLIENT = 16


TCPStartup()
Global Const $__TCP_WINDOW = GUICreate("Async Sockets UDF")
Global $__TCP_SOCKETS[1][7]


Func _TCP_Server_Create($iPort, $sIP="0.0.0.0")
	
	$hListenSocket = _ASocket( )

	
	_ASockSelect( $hListenSocket, $__TCP_WINDOW, 0x0400, $FD_ACCEPT)
	GUIRegisterMsg( 0x0400, "__TCP_OnAccept" )
	
	
	_ASockListen( $hListenSocket, $sIP, $iPort )
	
	$__TCP_SOCKETS[0][0] = $hListenSocket
	$__TCP_SOCKETS[0][1] = 0x0400
	
	Return $hListenSocket
	
EndFunc


Func __TCP_OnAccept($hWnd, $iMsgID, $WParam, $LParam)
	
	Local $hSocket = $WParam
	Local $iError = _HiWord( $LParam )
	Local $iEvent = _LoWord( $LParam )
	
	
	If $iMsgID = $__TCP_SOCKETS[0][1] Then
		
		If $iEvent = $FD_ACCEPT Then
			
			If Not $iError Then
				
				ReDim $__TCP_SOCKETS[UBound($__TCP_SOCKETS)+1][7]
				$uBound = UBound($__TCP_SOCKETS)
				
				$hClient = TCPAccept($hSocket)
				
				_ASockSelect($hClient, $__TCP_WINDOW, 0x0400 + $uBound - 1, BitOR($FD_READ, $FD_WRITE, $FD_CLOSE))
				GUIRegisterMsg(0x0400 + $uBound - 1, "__TCP_Server_OnSocketEvent" )
				
				$__TCP_SOCKETS[UBound($__TCP_SOCKETS)-1][0] = $hClient
				$__TCP_SOCKETS[UBound($__TCP_SOCKETS)-1][1] = 0x0400 + $uBound - 1
				
				Call($__TCP_SOCKETS[0][6], $hClient, $iError)
				
			Else
				
				Call($__TCP_SOCKETS[0][6], 0, $iError)
				
			EndIf
			
		ElseIf $iEvent = $FD_CONNECT Then
			
			Call($__TCP_SOCKETS[0][4], $hSocket, $iError)
			
		EndIf
		
	EndIf
	
EndFunc


Func _TCP_Client_Stop($hSocket)
	
	$iElement = 0
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		
		If $__TCP_SOCKETS[$i][0] = $hSocket Then
			$iElement = $i
			ExitLoop
		EndIf
		
	Next
	
	If $iElement Then
		
		_ASockShutdown($__TCP_SOCKETS[$iElement][0])
		TCPCloseSocket($__TCP_SOCKETS[$iElement][0])
		
		___ArrayDelete($__TCP_SOCKETS, $iElement)
		
		Return 1
		
	EndIf
	
	Return 0
	
EndFunc


Func _TCP_Server_Stop()
	
	_ASockShutdown($__TCP_SOCKETS[0][0])
	TCPCloseSocket($__TCP_SOCKETS[0][0])
	
	$__TCP_SOCKETS[0][0] = ""
	$__TCP_SOCKETS[0][1] = ""
	$__TCP_SOCKETS[0][2] = ""
	$__TCP_SOCKETS[0][3] = ""
	$__TCP_SOCKETS[0][4] = ""
	$__TCP_SOCKETS[0][5] = ""
	$__TCP_SOCKETS[0][6] = ""
	
	For $i = UBound($__TCP_SOCKETS)-1 to 1 Step -1
		___ArrayDelete($__TCP_SOCKETS, $i)
	Next
	
	Return 1
	
EndFunc


Func __TCP_Server_OnSocketEvent( $hWnd, $iMsgID, $WParam, $LParam )
	
	Local $hSocket = $WParam
	Local $iError = _HiWord( $LParam )
	Local $iEvent = _LoWord( $LParam )
	
	Local $sDataBuff
	
	$hSocket = 0
	$iElement = 0
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		
		If $__TCP_SOCKETS[$i][1] = $iMsgID Then
			$hSocket = $__TCP_SOCKETS[$i][0]
			$iElement = $i
			ExitLoop
		EndIf
		
	Next
	
    If $hSocket Then
		
		Switch $iEvent
			Case $FD_READ
				
				$sDataBuff = TCPRecv($hSocket, 1024)
				
				Call($__TCP_SOCKETS[0][2], $hSocket, $sDataBuff, $iError)
				
			Case $FD_WRITE
				
				Call($__TCP_SOCKETS[0][3], $hSocket, $iError)
				
			Case $FD_CLOSE
				
				_ASockShutdown($hSocket)
				TCPCloseSocket($hSocket)
				
				Call($__TCP_SOCKETS[0][5], $hSocket, $iError)
				
				___ArrayDelete($__TCP_SOCKETS, $iElement)
				
		EndSwitch
		
	EndIf
	
EndFunc


Func _TCP_Server_DisconnectClient($hSocket)
	
	$iElement = 0
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		
		If $__TCP_SOCKETS[$i][0] = $hSocket Then
			$iElement = $i
			ExitLoop
		EndIf
		
	Next
	
    If $iElement Then
		
		_ASockShutdown($hSocket)
		TCPCloseSocket($hSocket)
		
		___ArrayDelete($__TCP_SOCKETS, $iElement)
		
		Return 1
		
	EndIf
	
	Return 0
	
EndFunc


Func _TCP_Server_ClientList()
	
	Local $aReturn[1]
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		If $__TCP_SOCKETS[$i][0] Then
			ReDim $aReturn[UBound($aReturn)+1]
			$aReturn[UBound($aReturn)-1] = $__TCP_SOCKETS[$i][0]
		EndIf
	Next
	
	$aReturn[0] = UBound($aReturn)-1
	
	Return $aReturn
	
EndFunc



Func _TCP_Server_Broadcast($sData)
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		
		If $__TCP_SOCKETS[$i][0] Then TCPSend($__TCP_SOCKETS[$i][0], $sData)
		
	Next
	
EndFunc


Func _TCP_Client_Create($sIP , $iPort)
	
	ReDim $__TCP_SOCKETS[UBound($__TCP_SOCKETS)+1][7]
	$uBound = UBound($__TCP_SOCKETS)
	
	$hSocket = _ASocket()
	
	$__TCP_SOCKETS[UBound($__TCP_SOCKETS)-1][0] = $hSocket
	$__TCP_SOCKETS[UBound($__TCP_SOCKETS)-1][1] = 0x0400 + (UBound($__TCP_SOCKETS)-1)
	
	_ASockSelect( $hSocket, $__TCP_WINDOW, 0x0400 + (UBound($__TCP_SOCKETS)-1), BitOR( $FD_READ, $FD_WRITE, $FD_CONNECT, $FD_CLOSE ) )
	GUIRegisterMsg( 0x0400 + (UBound($__TCP_SOCKETS)-1), "__TCP_Client_OnSocketEvent" )
	_ASockConnect( $hSocket, $sIP, $iPort )
	
	Return $hSocket
	
EndFunc


Func _TCP_RegisterEvent($hSocket, $iEvent, $sFunction)
	
	Local $iSelected = 0
	
	If $__TCP_SOCKETS[0][0] Then
		
		$iSelected = 0
		
	Else
		
		For $i = 0 to UBound($__TCP_SOCKETS)-1
			If $__TCP_SOCKETS[$i][0] = $hSocket Then
				$iSelected = $i
				ExitLoop
			EndIf
		Next
		
		If Not $iSelected Then Return 0
		
	EndIf
	
	Switch $iEvent
		Case $TCP_SEND
			$__TCP_SOCKETS[$iSelected][3] = $sFunction
		Case $TCP_RECEIVE
			$__TCP_SOCKETS[$iSelected][2] = $sFunction
		Case $TCP_CONNECT
			$__TCP_SOCKETS[$iSelected][4] = $sFunction
		Case $TCP_DISCONNECT
			$__TCP_SOCKETS[$iSelected][5] = $sFunction
		Case $TCP_NEWCLIENT
			$__TCP_SOCKETS[$iSelected][6] = $sFunction
		Case Else
			Return 0
	EndSwitch
	
	Return 1

	
EndFunc

Func _TCP_Server_ClientIP($hSocket)
	
	Local $pSocketAddress, $aReturn
	
	$pSocketAddress = DllStructCreate("short;ushort;uint;char[8]")
    $aReturn = DllCall("Ws2_32.dll", "int", "getpeername", "int", $hSocket, "ptr", DllStructGetPtr($pSocketAddress), "int*", DllStructGetSize($pSocketAddress))
	If @error Or $aReturn[0] <> 0 Then Return 0
	
	$aReturn = DllCall("Ws2_32.dll", "str", "inet_ntoa", "int", DllStructGetData($pSocketAddress, 3))
	If @error Then Return 0
	
    $pSocketAddress = 0
	
    Return $aReturn[0]
	
EndFunc


Func _TCP_Send($hSocket, $sText)
	
	Return TCPSend($hSocket, $sText)
	
EndFunc



Func __TCP_Client_OnSocketEvent( $hWnd, $iMsgID, $WParam, $LParam )
	
    Local $iError = _HiWord( $LParam )
    Local $iEvent = _LoWord( $LParam )
	
	$hSocket = 0
	$iElement = 0
	
	For $i = 1 to UBound($__TCP_SOCKETS)-1
		
		If $__TCP_SOCKETS[$i][1] = $iMsgID Then
			$hSocket = $__TCP_SOCKETS[$i][0]
			$iElement = $i
			ExitLoop
		EndIf
		
	Next
	
    If $hSocket Then
		
        Switch $iEvent
            Case $FD_READ; Data has arrived!
                
				$sDataBuff = TCPRecv( $hSocket, 1024)
                
				Call($__TCP_SOCKETS[$i][2], $hSocket, $sDataBuff, $iError)
				
				$sDataBuff = ""
				
            Case $FD_WRITE
                
				Call($__TCP_SOCKETS[$i][3], $hSocket, $iError)
				
            Case $FD_CONNECT
                
				Call($__TCP_SOCKETS[$i][4], $hSocket, $iError)
				
            Case $FD_CLOSE
				
				_ASockShutdown( $hSocket )
                TCPCloseSocket( $hSocket )
				
				Call($__TCP_SOCKETS[$i][5], $hSocket, $iError)
				
				___ArrayDelete($__TCP_SOCKETS, $iElement)
				
		EndSwitch
		
	EndIf
	
EndFunc



;==================================================================================================================
; 
; Zatorg's Asynchronous Sockets UDF Starts from here.
; 
;==================================================================================================================


Func _ASocket($iAddressFamily = 2, $iType = 1, $iProtocol = 6)
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	Local $hSocket = DllCall($hWs2_32, "uint", "socket", "int", $iAddressFamily, "int", $iType, "int", $iProtocol)
	If @error Then
		SetError(1, @error)
		Return -1
	EndIf
	If $hSocket[ 0 ] = -1 Then
		SetError(2, _WSAGetLastError())
		Return -1
	EndIf
	Return $hSocket[ 0 ]
EndFunc   ;==>_ASocket

Func _ASockShutdown($hSocket)
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	Local $iRet = DllCall($hWs2_32, "int", "shutdown", "uint", $hSocket, "int", 2)
	If @error Then
		SetError(1, @error)
		Return False
	EndIf
	If $iRet[ 0 ] <> 0 Then
		SetError(2, _WSAGetLastError())
		Return False
	EndIf
	Return True
EndFunc   ;==>_ASockShutdown

Func _ASockClose($hSocket)
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	Local $iRet = DllCall($hWs2_32, "int", "closesocket", "uint", $hSocket)
	If @error Then
		SetError(1, @error)
		Return False
	EndIf
	If $iRet[ 0 ] <> 0 Then
		SetError(2, _WSAGetLastError())
		Return False
	EndIf
	Return True
EndFunc   ;==>_ASockClose

Func _ASockSelect($hSocket, $hWnd, $uiMsg, $iEvent)
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	Local $iRet = DllCall( _
			$hWs2_32, _
			"int", "WSAAsyncSelect", _
			"uint", $hSocket, _
			"hwnd", $hWnd, _
			"uint", $uiMsg, _
			"int", $iEvent _
			)
	If @error Then
		SetError(1, @error)
		Return False
	EndIf
	If $iRet[ 0 ] <> 0 Then
		SetError(2, _WSAGetLastError())
		Return False
	EndIf
	Return True
EndFunc   ;==>_ASockSelect

; Note: you can see that $iMaxPending is set to 5 by default.
; IT DOES NOT MEAN THAT DEFAULT = 5 PENDING CONNECTIONS
; 5 == SOMAXCONN, so don't worry be happy
Func _ASockListen($hSocket, $sIP, $uiPort, $iMaxPending = 5); 5 == SOMAXCONN => No need to change it.
	Local $iRet
	Local $stAddress

	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )

	$stAddress = __SockAddr($sIP, $uiPort)
	If @error Then
		SetError(@error, @extended)
		Return False
	EndIf
	
	$iRet = DllCall($hWs2_32, "int", "bind", "uint", $hSocket, "ptr", DllStructGetPtr($stAddress), "int", DllStructGetSize($stAddress))
	If @error Then
		SetError(3, @error)
		Return False
	EndIf
	If $iRet[ 0 ] <> 0 Then
		$stAddress = 0; Deallocate
		SetError(4, _WSAGetLastError())
		Return False
	EndIf
	
	$iRet = DllCall($hWs2_32, "int", "listen", "uint", $hSocket, "int", $iMaxPending)
	If @error Then
		SetError(5, @error)
		Return False
	EndIf
	If $iRet[ 0 ] <> 0 Then
		$stAddress = 0; Deallocate
		SetError(6, _WSAGetLastError())
		Return False
	EndIf
	
	Return True
EndFunc   ;==>_ASockListen

Func _ASockConnect($hSocket, $sIP, $uiPort)
	Local $iRet
	Local $stAddress
	
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	
	$stAddress = __SockAddr($sIP, $uiPort)
	If @error Then
		SetError(@error, @extended)
		Return False
	EndIf
	
	$iRet = DllCall($hWs2_32, "int", "connect", "uint", $hSocket, "ptr", DllStructGetPtr($stAddress), "int", DllStructGetSize($stAddress))
	If @error Then
		SetError(3, @error)
		Return False
	EndIf
	
	$iRet = _WSAGetLastError()
	If $iRet = 10035 Then; WSAEWOULDBLOCK
		Return True; Asynchronous connect attempt has been started.
	EndIf
	SetExtended(1); Connected immediately
	Return True
EndFunc   ;==>_ASockConnect

; A wrapper function to ease all the pain in creating and filling the sockaddr struct
Func __SockAddr($sIP, $iPort, $iAddressFamily = 2)
	Local $iRet
	Local $stAddress
	
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	
	$stAddress = DllStructCreate("short; ushort; uint; char[8]")
	If @error Then
		SetError(1, @error)
		Return False
	EndIf
	
	DllStructSetData($stAddress, 1, $iAddressFamily)
	$iRet = DllCall($hWs2_32, "ushort", "htons", "ushort", $iPort)
	DllStructSetData($stAddress, 2, $iRet[ 0 ])
	$iRet = DllCall($hWs2_32, "uint", "inet_addr", "str", $sIP)
	If $iRet[ 0 ] = 0xffffffff Then; INADDR_NONE
		$stAddress = 0; Deallocate
		SetError(2, _WSAGetLastError())
		Return False
	EndIf
	DllStructSetData($stAddress, 3, $iRet[ 0 ])
	
	Return $stAddress
EndFunc   ;==>__SockAddr

Func _WSAGetLastError()
	If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" )
	Local $iRet = DllCall($hWs2_32, "int", "WSAGetLastError")
	If @error Then
		ConsoleWrite("+> _WSAGetLastError(): WSAGetLastError() failed. Script line number: " & @sCripTLineNumber & @crlF)
		SetExtended(1)
		Return 0
	EndIf
	Return $iRet[ 0 ]
EndFunc   ;==>_WSAGetLastError


; Got these here:
; http://www.autoitscrip*****m/forum/in...20&hl=MAKELONG
Func _MakeLong($LoWord, $HiWord)
	Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF)); Thanks Larry
EndFunc   ;==>_MakeLong

Func _HiWord($Long)
	Return BitShift($Long, 16); Thanks Valik
EndFunc   ;==>_HiWord

Func _LoWord($Long)
	Return BitAND($Long, 0xFFFF); Thanks Valik
EndFunc   ;==>_LoWord


; ========================================= Array functions

; #FUNCTION# ====================================================================================================================
; Name...........: _ArrayDelete
; Description ...: Deletes the specified element from the given array.
; Syntax.........: _ArrayDelete(ByRef $avArray, $iElement)
; Parameters ....: $avArray  - Array to modify
;                  $iElement - Element to delete
; Return values .: Success - New size of the array
;                  Failure - 0, sets @error to:
;                  |1 - $avArray is not an array
;                  |3 - $avArray has too many dimensions (only up to 2D supported)
;                  |(2 - Deprecated error code)
; Author ........: Cephas <cephas at clergy dot net>
; Modified.......: Jos van der Zande <jdeb at autoitscript dot com> - array passed ByRef, Ultima - 2D arrays supported, reworked function (no longer needs temporary array; faster when deleting from end)
; Remarks .......: If the array has one element left (or one row for 2D arrays), it will be set to "" after _ArrayDelete() is used on it.
; Related .......: _ArrayAdd, _ArrayInsert, _ArrayPop, _ArrayPush
; Link ..........;
; Example .......; Yes
; ===============================================================================================================================
Func ___ArrayDelete(ByRef $avArray, $iElement)
	If Not IsArray($avArray) Then Return SetError(1, 0, 0)

	Local $iUBound = UBound($avArray, 1) - 1

	If Not $iUBound Then
		$avArray = ""
		Return 0
	EndIf

	; Bounds checking
	If $iElement < 0 Then $iElement = 0
	If $iElement > $iUBound Then $iElement = $iUBound

	; Move items after $iElement up by 1
	Switch UBound($avArray, 0)
		Case 1
			For $i = $iElement To $iUBound - 1
				$avArray[$i] = $avArray[$i + 1]
			Next
			ReDim $avArray[$iUBound]
		Case 2
			Local $iSubMax = UBound($avArray, 2) - 1
			For $i = $iElement To $iUBound - 1
				For $j = 0 To $iSubMax
					$avArray[$i][$j] = $avArray[$i + 1][$j]
				Next
			Next
			ReDim $avArray[$iUBound][$iSubMax + 1]
		Case Else
			Return SetError(3, 0, 0)
	EndSwitch

	Return $iUBound
EndFunc   ;==>_ArrayDelete
Good Luck

Can't edit the OP so i'll just put it here for now.

These are the .au3 files themself. The chat filter i guess messed up some of the lines in the CODE wrap when i posted it.

http://www.virustotal.com/file-scan/...c78-1306856702

@Hell_Demon Please Approve, and move it to the op if u can.
#1 · edited 15y ago · 15y ago
Drawingblood
Drawingblood
iv actually try'ed to make tons of hacks to share they just nvr work so hours and hours wasted
#2 · edited 15y ago · 15y ago
Hitman 47
Hitman 47
i wish i had an ip...
#3 · 15y ago
TH
The_Ku
Quote Originally Posted by Drawingblood View Post
i wish i had a iq higher then 71

iv actually try'ed to make tons of hacks to share they just nvr work so hours and hours waisted
Well this isn't necessarily a hack, Its more of a prevention of losing hacks. In the sense that devs can't just google their games hacks to find out whats going on.
#4 · 15y ago
Drawingblood
Drawingblood
Can some 1 help me figure this out, i basically on this site 24/7 and one day in the future ill get programing figured out. maybe.

@The_Ku I know but i really want to get this tool, it's brilliant.
#5 · edited 15y ago · 15y ago
Drawingblood
Drawingblood
Can you help me i'm messing around with C++ and i have no clue what i'm doing

Help me with team view or somthin ?
#6 · edited 15y ago · 15y ago
PI
Pie
I wish I knew the autoIt language D:
#7 · 15y ago
Drawingblood
Drawingblood
The_Ku
Choob

Write Program

ILikePie550
Expert Member

Doesn't understand



hhhhmmmm. makes sense
#8 · 15y ago
PI
Pie
Quote Originally Posted by Drawingblood View Post
The_Ku
Choob

Write Program

ILikePie550
Expert Member

Doesn't understand



hhhhmmmm. makes sense
Hey I learn really fast if I try >.<
But I don't think I'll ever try to learn the AutoIT language.
Most likely C first, then C++

I started learning C++ first with no language background. Understood the beginning and got bored and stopped D:
-------------------------
Btw @The_Ku why is this released in the Vindictus section?
#9 · edited 15y ago · 15y ago
Drawingblood
Drawingblood
Some 1 thank me 1's so i look cool =D
I really wish i understood any of this
#10 · 15y ago
HA
Hacker1100
At least this isn't a forum like ********. ******** denies releases of locked hacks - in the manner that the forum is 100% leech based. You aren't allowed to close the source so only you can modify it, or only you can use it.

Here I don't think that rule applies though so the 'Loyalty' status might work.. It's always possible for.. hackers that view this forum or what not to hack through your security and still leech the hack. It just takes a bit more time. That's why it is never really secure and locked.

Just because someone doesn't release hacks doesn't make them a leech. I consider a leech someone to take credit for someone else's work, or be completely useless to anyone. As long as you have some input or helpful comments towards something then you aren't leeching. It's very possible that those words can influence hack maker to make it better.
#11 · 15y ago
PI
Pie
Quote Originally Posted by Hacker1100 View Post
At least this isn't a forum like ********. ******** denies releases of locked hacks - in the manner that the forum is 100% leech based. You aren't allowed to close the source so only you can modify it, or only you can use it.

Here I don't think that rule applies though so the 'Loyalty' status might work.. It's always possible for.. hackers that view this forum or what not to hack through your security and still leech the hack. It just takes a bit more time. That's why it is never really secure and locked.

Just because someone doesn't release hacks doesn't make them a leech. I consider a leech someone to take credit for someone else's work, or be completely useless to anyone. As long as you have some input or helpful comments towards something then you aren't leeching. It's very possible that those words can influence hack maker to make it better.
Same here D:
I mean the first day I released the modded bindings FAC..hfs (i had 1 post lol)
and got deleted for some reason. I asked where it went and ppl started bashing me

This made me quit the forums for a bit. Then I was like I'll try again.
#12 · edited 15y ago · 15y ago
TH
The_Ku
Quote Originally Posted by ILikePie550 View Post
Hey I learn really fast if I try >.<
But I don't think I'll ever try to learn the AutoIT language.
Most likely C first, then C++

I started learning C++ first with no language background. Understood the beginning and got bored and stopped D:
-------------------------
Btw @The_Ku why is this released in the Vindictus section?
It is in the vindictus section for the simple reason that I was making it for the vindictus community.
#13 · 15y ago
Drawingblood
Drawingblood
And Pie's like so Pro now

Is my Sig pic working?
#14 · 15y ago
TH
The_Ku
Quote Originally Posted by Drawingblood View Post
The_Ku
Choob

Write Program

ILikePie550
Expert Member

Doesn't understand



hhhhmmmm. makes sense
Post count doesn't always determine who knows more. lol
#15 · 15y ago
Posts 1–15 of 66 · Page 1 of 5
…

Post a Reply

Tags for this Thread

None