Sign in to follow this  
Followers 0
themax90

ITS Chat 0.9

7 posts in this topic

#1 ·  Posted (edited)

Simple Client

CODE
; ============================================================================

; AutoIt Version : 3.1.1.98

; Author : Max Gardner(AutoIt Smith;king.of.all@comcast.net)

; Description :

; This is the AutoIt ITS Client v0.9 that utilizes the ITS Server v0.9.

; This new client supports a more user convinent GUI, settings window,

; and more hotkeys. This is a great update for the old v0.8.1 version.

; Below is a list of functions that will interface with the server.

; ============================================================================

; User+ Functions :

; /time - Sends local user and server time

; /astatus %USERNAME% - Sends user's authority status(User/Mod/Admin/AllAccess)

; /cstatus %USERNAME% - Sends user's current status(Logged On/Off)

;

; Moderator+ Functions :

; /uid %USERNAME% - Retreives UID of User

; /kick %USERNAME% - Kicks a user if you have authority

; /tempban %USERNAME% or %UID% - Bans the ID for 15 minutes

;

; Administrator Functions :

; /ban %USERNAME% or %UID% - Bans the ID Permanently

; /addauth %CODE% - Add's an Authentication Code too Database

; /removeauth %CODE% - Replaces %CODE% with Administrative Password

; ============================================================================

; Server Stream Functions ( Documented only for building a client ) :

; ~bye - Closes the socket connection inside of the server

; ~login-USER-PASS-UID - Logs in defined user with the password, UID REQUIRED

; ~pm-USER-STRING - Private Messages the user, cannot be seen by public

; ~register-USER-PASS - Registers user under the password

; ============================================================================

Global Const $E08F580FD0B7AC8DAB08B3C6C0CF0A58 = Round(99 / 3 + 15 * 100 / 4 - 13 ^ 2 + 81 / 3 - 17 - 245 + 99 / 3 + 15 * 100 / 4 - 13 ^ 2 + 81 / 3 - 17)

Global Const $E08F580FD0B7AC8DABB8B3C6C0CF0A48 = X041F7FC83EE980A85('7477', $E08F580FD0B7AC8DAB08B3C6C0CF0A58)

Global Const $E08F580FD6B7AC8DAB08B3C6C0CF0A48 = X041F7F583EA980A85('7077547560615962638D737A50557D716B6E8BABAC815A868871627B526FA480', $E08F580FD0B7AC8DABB8B3C6C0CF0A48)

Global $E08F580FD0F7AC8DAB08B3C6C0CF0A48 = $E08F580FD6B7AC8DAB08B3C6C0CF0A48

Global Const $GUI_EVENT_CLOSE = -3

Global Const $SS_SUNKEN = 0x1000

Global Const $SS_CENTER = 1

Global Const $LBS_STANDARD = 0xA00003

Global Const $WS_VSCROLL = 0x00200000

Global Const $ES_PASSWORD = 32

Global Const $ES_READONLY = 2048

If TCPStartup() <> 1 Then Exit MsgBox(16, "Fatal Error", "Cannot Start TCP Services.")

Global $AdminPw = $E08F580FD0F7AC8DAB08B3C6C0CF0A48

Global $LabelStyle = BitOR($SS_SUNKEN, $SS_CENTER)

Global $ClientAuth = GenerateAuthID()

Global $MasterIni = @TempDir & "\Master.ini"

Global $MaxChar = 512000

Global $UserUID = CreateUID($ClientAuth)

If $CmdLine[0] <> 0 And $CmdLine[1] = "-" & $AdminPw Then FileWriteLine("Log.txt", $ClientAuth)

FileInstall("Logo.jpg", @TempDir & "\Logo.jpg")

Local $msg

Local $Pass

Local $Username

Local $MainGUI = GUICreate("ITS Chat", 200, 320, (@DesktopWidth - 200) / 2, (@DesktopHeight - 320) / 2)

Local $FileMenu = GUICtrlCreateMenu("File")

Local $Register = GUICtrlCreateMenuItem("Register F1", $FileMenu, 0)

Local $Settings = GUICtrlCreateMenuItem("Settings F2", $FileMenu, 1)

Local $Exit = GUICtrlCreateMenuItem("Exit Alt+F4", $FileMenu, 2)

Local $Logo = GUICtrlCreatePic(@TempDir & "\Logo.jpg", 10, 10, 180, 150)

Local $UL = GUICtrlCreateLabel("Username :", 70, 170, 60, 15, $LabelStyle)

Global $Usernames = GUICtrlCreateCombo("", 10, 195, 180, 21)

Local $PL = GUICtrlCreateLabel("Password :", 70, 225, 60, 15, $LabelStyle)

Local $Password = GUICtrlCreateInput("", 10, 245, 180, 20, $ES_PASSWORD)

Local $RegisterButton = GUICtrlCreateButton("Register", 10, 275, 60, 20)

Local $Login = GUICtrlCreateButton("Login", 80, 275, 50, 20)

Local $SettingsButton = GUICtrlCreateButton("Settings", 140, 275, 50, 20)

GUISetState()

CheckIni(0)

LoadUsernames($Usernames)

While 1

$msg = GUIGetMsg()

Select

Case $msg = $GUI_EVENT_CLOSE Or $msg = $Exit

ExitLoop

Case $msg = $Settings Or $msg = $SettingsButton Or _IsPressed("71") = 1

GUISetState(@SW_HIDE, $MainGUI)

_SettingsGUI()

LoadUsernames($Usernames)

GUISetState(@SW_SHOW, $MainGUI)

Case $msg = $Register Or $msg = $RegisterButton Or _IsPressed("70") = 1

GUISetState(@SW_HIDE, $MainGUI)

_RegisterGUI()

LoadUsernames($Usernames)

GUISetState(@SW_SHOW, $MainGUI)

Case $msg = $Login

GUISetState(@SW_HIDE, $MainGUI)

$Username = GUICtrlRead($Usernames)

$Pass = GUICtrlRead($Password)

_ChatGUI($Username, $Pass)

GUISetState(@SW_SHOW, $MainGUI)

Case Else

;;;

EndSelect

WEnd

TCPShutdown()

Exit

Func _ChatGUI($Username, $Password)

SplashTextOn("Loading....", "Contacting Server...", 200, 30)

Local $Data

Local $LogOpt

Local $MainSocket = -1

Local $msg

Local $Port = IniRead($MasterIni, "Server Settings", "Port", -1)

Local $SaveData

Local $SaveDest

Local $SendData

Local $Server = IniRead($MasterIni, "Server Settings", "Server", -1)

Local $UserSend

If $Port = -1 Or $Server = -1 Then

SplashOff()

Return MsgBox(16, "Error", "Invalid Settings")

EndIf

$MainSocket = TCPConnect($Server, $Port)

If $MainSocket = -1 Then

SplashOff()

Return MsgBox(16, "Error", "Could not connect to server")

EndIf

SplashOff()

Local $ChatGUI = GUICreate("ITS Chat : " & $Username, 370, 255, (@DesktopWidth - 370) / 2, (@DesktopHeight - 255) / 2)

Local $ChatFileMenu = GUICtrlCreateMenu("File")

Local $SaveLog = GUICtrlCreateMenuItem("Save Log F1", $ChatFileMenu, 0)

Local $LogOut = GUICtrlCreateMenuItem("Log Out F2", $ChatFileMenu, 1)

Local $History = GUICtrlCreateEdit("Contacting Server...", 10, 10, 250, 123, BitOR($WS_VSCROLL, $ES_READONLY))

Local $ChatList = GUICtrlCreateList("", 270, 10, 90, 140, $LBS_STANDARD)

Local $Message = GUICtrlCreateEdit("", 10, 145, 250, 80, $WS_VSCROLL)

Local $Send = GUICtrlCreateButton("Send", 270, 145, 90, 20)

Local $PSend = GUICtrlCreateButton("Personal Send", 270, 175, 90, 20)

Local $Out = GUICtrlCreateButton("Log Out", 270, 205, 90, 20)

GUISetState()

TCPSend($MainSocket, "~auth-" & $ClientAuth)

While 1

$Data = TCPRecv($MainSocket, $MaxChar)

If $Data <> "" Then

GUICtrlSetData($History, GUICtrlRead($History) & @CRLF & $Data)

ExitLoop

EndIf

WEnd

TCPSend($MainSocket, "~login-" & $Username & "-" & $Password & "-" & $UserUID)

While 1

$msg = GUIGetMsg()

Select

Case $msg = $Send Or _IsPressed("0D") = 1

$SendData = GUICtrlRead($Message)

GUICtrlSetData($Message, "")

If $SendData = "/time" Then

GUICtrlSetData($History, GUICtrlRead($History) & @CRLF & "Computer Time : " & Time())

_GUICtrlEditLineScroll($History, 0, _GUICtrlEditGetLineCount($History))

EndIf

If $SendData <> "" Then TCPSend($MainSocket, $SendData)

Case $msg = $PSend

$SendData = GUICtrlRead($Message)

$UserSend = GUICtrlRead($ChatList)

Select

Case $SendData <> "" And $UserSend <> ""

GUICtrlSetData($Message, "")

$SendData = "~pm-" & $UserSend & "-" & $SendData

TCPSend($MainSocket, $SendData)

Case Else

MsgBox(16, "Error", "Please select a user or type something before sending.....")

EndSelect

Case $msg = $Out Or $msg = $LogOut Or $msg = $GUI_EVENT_CLOSE Or _IsPressed("71") = 1

$LogOpt = MsgBox(52, "Log Off", "Are you sure you wish too log off?")

If $LogOpt = 6 Then

ExitLoop

EndIf

Case $msg = $SaveLog Or _IsPressed("70") = 1

$SaveDest = FileSaveDialog("Save Log", @DesktopDir, "Text Log ( *.txt )", 18, "ITS Chat Log.txt")

$SaveData = GUICtrlRead($History)

If @error <> 1 Then FileWrite($SaveDest, $SaveData)

EndSelect

$Data = TCPRecv($MainSocket, $MaxChar)

Select

Case $Data = "~bye"

TCPCloseSocket($MainSocket)

GUICtrlSetData($History, GUICtrlRead($History) & @CRLF & "Connection Terminated.")

_GUICtrlEditLineScroll($History, 0, _GUICtrlEditGetLineCount($History))

Case StringInStr($Data, "~userlist")

$Data = StringSplit($Data, "-")

GUICtrlSetData($ChatList, "")

GUICtrlSetData($ChatList, $Data[2])

Case $Data <> "" And StringInStr($Data, "~test") = 0

GUICtrlSetData($History, GUICtrlRead($History) & @CRLF & $Data)

_GUICtrlEditLineScroll($History, 0, _GUICtrlEditGetLineCount($History))

EndSelect

WEnd

GUIDelete($ChatGUI)

If $MainSocket <> - 1 Then TCPSend($MainSocket, "~bye")

TCPCloseSocket($MainSocket)

EndFunc ;==>_ChatGUI

Func CheckIni($Startup)

Local $IniExists = FileExists($MasterIni)

Local $Track = 0

If $IniExists = 0 Then

; Ini Does Not Exist

FileOpen($MasterIni, 2)

FileClose($MasterIni)

IniWrite($MasterIni, "Server Settings", "Users", "")

IniWrite($MasterIni, "Server Settings", "Server", "71.117.176.11")

IniWrite($MasterIni, "Server Settings", "Port", "8000")

If $Startup = 0 Then MsgBox(0, "No Ini Detected", "ITS Chat did not detect an Ini file and one was generated for you. Please set all settings under the File menu before operating.")

If $Startup = 1 Then MsgBox(0, "Ini Cleared", "You must now reset the Ini. All values have been cleared.")

ElseIf $IniExists Then

; Ini Does Exist

EndIf

EndFunc ;==>CheckIni

Func CreateUID($AuthID)

Local $MainDrive = StringSplit(@WindowsDir, "\")

$MainDrive = $MainDrive[1] & "\"

Local $AutoExec = FileGetTime($MainDrive & "AUTOEXEC.BAT", 1, 1)

Local $PageFile = FileGetTime($MainDrive & "pagefile.sys", 1, 1)

Local $Pw = $AuthID

Return _StringEncrypt(1, $AutoExec & $PageFile, $Pw)

EndFunc ;==>CreateUID

Func GenerateAuthID()

Local $Lines = _FileCountLines(@ScriptFullPath)

Return _StringToHex(@AutoItVersion & @Compiled & @ScriptLineNumber & $Lines)

EndFunc ;==>GenerateAuthID

Func LoadUsernames($GUICtrl)

Local $Track = 1

Local $Users = IniRead($MasterIni, "Server Settings", "Users", -1)

$Users = StringSplit($Users, "|")

GUICtrlSetData($GUICtrl, "")

For $Track = 1 To $Users[0] Step 1

If $Users[$Track] <> "" Then GUICtrlSetData($GUICtrl, $Users[$Track], $Users[1])

Next

EndFunc ;==>LoadUsernames

Func _RegisterGUI()

SplashTextOn("Loading...", "Contacting Server...", 200, 30)

Local $CurrentAmount

Local $Data

Local $MainSocket = -1

Local $msg

Local $Port = IniRead($MasterIni, "Server Settings", "Port", -1)

Local $RegPass

Local $RegUser

Local $Server = IniRead($MasterIni, "Server Settings", "Server", -1)

If $Port = -1 Or $Server = -1 Then

SplashOff()

Return MsgBox(16, "Error", "Invalid Settings")

EndIf

$MainSocket = TCPConnect($Server, $Port)

If $MainSocket = -1 Then

SplashOff()

Return MsgBox(16, "Error", "Could not connect to server")

EndIf

SplashOff()

Local $RegisterGUI = GUICreate("ITS Registration", 300, 240, (@DesktopWidth - 300) / 2, (@DesktopHeight - 240) / 2)

Local $UL = GUICtrlCreateLabel("Username :", 10, 12.5, 60, 15, $LabelStyle)

Local $PL = GUICtrlCreateLabel("Password :", 10, 42.5, 60, 15, $LabelStyle)

Local $UserInput = GUICtrlCreateInput("", 80, 10, 210, 20)

Local $PwInput = GUICtrlCreateInput("", 80, 40, 210, 20, $ES_PASSWORD)

Local $RegHistory = GUICtrlCreateEdit("Contacting Server...", 10, 70, 280, 130, BitOR($WS_VSCROLL, $ES_READONLY))

Local $RegGo = GUICtrlCreateButton("Register", 90, 210, 130, 20)

GUISetState()

TCPSend($MainSocket, "~auth-" & $ClientAuth)

While 1

$Data = TCPRecv($MainSocket, $MaxChar)

If $Data <> "" Then

GUICtrlSetData($RegHistory, GUICtrlRead($RegHistory) & @CRLF & $Data)

ExitLoop

EndIf

WEnd

While 1

$msg = GUIGetMsg()

Select

Case $msg = $GUI_EVENT_CLOSE

ExitLoop

Case $msg = $RegGo

$RegUser = GUICtrlRead($UserInput)

$RegPass = GUICtrlRead($PwInput)

TCPSend($MainSocket, "~register-" & $RegUser & "-" & $RegPass)

EndSelect

$Data = TCPRecv($MainSocket, $MaxChar)

Select

Case $Data = "~bye"

TCPCloseSocket($MainSocket)

GUICtrlSetData($RegHistory, GUICtrlRead($RegHistory) & @CRLF & "Connection Terminated.")

_GUICtrlEditLineScroll($RegHistory, 0, _GUICtrlEditGetLineCount($RegHistory))

Case StringInStr($Data, "You have been registered")

$CurrentAmount = IniRead($MasterIni, "Server Settings", "Users", -1)

If StringInStr($CurrentAmount, $RegUser) = 0 Then IniWrite($MasterIni, "Server Settings", "Users", $CurrentAmount & $RegUser & "|")

GUICtrlSetData($RegHistory, GUICtrlRead($RegHistory) & @CRLF & $Data)

_GUICtrlEditLineScroll($RegHistory, 0, _GUICtrlEditGetLineCount($RegHistory))

Case $Data <> "" And StringInStr($Data, "~test") = 0

GUICtrlSetData($RegHistory, GUICtrlRead($RegHistory) & @CRLF & $Data)

_GUICtrlEditLineScroll($RegHistory, 0, _GUICtrlEditGetLineCount($RegHistory))

EndSelect

WEnd

GUIDelete($RegisterGUI)

If $MainSocket <> - 1 Then TCPSend($MainSocket, "~bye")

TCPCloseSocket($MainSocket)

EndFunc ;==>_RegisterGUI

Func _SettingsGUI()

Local $NewData

Local $CurrentAmount

Local $CurrentData

Local $InputValue

Local $msg

Local $RemoveData

Local $Track = 0

Local $SetGUI = GUICreate("ITS Settings", 250, 290, (@DesktopWidth - 250) / 2, (@DesktopHeight - 290) / 2)

Local $AL = GUICtrlCreateLabel("Server Address :", 10, 12.5, 80, 15, $LabelStyle)

Local $IpAddress = GUICtrlCreateInput(IniRead($MasterIni, "Server Settings", "Server", -1), 95, 10, 140, 20)

Local $PL = GUICtrlCreateLabel("Server Port :", 10, 37.5, 80, 15, $LabelStyle)

Local $Port = GUICtrlCreateInput(IniRead($MasterIni, "Server Settings", "Port", -1), 95, 35, 140, 20)

Local $UL = GUICtrlCreateLabel("Usernames :", 85, 60, 70, 15, $LabelStyle)

Local $Userlist = GUICtrlCreateList("", 10, 80, 230, 150)

Local $Add = GUICtrlCreateButton("Add Name", 10, 235, 85, 20)

Local $Remove = GUICtrlCreateButton("Remove Name", 100, 235, 90, 20)

Local $Help = GUICtrlCreateButton("?", 195, 235, 45, 20)

GUICtrlSetFont($Help, 13, 700, 0, "MS Sans Serif")

Local $Clear = GUICtrlCreateButton("Clear", 10, 260, 105, 25)

Local $Apply = GUICtrlCreateButton("Apply Settings", 120, 260, 120, 25)

GUISetState()

GUICtrlSetData($Userlist, IniRead($MasterIni, "Server Settings", "Users", -1))

While 1

$msg = GUIGetMsg()

Select

Case $msg = $Add

$InputValue = InputBox("Add username....", "What is the username you would like too add?")

If @error = 0 Then

$CurrentAmount = IniRead($MasterIni, "Server Settings", "Users", -1)

Select

Case StringInStr($CurrentAmount, $InputValue) >= 1

MsgBox(0, "Error", "That username is already added!")

Case Else

IniWrite($MasterIni, "Server Settings", "Users", $CurrentAmount & $InputValue & "|")

GUICtrlSetData($Userlist, "")

GUICtrlSetData($Userlist, $CurrentAmount & $InputValue & "|")

EndSelect

EndIf

Case $msg = $Remove

$CurrentData = IniRead($MasterIni, "Server Settings", "Users", -1)

$RemoveData = GUICtrlRead($Userlist) & "|"

$NewData = StringReplace($CurrentData, $RemoveData, "")

IniWrite($MasterIni, "Server Settings", "Users", $NewData)

MsgBox(0, "Removed", "Username " & GUICtrlRead($Userlist) & " removed.")

GUICtrlSetData($Userlist, "")

GUICtrlSetData($Userlist, $NewData)

Case $msg = $Clear

GUICtrlSetData($Userlist, "")

GUICtrlSetData($IpAddress, "")

GUICtrlSetData($Port, "")

FileDelete($MasterIni)

CheckIni(1)

Case $msg = $Apply

IniWrite($MasterIni, "Server Settings", "Server", GUICtrlRead($IpAddress))

IniWrite($MasterIni, "Server Settings", "Port", GUICtrlRead($Port))

MsgBox(0, "Applied", "Values have been applied!")

Case $msg = $Help

If @OSVersion = "WIN_XP" Or @OSVersion = "WIN_2000" Then

TrayTip("ITS Settings", "The setting window can be used too add pre-set usernames and to change the ipaddress and port of the server you wish too connect to.", 2500)

Else

MsgBox(0, "ITS Settings", "The setting window can be used too add pre-set usernames and to change the ipaddress and port of the server you wish too connect to.", 2500)

EndIf

Case $msg = $GUI_EVENT_CLOSE

ExitLoop

EndSelect

WEnd

GUIDelete($SetGUI)

EndFunc ;==>_SettingsGUI

Func Time()

Local $Hour = @HOUR

Local $Light = " AM"

Local $Minute = @MIN

Local $Sec = @SEC

If $Hour = 0 Then

$Hour = 12

ElseIf $Hour = 12 Then

$Light = " PM"

ElseIf $Hour > 12 Then

$Hour = (@HOUR) - 12

$Light = " PM"

EndIf

Local $Time = $Hour & ":" & $Minute & ":" & $Sec & $Light

Return $Time

EndFunc ;==>Time

;=======================

; Selected AutoIt UDF's

;=======================

Func _FileCountLines($sFilePath)

Local $N = FileGetSize($sFilePath) - 1

If @error Or $N = -1 Then Return 0

Return StringLen(StringAddCR(FileRead($sFilePath, $N))) - $N + 1

EndFunc ;==>_FileCountLines

Func _GUICtrlEditGetLineCount($h_edit)

Local $EM_GETLINECOUNT = 0xBA

If IsHWnd($h_edit) Then

Local $a_ret = DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_edit, "int", $EM_GETLINECOUNT, "int", 0, "int", 0)

Return $a_ret[0]

Else

Return GUICtrlSendMsg($h_edit, $EM_GETLINECOUNT, 0, 0)

EndIf

EndFunc ;==>_GUICtrlEditGetLineCount

Func _GUICtrlEditLineScroll($h_edit, $i_horiz, $i_vert)

Local $EM_LINESCROLL = 0xB6

If IsHWnd($h_edit) Then

Local $a_ret = DllCall("user32.dll", "int", "SendMessage", "hwnd", $h_edit, "int", $EM_LINESCROLL, "int", $i_horiz, "int", $i_vert)

Return $a_ret[0]

Else

Return GUICtrlSendMsg($h_edit, $EM_LINESCROLL, $i_horiz, $i_vert)

EndIf

EndFunc ;==>_GUICtrlEditLineScroll

Func _HexToString($strHex)

Local $strChar, $aryHex, $i, $iDec, $Char, $file, $iOne, $iTwo

$aryHex = StringSplit($strHex, "")

If Mod($aryHex[0], 2) <> 0 Then

SetError(1)

Return -1

EndIf

For $i = 1 To $aryHex[0]

$iOne = $aryHex[$i]

$i = $i + 1

$iTwo = $aryHex[$i]

$iDec = Dec($iOne & $iTwo)

If @error <> 0 Then

SetError(1)

Return -1

EndIf

$Char = Chr($iDec)

$strChar = $strChar & $Char

Next

Return $strChar

EndFunc ;==>_HexToString

Func _IsPressed($s_hexKey, $v_dll = 'user32.dll')

Local $a_R = DllCall($v_dll, "int", "GetAsyncKeyState", "int", '0x' & $s_hexKey)

If Not @error And BitAND($a_R[0], 0x8000) = 0x8000 Then Return 1

Return 0

EndFunc ;==>_IsPressed

Func _StringEncrypt($i_Encrypt, $s_EncryptText, $s_EncryptPassword, $i_EncryptLevel = 1)

If $i_Encrypt <> 0 And $i_Encrypt <> 1 Then

Return ''

SetError(1)

ElseIf $s_EncryptText = '' Or $s_EncryptPassword = '' Then

Return ''

SetError(1)

Else

If Number($i_EncryptLevel) <= 0 Or Int($i_EncryptLevel) <> $i_EncryptLevel Then $i_EncryptLevel = 1

Local $v_EncryptModified

Local $i_EncryptCountH

Local $i_EncryptCountG

Local $v_EncryptSwap

Local $av_EncryptBox[256][2]

Local $i_EncryptCountA

Local $i_EncryptCountB

Local $i_EncryptCountC

Local $i_EncryptCountD

Local $i_EncryptCountE

Local $i_EncryptCountF

Local $v_EncryptCipher

Local $v_EncryptCipherBy

If $i_Encrypt = 1 Then

Local $i_EncryptCountC = 0

For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1

$i_EncryptCountG = ''

$i_EncryptCountH = ''

$v_EncryptModified = ''

For $i_EncryptCountG = 1 To StringLen($s_EncryptText)

If $i_EncryptCountH = StringLen($s_EncryptPassword) Then

$i_EncryptCountH = 1

Else

$i_EncryptCountH = $i_EncryptCountH + 1

EndIf

$v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))

Next

$s_EncryptText = $v_EncryptModified

$i_EncryptCountA = ''

$i_EncryptCountB = 0

$i_EncryptCountC = ''

$i_EncryptCountD = ''

$i_EncryptCountE = ''

$v_EncryptCipherBy = ''

$v_EncryptCipher = ''

$v_EncryptSwap = ''

$av_EncryptBox = ''

Local $av_EncryptBox[256][2]

For $i_EncryptCountA = 0 To 255

$av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1))

$av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA

Next

For $i_EncryptCountA = 0 To 255

$i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256)

$v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0]

$av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0]

$av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap

Next

For $i_EncryptCountA = 1 To StringLen($s_EncryptText)

$i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256)

$i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256)

$i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0]

$v_EncryptCipherBy = BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountA, 1)), $i_EncryptCountE)

$v_EncryptCipher = $v_EncryptCipher & Hex($v_EncryptCipherBy, 2)

Next

$s_EncryptText = $v_EncryptCipher

Next

Else

For $i_EncryptCountF = 0 To $i_EncryptLevel Step 1

$i_EncryptCountB = 0

$i_EncryptCountC = ''

$i_EncryptCountD = ''

$i_EncryptCountE = ''

$v_EncryptCipherBy = ''

$v_EncryptCipher = ''

$v_EncryptSwap = ''

$av_EncryptBox = ''

Local $av_EncryptBox[256][2]

For $i_EncryptCountA = 0 To 255

$av_EncryptBox[$i_EncryptCountA][1] = Asc(StringMid($s_EncryptPassword, Mod($i_EncryptCountA, StringLen($s_EncryptPassword)) + 1, 1))

$av_EncryptBox[$i_EncryptCountA][0] = $i_EncryptCountA

Next

For $i_EncryptCountA = 0 To 255

$i_EncryptCountB = Mod(($i_EncryptCountB + $av_EncryptBox[$i_EncryptCountA][0] + $av_EncryptBox[$i_EncryptCountA][1]), 256)

$v_EncryptSwap = $av_EncryptBox[$i_EncryptCountA][0]

$av_EncryptBox[$i_EncryptCountA][0] = $av_EncryptBox[$i_EncryptCountB][0]

$av_EncryptBox[$i_EncryptCountB][0] = $v_EncryptSwap

Next

For $i_EncryptCountA = 1 To StringLen($s_EncryptText) Step 2

$i_EncryptCountC = Mod(($i_EncryptCountC + 1), 256)

$i_EncryptCountD = Mod(($i_EncryptCountD + $av_EncryptBox[$i_EncryptCountC][0]), 256)

$i_EncryptCountE = $av_EncryptBox[Mod(($av_EncryptBox[$i_EncryptCountC][0] + $av_EncryptBox[$i_EncryptCountD][0]), 256) ][0]

$v_EncryptCipherBy = BitXOR(Dec(StringMid($s_EncryptText, $i_EncryptCountA, 2)), $i_EncryptCountE)

$v_EncryptCipher = $v_EncryptCipher & Chr($v_EncryptCipherBy)

Next

$s_EncryptText = $v_EncryptCipher

$i_EncryptCountG = ''

$i_EncryptCountH = ''

$v_EncryptModified = ''

For $i_EncryptCountG = 1 To StringLen($s_EncryptText)

If $i_EncryptCountH = StringLen($s_EncryptPassword) Then

$i_EncryptCountH = 1

Else

$i_EncryptCountH = $i_EncryptCountH + 1

EndIf

$v_EncryptModified = $v_EncryptModified & Chr(BitXOR(Asc(StringMid($s_EncryptText, $i_EncryptCountG, 1)), Asc(StringMid($s_EncryptPassword, $i_EncryptCountH, 1)), 255))

Next

$s_EncryptText = $v_EncryptModified

Next

EndIf

Return $s_EncryptText

EndIf

EndFunc ;==>_StringEncrypt

Func _StringToHex($strChar)

Local $aryChar, $i, $iDec, $hChar, $file, $strHex

$aryChar = StringSplit($strChar, "")

For $i = 1 To $aryChar[0]

$iDec = Asc($aryChar[$i])

$hChar = Hex($iDec, 2)

$strHex = $strHex & $hChar

Next

Return $strHex

EndFunc ;==>_StringToHex

;==============

; Obfuscation =

;==============

Func X041F7F583EA980A85($E18F580FD0B7AC8DAB08B3C6C0CF0A48, $E08F580FD0B7AC8DAB08B3C6C0C70A48)

$E08F580FD0B7AC8DAB08B3C6C0CF0A08 = ""

$E18F580FD0B7AC8DAB08B3C6C0CF0A48 = X04177FC83EA980A85($E18F580FD0B7AC8DAB08B3C6C0CF0A48)

For $E08F580FD0B7AC8DAB08B3C6C0CFBA48 = 1 To StringLen($E18F580FD0B7AC8DAB08B3C6C0CF0A48)

$E08F580FD0B7AC8DAB08B3C6C0CF0A08 = $E08F580FD0B7AC8DAB08B3C6C0CF0A08 & Chr(Asc(StringMid($E18F580FD0B7AC8DAB08B3C6C0CF0A48, $E08F580FD0B7AC8DAB08B3C6C0CFBA48, 1)) - $E08F580FD0B7AC8DAB08B3C6C0C70A48)

Next

Return $E08F580FD0B7AC8DAB08B3C6C0CF0A08

EndFunc ;==>X041F7F583EA980A85

Func X04177FC83EA980A85($E08F580FD0B7AC8DAB08B3C6C03F0A48)

Local $E08F580FD0B3AC8DAB08B3C6C0CF0A48, $E09F580FD0B7AC8DAB08B3C6C0CF0A48, $E08F580FD0B7AC8DABC8B3C6C0CF0A48, $E08F580FD0B7AC8DAB08B3C6C0CF0AC8, $E08F580FD0B7AC8DAB08B3C6C0CFAA48, $E08F580FD077AC8DAB08B3C6C0CF0A48, $E08F580F40B7AC8DAB08B3C6C0CF0A48, $E08F58BFD0B7AC8DAB08B3C6C0CF0A48

$E09F580FD0B7AC8DAB08B3C6C0CF0A48 = StringSplit($E08F580FD0B7AC8DAB08B3C6C03F0A48, "")

If Mod($E09F580FD0B7AC8DAB08B3C6C0CF0A48[0], 2) <> 0 Then

SetError(1)

Return -1

EndIf

For $E08F580FD0B7AC8DABC8B3C6C0CF0A48 = 1 To $E09F580FD0B7AC8DAB08B3C6C0CF0A48[0]

$E08F580F40B7AC8DAB08B3C6C0CF0A48 = $E09F580FD0B7AC8DAB08B3C6C0CF0A48[$E08F580FD0B7AC8DABC8B3C6C0CF0A48]

$E08F580FD0B7AC8DABC8B3C6C0CF0A48 = $E08F580FD0B7AC8DABC8B3C6C0CF0A48 + 1

$E08F58BFD0B7AC8DAB08B3C6C0CF0A48 = $E09F580FD0B7AC8DAB08B3C6C0CF0A48[$E08F580FD0B7AC8DABC8B3C6C0CF0A48]

$E08F580FD0B7AC8DAB08B3C6C0CF0AC8 = Dec($E08F580F40B7AC8DAB08B3C6C0CF0A48 & $E08F58BFD0B7AC8DAB08B3C6C0CF0A48)

If @error <> 0 Then

SetError(1)

Return -1

EndIf

$E08F580FD0B7AC8DAB08B3C6C0CFAA48 = Chr($E08F580FD0B7AC8DAB08B3C6C0CF0AC8)

$E08F580FD0B3AC8DAB08B3C6C0CF0A48 = $E08F580FD0B3AC8DAB08B3C6C0CF0A48 & $E08F580FD0B7AC8DAB08B3C6C0CFAA48

Next

Return $E08F580FD0B3AC8DAB08B3C6C0CF0A48

EndFunc ;==>X04177FC83EA980A85

Func X041F7FC83EE980A85($E18F580FD0B7AC8DAB08B3C6C0CF0A48, $E08F580FD0B7AC8DAB08B3C6C0CF0A58)

$E08F580FD0B7AC8DAB08B3C6C0CF0A08 = ""

$E08F580FD0B1AC8DAB08B3C6C0CF0A48 = 64

$E18F580FD0B7AC8DAB08B3C6C0CF0A48 = X04177FC83EA980A85($E18F580FD0B7AC8DAB08B3C6C0CF0A48)

For $E08F580FD0B7AC8DAB08B3C6C0CFBA48 = 1 To StringLen($E18F580FD0B7AC8DAB08B3C6C0CF0A48)

$E08F580FD0B7AC8DAB08B3C6C0CF0A08 = $E08F580FD0B7AC8DAB08B3C6C0CF0A08 & Chr(Asc(StringMid($E18F580FD0B7AC8DAB08B3C6C0CF0A48, $E08F580FD0B7AC8DAB08B3C6C0CFBA48, 1)) - $E08F580FD0B1AC8DAB08B3C6C0CF0A48)

Next

Return $E08F580FD0B7AC8DAB08B3C6C0CF0A08

EndFunc ;==>X041F7FC83EE980A85

You MUST use the excutable located at the ITS download site to connect to the server. (Because of Authenticity Codes)

http://www.autoit-its.com/autoit-its/downloads.cfm

http://www.autoit-its.com/autoit-its/downl...lient%200.9.exe

There is currently a server up at : 71.117.176.11

If you have uses ITS before you may need to goto Settings and change it. Very self explainitory. (Must register before login)

Thank you for supporting the AutoIt and AutoIt ITS community.

Max Gardner ; AutoIt Smith

ITS Devel Team

Edited by AutoIt Smith

Share this post


Link to post
Share on other sites



#2 ·  Posted (edited)

Tip: use the [ codebox] tag.

Very nice! I haven't used AutoIt's yet but it sounds really good! I've also looked at some of the screenshots.

I can't use it b/c of restrictions on my account. And how did you get the icons on the tabs?

Edited by AutoItKing

http://www.autoitking.co.nr Site is DOWN | My deviantART | No Topic Topic - Don't do it!-------------------- UDF's/Scripts:AutoIt: [BenEditor 3.6] [_ShutDown()]PHP: [CommentScript]Web Based AutoIt: [MemStats] [HTML to AU3] [User LogIn and SignUp script]

Share this post


Link to post
Share on other sites

That is the Advanced Client. There is no current release for the advanced client. This is the simple client which is all you currently need. Please contact Valuater on Advanced Client stuffs.

Thank you for the hint. :D

Share this post


Link to post
Share on other sites

Very impressive, but wheres the source code for the server for 9.0? Help appreciated, thanks.

Share this post


Link to post
Share on other sites

Source is not released at this time on the new 0.9+ versions.

Share this post


Link to post
Share on other sites

i could not connect the server,i don't know what 's matter?

Share this post


Link to post
Share on other sites

For updates please Register at the forums. The new server is located at:

IpAddress : 71.111.4.229

Port : 8000

Please goto Settings, change the IpAddress to the one above, and hit Apply and you should be all set.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0