You last visited: Today at 04:11
Advertisement
[Source]Tserver 1.06b
Discussion on [Source]Tserver 1.06b within the SRO Coding Corner forum part of the Silkroad Online category.
05/31/2008, 14:55
#1
elite*gold: 20
Join Date: Mar 2007
Posts: 4,277
Received Thanks: 2,990
[Source]Tserver 1.06b
The true source...
Compare it to the one posted at PH and you'll see the difference...
Header
Code:
#NoTrayIcon
#RequireAdmin
#region
#AutoIt3Wrapper_icon=F:UsersAdministratorDocumentsfavicon.ico
#AutoIt3Wrapper_outfile=..TBotSro1106TServer1106b.exe
#AutoIt3Wrapper_compression=4
#AutoIt3Wrapper_useansi=y
#endregion
Source
Code:
If _SINGLETON("tservertserver", 1) = 0 Then
Exit
EndIf
Opt("TrayMenuMode", 1)
HotKeySet("{F8}", "run_tbot")
($)CONNECTEDSOCKET = -1
($)PACKETS = "6B4C8194B597BA3306408D1D59EC103E36ED5DD5C5231CDDB2D85E6F621EB540F6C210AD7EDABE887B0EED4B914A3A52627DA737AD1A8D2E313A2CCC08FF8DD9963966949A17E939030F1CE2BEE6F043012C6BC4D397EC0CB82001544B3B8D53C759B873A00304982F599D738B90BE693221CAACBFD11AEF20214C71EFD49C94"
($)VAR_1 = RegRead("HKEY_LOCAL_MACHINESOFTWARE 218studioSilkRoadGamePath", "GamePath")
($)VAR_2 = RegRead("HKEY_LOCAL_MACHINESOFTWARE 218studioSilkRoadUser", "User")
($)START = 0
($)HIDE = 0
Local ($)SOCKET
Local ($)TRAY_MSG
Global ($)TBOT_ID = "COGITATOR"
Global ($)TBOT_ADD
Global ($)PROGRESS
Global ($)PATCHER
Global ($)SLOW
Global ($)NORMAL
Global ($)FAST
Global ($)SEARCH = 0
Global ($)PATCH = 0
($)STATUSITEM = TrayCreateItem("Show")
($)ABOUTITEM = TrayCreateItem("About")
($)EXITITEM = TrayCreateItem("Exit")
If FileExists("TbotSro.exe") = 0 Then
MsgBox(16, "Error", "Cannot locate TbotSro.exe!" & @CRLF & "Place this file in your Tbot Folder.")
Exit
EndIf
($)MAIN = GUICreate("TServer", 200, 70, @DesktopWidth / 2 - 100, 5)
GUISetState()
GUICtrlCreateGroup("", 0, 0, 200, 35)
GUICtrlCreateLabel("SRO Username:", 5, 13, 100, 20)
GUICtrlSetFont(-1, 8.5, 800)
($)USERNAME = GUICtrlCreateInput("", 100, 10, 96, 20)
Global ($)SRO_ID = StringUpper(GUICtrlRead(($)USERNAME))
GUICtrlCreateGroup("", 0, 30, 200, 35)
($)LOAD_SRO = GUICtrlCreateButton("Load SRO Client", 5, 40, 93, 20)
($)LAUNCH_TBOT = GUICtrlCreateButton("Run Tbot [F8]", 100, 40, 95, 20)
If ($)VAR_1 = "" Then
GUICtrlSetState(($)LAUNCH_TBOT, ($)GUI_DISABLE)
Else
GUICtrlSetState(($)LAUNCH_TBOT, ($)GUI_ENABLE)
EndIf
If ($)VAR_2 <> "" Then
GUICtrlSetData(($)USERNAME, ($)VAR_2)
EndIf
While 1
($)DATA = TCPRecv(($)CONNECTEDSOCKET, 512)
($)GUI_MSG = GUIGetMsg()
($)TRAY_MSG = TrayGetMsg()
Select
Case ($)GUI_MSG = ($)GUI_EVENT_MINIMIZE
TraySetState()
GUISetState(@SW_HIDE)
Case ($)GUI_MSG = ($)GUI_EVENT_CLOSE
Exit
Case ($)TRAY_MSG = ($)EXITITEM
Exit
Case ($)TRAY_MSG = ($)ABOUTITEM
MsgBox(0, "TServer", "TServer by: MandarK")
Case ($)TRAY_MSG = ($)STATUSITEM
TraySetState(2)
GUISetState(@SW_SHOW)
GUISetState(@SW_RESTORE)
WinActivate("TServer")
Case ($)GUI_MSG = ($)LOAD_SRO
($)SRO_DIR = FileOpenDialog("sro_client.exe", @WorkingDir, "(sro_client.exe)")
If @error Then
ContinueLoop
Else
RegWrite("HKEY_LOCAL_MACHINESOFTWARE 218studioSilkRoadGamePath", "GamePath", "REG_EXPAND_SZ", ($)SRO_DIR)
MsgBox(0, "TServer", "Succesfully loaded")
GUICtrlSetState(($)LAUNCH_TBOT, ($)GUI_ENABLE)
EndIf
Case ($)GUI_MSG = ($)LAUNCH_TBOT
RUN_TBOT()
EndSelect
If ($)DATA <> "" Then
TCPSend(($)CONNECTEDSOCKET, _HEXTOSTRING(($)PACKETS))
($)START = 2
TCPShutdown()
EndIf
If ($)CONNECTEDSOCKET = -1 And ($)START = 1 Then
($)CONNECTEDSOCKET = TCPAccept(($)SOCKET)
If ($)CONNECTEDSOCKET <> -1 Then
TCPSend(($)CONNECTEDSOCKET, "!TServer by: MandarK")
Sleep(1500)
ControlSetText("InterNationSilkRoadAss", "", "Edit1", ($)TBOT_ID)
WinActivate("InterNationSilkRoadAss")
ControlClick("InterNationSilkRoadAss", "Login", "Button1")
EndIf
EndIf
If ($)START = 2 Then
For ($)I = 0 To 2 Step 1
WinMove("InterNationSilkRoadAss", "", @DesktopWidth, @DesktopHeight)
WinSetState("InterNationSilkRoadAss", "", @SW_SHOW)
ControlEnable("InterNationSilkRoadAss", "Login", "Button1")
ControlSetText("InterNationSilkRoadAss", "", "Edit1", ($)SRO_ID)
IniWrite("DataAccountname.ini", "Account", "AccountName", ($)SRO_ID)
WinActivate("InterNationSilkRoadAss")
ControlClick("InterNationSilkRoadAss", "Login", "Button1")
WinSetState("InterNationSilkRoadAss", "", @SW_HIDE)
ControlDisable("KTZ_SROTbot", "", "Button6")
Next
($)START = 0
EndIf
If ($)HIDE = 0 And WinExists("InterNationSilkRoadAss") Then
WinMove("InterNationSilkRoadAss", "", @DesktopWidth, @DesktopHeight)
($)HIDE = 1
ElseIf WinExists("InterNationSilkRoadAss") = 0 Then
($)HIDE = 0
EndIf
WEnd
Func RUN_TBOT()
If ProcessExists("TbotSro.exe") = 0 Then
HotKeySet("{F6}", "train")
($)CONNECTEDSOCKET = -1
TraySetState()
GUISetState(@SW_HIDE)
($)SRO_ID = StringUpper(GUICtrlRead(($)USERNAME))
If ($)SRO_ID <> "" Then
TCPStartup()
($)SOCKET = TCPListen("60.169.2.206", 13300)
RegWrite("HKEY_LOCAL_MACHINESOFTWARE 218studioSilkRoadUser", "User", "REG_EXPAND_SZ", ($)SRO_ID)
($)START = 1
ShellExecute("TbotSro.exe", "", "", "open", @SW_MINIMIZE)
Else
MsgBox(0, "Error", "No username entered." & @CRLF & "Please enter your sro username.")
EndIf
Else
MsgBox(0, "Error", "TbotSro is Already running.")
EndIf
EndFunc
Func TRAIN()
($)SRO_PID = ProcessExists("sro_client.exe")
If ($)SRO_PID = 0 Then
MsgBox(0, "", "Silkroad not running.")
Exit
EndIf
($)SRO_OPEN = _MEMORYOPEN(($)SRO_PID)
($)VALUE_03 = _MEMORYREAD(15516984, ($)SRO_OPEN, "byte[32]")
If ($)VALUE_03 <> "0x0000000000000000000000000000000000000000000000000000000000000000" And ($)PATCH = 0 Then
WinMove("InterNationSilkRoadAss", "", @DesktopWidth, @DesktopHeight)
WinSetState("InterNationSilkRoadAss", "", @SW_SHOW)
ControlEnable("InterNationSilkRoadAss", "Login", "Button1")
ControlSetText("InterNationSilkRoadAss", "", "Edit1", ($)TBOT_ID)
IniWrite("DataAccountname.ini", "Account", "AccountName", ($)SRO_ID)
WinActivate("InterNationSilkRoadAss")
ControlClick("InterNationSilkRoadAss", "Login", "Button1")
WinSetState("InterNationSilkRoadAss", "", @SW_HIDE)
FAST()
EndIf
EndFunc
Func FAST()
If ($)PATCH = 0 Then
($)PATCH = 1
($)PATCHER = GUICreate(" Silkroad Patcher", 200, 65, -1, -1, ($)WS_DLGFRAME, ($)WS_EX_TOPMOST + ($)WS_EX_TOOLWINDOW)
GUISetState()
GUICtrlCreateLabel("Patching... this may take awhile!", 5, 5, 190, 20)
($)PROGRESS = GUICtrlCreateProgress(5, 25, 190, 15, ($)PBS_SMOOTH)
Local ($)VALUE_01 = 0
($)SRO_ID = _STRINGTOHEX(StringUpper(GUICtrlRead(($)USERNAME)))
($)PID = ProcessExists("TbotSro.exe")
If ($)PID = 0 Then
MsgBox(0, "", "TbotSro not running.")
Exit
EndIf
($)DLLINFORMATION = _MEMORYOPEN(($)PID)
($)START = 16777216
($)STOPS = 83881984
ProcessSetPriority("TServer1106.exe", 3)
While ($)START <> ($)STOPS
($)START = ($)START + 4096
($)VALUE_01 = _MEMORYREAD(($)START, ($)DLLINFORMATION, "byte[4095]")
GUICtrlSetData(($)PROGRESS, ($)START / (($)STOPS / 100))
If StringInStr(Hex(($)VALUE_01), ($)SRO_ID) <> 0 Then
($)SEARCH = StringInStr(Hex(($)VALUE_01), ($)SRO_ID)
ExitLoop
EndIf
WEnd
ProcessSetPriority("TServer1106.exe", 2)
If ($)SEARCH <> 0 Then
($)TBOT_ADD = Hex(($)START + Floor(($)SEARCH / 2))
_MEMORYWRITE("0x" & ($)TBOT_ADD, ($)DLLINFORMATION, ($)TBOT_ID, "char[10]")
GUIDelete(($)PATCHER)
ControlEnable("KTZ_SROTbot", "", "Button6")
MsgBox(0, "Patcher", "Patching success!")
WinActivate("SRO_Client")
HotKeySet("{F6}")
Else
MsgBox(16, "Patcher", "Patching unsuccessful!" & @CRLF & "Please report this error @ www.Projecthax.com")
GUIDelete(($)PATCHER)
ProcessClose("TbotSro.exe")
EndIf
EndIf
EndFunc
Includes
Code:
Func _HEXTOSTRING(($)STRHEX)
Local ($)STRCHAR, ($)ARYHEX, ($)I, ($)IDEC, ($)CHAR, ($)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 &= ($)CHAR
Next
Return ($)STRCHAR
EndFunc
Func _STRINGADDCOMMA(($)SSTR, ($)SSEPARATOR = -1, ($)SEND = -1)
If ($)SSEPARATOR = -1 Or ($)SSEPARATOR = Default Then ($)SSEPARATOR = ","
If ($)SEND = -1 Or ($)SEND = Default Then ($)SEND = "."
Local ($)ANUM = StringSplit(($)SSTR, ($)SEND), ($)SHOLD = "", ($)ASRE, ($)BUB = False
If UBound(($)ANUM) > 2 Then
($)ASRE = StringRegExp(($)ANUM[1], "(d+)(d{3})", 1)
($)BUB = True
Else
($)ASRE = StringRegExp(($)SSTR, "(d+)(d{3})", 3)
EndIf
If UBound(($)ASRE) = 2 Then
While IsArray(($)ASRE)
($)SHOLD = ($)SSEPARATOR & ($)ASRE[1] & ($)SHOLD
($)ASRE = StringRegExp(($)ASRE[0], "(d+)(d{3})", 3)
WEnd
EndIf
Local ($)NSTRLEN = StringLen(StringReplace(($)SHOLD, ($)SSEPARATOR, ""))
If ($)BUB And ($)SHOLD Then
Return StringTrimRight(($)ANUM[1], ($)NSTRLEN) & ($)SHOLD & ($)SEND & ($)ANUM[2]
ElseIf ($)SHOLD Then
Return StringTrimRight(($)SSTR, ($)NSTRLEN) & ($)SHOLD
EndIf
Return SetError(1, 0, ($)SSTR)
EndFunc
Func _STRINGBETWEEN(($)SSTRING, ($)SSTART, ($)SEND, ($)VCASE = -1, ($)ISRE = -1)
If ($)ISRE = -1 Or ($)ISRE = Default Then
If ($)VCASE = -1 Or ($)VCASE = Default Then
($)VCASE = 0
Else
($)VCASE = 1
EndIf
Local ($)SHOLD = "", ($)SSNSSTART = "", ($)SSNSEND = ""
While StringLen(($)SSTRING) > 0
($)SSNSSTART = StringInStr(($)SSTRING, ($)SSTART, ($)VCASE)
If Not ($)SSNSSTART Then ExitLoop
($)SSTRING = StringTrimLeft(($)SSTRING, (($)SSNSSTART + StringLen(($)SSTART)) - 1)
($)SSNSEND = StringInStr(($)SSTRING, ($)SEND, ($)VCASE)
If Not ($)SSNSEND Then ExitLoop
($)SHOLD &= StringLeft(($)SSTRING, ($)SSNSEND - 1) & Chr(1)
($)SSTRING = StringTrimLeft(($)SSTRING, ($)SSNSEND)
WEnd
If Not ($)SHOLD Then Return SetError(1, 0, 0)
($)SHOLD = StringSplit(StringTrimRight(($)SHOLD, 1), Chr(1))
Local ($)AVARRAY[UBound(($)SHOLD) - 1]
For ($)ICC = 1 To UBound(($)SHOLD) - 1
($)AVARRAY[($)ICC - 1] = ($)SHOLD[($)ICC]
Next
Return ($)AVARRAY
Else
If ($)VCASE = Default Or ($)VCASE = -1 Then
($)VCASE = "(?i)"
Else
($)VCASE = ""
EndIf
Local ($)AARRAY = StringRegExp(($)SSTRING, "(?s)" & ($)VCASE & ($)SSTART & "(.*?)" & ($)SEND, 3)
If IsArray(($)AARRAY) Then Return ($)AARRAY
Return SetError(1, 0, 0)
EndIf
EndFunc
Func _STRINGENCRYPT(($)I_ENCRYPT, ($)S_ENCRYPTTEXT, ($)S_ENCRYPTPASSWORD, ($)I_ENCRYPTLEVEL = 1)
If ($)I_ENCRYPT <> 0 And ($)I_ENCRYPT <> 1 Then
SetError(1)
Return ""
ElseIf ($)S_ENCRYPTTEXT = "" Or ($)S_ENCRYPTPASSWORD = "" Then
SetError(1)
Return ""
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 ($)V_ENCRYPTCIPHER
Local ($)V_ENCRYPTCIPHERBY
If ($)I_ENCRYPT = 1 Then
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 += 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 &= 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 += 1
EndIf
($)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
Func _STRINGINSERT(($)S_STRING, ($)S_INSERTSTRING, ($)I_POSITION)
Local ($)I_LENGTH, ($)S_START, ($)S_END
If ($)S_STRING = "" Or (Not IsString(($)S_STRING)) Then
SetError(1)
Return ($)S_STRING
ElseIf ($)S_INSERTSTRING = "" Or (Not IsString(($)S_STRING)) Then
SetError(2)
Return ($)S_STRING
Else
($)I_LENGTH = StringLen(($)S_STRING)
If (Abs(($)I_POSITION) > ($)I_LENGTH) Or (Not IsInt(($)I_POSITION)) Then
SetError(3)
Return ($)S_STRING
EndIf
EndIf
If ($)I_POSITION = 0 Then
Return ($)S_INSERTSTRING & ($)S_STRING
ElseIf ($)I_POSITION > 0 Then
($)S_START = StringLeft(($)S_STRING, ($)I_POSITION)
($)S_END = StringRight(($)S_STRING, ($)I_LENGTH - ($)I_POSITION)
Return ($)S_START & ($)S_INSERTSTRING & ($)S_END
ElseIf ($)I_POSITION < 0 Then
($)S_START = StringLeft(($)S_STRING, Abs(($)I_LENGTH + ($)I_POSITION))
($)S_END = StringRight(($)S_STRING, Abs(($)I_POSITION))
Return ($)S_START & ($)S_INSERTSTRING & ($)S_END
EndIf
EndFunc
Func _STRINGPROPER(($)S_STR)
Local ($)IX = 0
Local ($)CAPNEXT = 1
Local ($)S_NSTR = ""
Local ($)S_CURCHAR
For ($)IX = 1 To StringLen(($)S_STR)
($)S_CURCHAR = StringMid(($)S_STR, ($)IX, 1)
Select
Case ($)CAPNEXT = 1
If __CHARACTERISAPHA(($)S_CURCHAR) Then
($)S_CURCHAR = StringUpper(($)S_CURCHAR)
($)CAPNEXT = 0
EndIf
Case Not __CHARACTERISAPHA(($)S_CURCHAR)
($)CAPNEXT = 1
Case Else
($)S_CURCHAR = StringLower(($)S_CURCHAR)
EndSelect
($)S_NSTR &= ($)S_CURCHAR
Next
Return (($)S_NSTR)
EndFunc
Func _STRINGREPEAT(($)SSTRING, ($)IREPEATCOUNT)
Local ($)SRESULT
Select
Case Not StringIsInt(($)IREPEATCOUNT)
SetError(1)
Return ""
Case StringLen(($)SSTRING) < 1
SetError(1)
Return ""
Case ($)IREPEATCOUNT <= 0
SetError(1)
Return ""
Case Else
For ($)ICOUNT = 1 To ($)IREPEATCOUNT
($)SRESULT &= ($)SSTRING
Next
Return ($)SRESULT
EndSelect
EndFunc
Func _STRINGREVERSE(($)SSTRING)
Local ($)SREVERSE
Local ($)ICOUNT
If StringLen(($)SSTRING) >= 1 Then
For ($)ICOUNT = 1 To StringLen(($)SSTRING)
($)SREVERSE = StringMid(($)SSTRING, ($)ICOUNT, 1) & ($)SREVERSE
Next
Return ($)SREVERSE
Else
SetError(1)
Return ""
EndIf
EndFunc
Func _STRINGTOHEX(($)STRCHAR)
Local ($)ARYCHAR, ($)I, ($)IDEC, ($)HCHAR, ($)STRHEX
($)ARYCHAR = StringSplit(($)STRCHAR, "")
For ($)I = 1 To ($)ARYCHAR[0]
($)IDEC = Asc(($)ARYCHAR[($)I])
($)HCHAR = Hex(($)IDEC, 2)
($)STRHEX &= ($)HCHAR
Next
Return ($)STRHEX
EndFunc
Func __CHARACTERISAPHA(($)S_STR)
Local ($)A_ALPHA = "abcdefghijklmnopqrstuvwxyz"
Return (StringInStr(($)A_ALPHA, ($)S_STR))
EndFunc
#Include <GUIConstants.au3>
Func _CHOOSECOLOR(($)I_RETURNTYPE = 0, ($)I_COLORREF = 0, ($)I_REFTYPE = 0, ($)H_WND_OWNER = 0)
Local ($)CUSTCOLORS = "int[16]"
Local ($)STRUCT = "dword;int;int;int;ptr;dword;int;ptr;ptr"
Local ($)P = DllStructCreate(($)STRUCT)
If @error Then
SetError(-1)
Return -1
EndIf
Local ($)CC = DllStructCreate(($)CUSTCOLORS)
If @error Then
SetError(-2)
Return -1
EndIf
If (($)I_REFTYPE == 1) Then
($)I_COLORREF = Int(($)I_COLORREF)
ElseIf (($)I_REFTYPE == 2) Then
($)I_COLORREF = Hex(String(($)I_COLORREF), 6)
($)I_COLORREF = "0x" & StringMid(($)I_COLORREF, 5, 2) & StringMid(($)I_COLORREF, 3, 2) & StringMid(($)I_COLORREF, 1, 2)
EndIf
DllStructSetData(($)P, 1, DllStructGetSize(($)P))
DllStructSetData(($)P, 2, ($)H_WND_OWNER)
DllStructSetData(($)P, 4, ($)I_COLORREF)
DllStructSetData(($)P, 5, DllStructGetPtr(($)CC))
DllStructSetData(($)P, 6, BitOR(($)CC_ANYCOLOR, ($)CC_FULLOPEN, ($)CC_RGBINIT))
Local ($)RET = DllCall("comdlg32.dll", "long", "ChooseColor", "ptr", DllStructGetPtr(($)P))
If (($)RET[0] == 0) Then
SetError(-3)
Return -1
EndIf
Local ($)COLOR_PICKED = DllStructGetData(($)P, 4)
If (($)I_RETURNTYPE == 1) Then
Return "0x" & Hex(String(($)COLOR_PICKED), 6)
ElseIf (($)I_RETURNTYPE == 2) Then
($)COLOR_PICKED = Hex(String(($)COLOR_PICKED), 6)
Return "0x" & StringMid(($)COLOR_PICKED, 5, 2) & StringMid(($)COLOR_PICKED, 3, 2) & StringMid(($)COLOR_PICKED, 1, 2)
ElseIf (($)I_RETURNTYPE == 0) Then
Return ($)COLOR_PICKED
Else
SetError(-4)
Return -1
EndIf
EndFunc
Func _CHOOSEFONT(($)S_FONTNAME = "Courier New", ($)I_SIZE = 10, ($)I_COLORREF = 0, ($)I_FONTWEIGHT = 0, ($)I_ITALIC = 0, ($)I_UNDERLINE = 0, ($)I_STRIKETHRU = 0, ($)H_WND_OWNER = 0)
Local ($)RET = DllCall("gdi32.dll", "long", "GetDeviceCaps", "long", 0, "long", ($)LOGPIXELSX)
If (($)RET[0] == -1) Then
SetError(-3)
Return -1
EndIf
Local ($)LFHEIGHT = Round((($)I_SIZE * ($)RET[2]) / 72, 0)
Local ($)LOGFONT = "int;int;int;int;int;byte;byte;byte;byte;byte;byte;byte;byte;char[32]"
Local ($)STRUCT = "dword;int;int;ptr;int;dword;int;int;ptr;ptr;int;ptr;dword;int;int"
Local ($)P = DllStructCreate(($)STRUCT)
If @error Then
SetError(-1)
Return -1
EndIf
Local ($)LF = DllStructCreate(($)LOGFONT)
If @error Then
SetError(-2)
Return -1
EndIf
DllStructSetData(($)P, 1, DllStructGetSize(($)P))
DllStructSetData(($)P, 2, ($)H_WND_OWNER)
DllStructSetData(($)P, 4, DllStructGetPtr(($)LF))
DllStructSetData(($)P, 5, ($)I_SIZE)
DllStructSetData(($)P, 6, BitOR(($)CF_SCREENFONTS, ($)CF_PRINTERFONTS, ($)CF_EFFECTS, ($)CF_INITTOLOGFONTSTRUCT, ($)CF_NOSCRIPTSEL))
DllStructSetData(($)P, 7, ($)I_COLORREF)
DllStructSetData(($)P, 13, 0)
DllStructSetData(($)LF, 1, ($)LFHEIGHT + 1)
DllStructSetData(($)LF, 5, ($)I_FONTWEIGHT)
DllStructSetData(($)LF, 6, ($)I_ITALIC)
DllStructSetData(($)LF, 7, ($)I_UNDERLINE)
DllStructSetData(($)LF, 8, ($)I_STRIKETHRU)
DllStructSetData(($)LF, 14, ($)S_FONTNAME)
($)RET = DllCall("comdlg32.dll", "long", "ChooseFont", "ptr", DllStructGetPtr(($)P))
If (($)RET[0] == 0) Then
SetError(-3)
Return -1
EndIf
Local ($)FONTNAME = DllStructGetData(($)LF, 14)
If (StringLen(($)FONTNAME) == 0 And StringLen(($)S_FONTNAME) > 0) Then
($)FONTNAME = ($)S_FONTNAME
EndIf
Local ($)ITALIC = 0
Local ($)UNDERLINE = 0
Local ($)STRIKEOUT = 0
If (DllStructGetData(($)LF, 6)) Then
($)ITALIC = 2
EndIf
If (DllStructGetData(($)LF, 7)) Then
($)UNDERLINE = 4
EndIf
If (DllStructGetData(($)LF, 8)) Then
($)STRIKEOUT = 8
EndIf
Local ($)ATTRIBUTES = BitOR(($)ITALIC, ($)UNDERLINE, ($)STRIKEOUT)
Local ($)SIZE = DllStructGetData(($)P, 5) / 10
Local ($)WEIGHT = DllStructGetData(($)LF, 5)
Local ($)COLORREF = DllStructGetData(($)P, 7)
Local ($)COLOR_PICKED = Hex(String(($)COLORREF), 6)
Return StringSplit(($)ATTRIBUTES & "," & ($)FONTNAME & "," & ($)SIZE & "," & ($)WEIGHT & "," & ($)COLORREF & "," & "0x" & ($)COLOR_PICKED & "," & "0x" & StringMid(($)COLOR_PICKED, 5, 2) & StringMid(($)COLOR_PICKED, 3, 2) & StringMid(($)COLOR_PICKED, 1, 2), ",")
EndFunc
Func _CLIPPUTFILE(($)SFILE, ($)SSEPERATOR = "|")
Local ($)VDLLCALLTMP, ($)NGLOBMEMSIZE, ($)HGLOBAL, ($)DROPFILES, ($)I, ($)HLOCK
Local ($)GMEM_MOVEABLE = 2, ($)CF_HDROP = 15
($)SFILE = ($)SFILE & ($)SSEPERATOR & ($)SSEPERATOR
($)NGLOBMEMSIZE = StringLen(($)SFILE) + 20
($)VDLLCALLTMP = DllCall("user32.dll", "int", "OpenClipboard", "hwnd", 0)
If @error Or ($)VDLLCALLTMP[0] = 0 Then
SetError(1)
Return False
EndIf
($)VDLLCALLTMP = DllCall("user32.dll", "int", "EmptyClipboard")
If @error Or ($)VDLLCALLTMP[0] = 0 Then
SetError(2)
Return False
EndIf
($)VDLLCALLTMP = DllCall("kernel32.dll", "long", "GlobalAlloc", "int", ($)GMEM_MOVEABLE, "int", ($)NGLOBMEMSIZE)
If @error Or ($)VDLLCALLTMP[0] < 1 Then
SetError(3)
Return False
EndIf
($)HGLOBAL = ($)VDLLCALLTMP[0]
($)VDLLCALLTMP = DllCall("kernel32.dll", "long", "GlobalLock", "long", ($)HGLOBAL)
If @error Or ($)VDLLCALLTMP[0] < 1 Then
SetError(4)
Return False
EndIf
($)HLOCK = ($)VDLLCALLTMP[0]
($)DROPFILES = DllStructCreate("dword;ptr;int;int;int;char[" & StringLen(($)SFILE) & "]", ($)HLOCK)
If @error Then
SetError(5)
Return False
EndIf
DllStructSetData(($)DROPFILES, 1, DllStructGetSize(($)DROPFILES) - StringLen(($)SFILE))
DllStructSetData(($)DROPFILES, 2, 0)
DllStructSetData(($)DROPFILES, 3, 0)
DllStructSetData(($)DROPFILES, 4, 0)
DllStructSetData(($)DROPFILES, 5, 0)
DllStructSetData(($)DROPFILES, 6, ($)SFILE)
For ($)I = 1 To StringLen(($)SFILE)
If DllStructGetData(($)DROPFILES, 6, ($)I) = Asc(($)SSEPERATOR) Then DllStructSetData(($)DROPFILES, 6, 0, ($)I)
Next
($)VDLLCALLTMP = DllCall("user32.dll", "long", "SetClipboardData", "int", ($)CF_HDROP, "long", ($)HGLOBAL)
If @error Or ($)VDLLCALLTMP[0] < 1 Then
SetError(6)
($)DROPFILES = 0
Return False
EndIf
($)VDLLCALLTMP = DllCall("user32.dll", "int", "CloseClipboard")
If @error Or ($)VDLLCALLTMP[0] = 0 Then
SetError(7)
($)DROPFILES = 0
Return False
EndIf
($)VDLLCALLTMP = DllCall("kernel32.dll", "int", "GlobalUnlock", "long", ($)HGLOBAL)
If @error Then
SetError(8)
($)DROPFILES = 0
Return False
EndIf
($)VDLLCALLTMP = DllCall("kernel32.dll", "int", "GetLastError")
If ($)VDLLCALLTMP = 0 Then
($)DROPFILES = 0
SetError(8)
Return False
Else
($)DROPFILES = 0
Return True
EndIf
EndFunc
Func _IIF(($)F_TEST, ($)V_TRUEVAL, ($)V_FALSEVAL)
If ($)F_TEST Then
Return ($)V_TRUEVAL
Else
Return ($)V_FALSEVAL
EndIf
EndFunc
Func _MOUSETRAP(($)I_LEFT = 0, ($)I_TOP = 0, ($)I_RIGHT = 0, ($)I_BOTTOM = 0)
Local ($)AV_RET
If @NumParams == 0 Then
($)AV_RET = DllCall("user32.dll", "int", "ClipCursor", "int", 0)
Else
If @NumParams == 2 Then
($)I_RIGHT = ($)I_LEFT + 1
($)I_BOTTOM = ($)I_TOP + 1
EndIf
Local ($)RECT = DllStructCreate("int;int;int;int")
If @error Then Return 0
DllStructSetData(($)RECT, 1, ($)I_LEFT)
DllStructSetData(($)RECT, 2, ($)I_TOP)
DllStructSetData(($)RECT, 3, ($)I_RIGHT)
DllStructSetData(($)RECT, 4, ($)I_BOTTOM)
($)AV_RET = DllCall("user32.dll", "int", "ClipCursor", "ptr", DllStructGetPtr(($)RECT))
EndIf
Return ($)AV_RET[0]
EndFunc
Func _SINGLETON(($)OCCURENCENAME, ($)FLAG = 0)
Local ($)ERROR_ALREADY_EXISTS = 183
($)OCCURENCENAME = StringReplace(($)OCCURENCENAME, "", "")
Local ($)HANDLE = DllCall("kernel32.dll", "int", "CreateMutex", "int", 0, "long", 1, "str", ($)OCCURENCENAME)
Local ($)LASTERROR = DllCall("kernel32.dll", "int", "GetLastError")
If ($)LASTERROR[0] = ($)ERROR_ALREADY_EXISTS Then
If ($)FLAG = 0 Then
Exit -1
Else
SetError(($)LASTERROR[0])
Return 0
EndIf
EndIf
Return ($)HANDLE[0]
EndFunc
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], 32768) = 32768 Then Return 1
Return 0
EndFunc
Func _SENDMESSAGE(($)H_HWND, ($)I_MSG, ($)WPARAM = 0, ($)LPARAM = 0, ($)I_R = 0, ($)S_T1 = "int", ($)S_T2 = "int")
Local ($)A_RET = DllCall("user32.dll", "long", "SendMessage", "hwnd", ($)H_HWND, "int", ($)I_MSG, ($)S_T1, ($)WPARAM, ($)S_T2, ($)LPARAM)
If @error Then Return SetError(@error, @extended, "")
If ($)I_R >= 0 And ($)I_R <= 4 Then Return ($)A_RET[($)I_R]
Return ($)A_RET
EndFunc
Func _ISCLASSNAME(($)H_HWND, ($)S_CLASSNAME)
If Not IsHWnd(($)H_HWND) Then ($)H_HWND = GUICtrlGetHandle(($)H_HWND)
Local ($)ARESULT = DllCall("user32.dll", "int", "GetClassNameA", "hwnd", ($)H_HWND, "str", "", "int", 256)
If @error Then Return SetError(@error, @error, "")
If IsArray(($)ARESULT) Then
If StringUpper(StringMid(($)ARESULT[2], 1, StringLen(($)S_CLASSNAME))) = StringUpper(($)S_CLASSNAME) Then
Return 1
Else
Return 0
EndIf
Else
Return SetError(-1, -1, 0)
EndIf
EndFunc
Func _VERSIONCOMPARE(($)SVERSION1, ($)SVERSION2)
If ($)SVERSION1 = ($)SVERSION2 Then Return 0
Local ($)SEP = "."
If StringInStr(($)SVERSION1, ($)SEP) = 0 Then ($)SEP = ","
Local ($)AVERSION1 = StringSplit(($)SVERSION1, ($)SEP)
Local ($)AVERSION2 = StringSplit(($)SVERSION2, ($)SEP)
If UBound(($)AVERSION1) <> UBound(($)AVERSION2) Or UBound(($)AVERSION1) = 0 Then
SetExtended(1)
If ($)SVERSION1 > ($)SVERSION2 Then
Return 1
ElseIf ($)SVERSION1 < ($)SVERSION2 Then
Return -1
EndIf
Else
For ($)I = 1 To UBound(($)AVERSION1) - 1
If StringIsDigit(($)AVERSION1[($)I]) And StringIsDigit(($)AVERSION2[($)I]) Then
If Number(($)AVERSION1[($)I]) > Number(($)AVERSION2[($)I]) Then
Return 1
ElseIf Number(($)AVERSION1[($)I]) < Number(($)AVERSION2[($)I]) Then
Return -1
EndIf
Else
SetExtended(1)
If ($)AVERSION1[($)I] > ($)AVERSION2[($)I] Then
Return 1
ElseIf ($)AVERSION1[($)I] < ($)AVERSION2[($)I] Then
Return -1
EndIf
EndIf
Next
EndIf
SetError(2)
Return 0
EndFunc
#region _Memory
Func _MEMORYOPEN(($)IV_PID, ($)IV_DESIREDACCESS = 2035711, ($)IV_INHERITHANDLE = 1)
If Not ProcessExists(($)IV_PID) Then
SetError(1)
Return 0
EndIf
Local ($)AH_HANDLE[2] = [DllOpen("kernel32.dll")]
If @error Then
SetError(2)
Return 0
EndIf
Local ($)AV_OPENPROCESS = DllCall(($)AH_HANDLE[0], "int", "OpenProcess", "int", ($)IV_DESIREDACCESS, "int", ($)IV_INHERITHANDLE, "int", ($)IV_PID)
If @error Then
DllClose(($)AH_HANDLE[0])
SetError(3)
Return 0
EndIf
($)AH_HANDLE[1] = ($)AV_OPENPROCESS[0]
Return ($)AH_HANDLE
EndFunc
Func _MEMORYREAD(($)IV_ADDRESS, ($)AH_HANDLE, ($)SV_TYPE = "dword")
If Not IsArray(($)AH_HANDLE) Then
SetError(1)
Return 0
EndIf
Local ($)V_BUFFER = DllStructCreate(($)SV_TYPE)
If @error Then
SetError(@error + 1)
Return 0
EndIf
DllCall(($)AH_HANDLE[0], "int", "ReadProcessMemory", "int", ($)AH_HANDLE[1], "int", ($)IV_ADDRESS, "ptr", DllStructGetPtr(($)V_BUFFER), "int", DllStructGetSize(($)V_BUFFER), "int", "")
If Not @error Then
Local ($)V_VALUE = DllStructGetData(($)V_BUFFER, 1)
Return ($)V_VALUE
Else
SetError(6)
Return 0
EndIf
EndFunc
Func _MEMORYWRITE(($)IV_ADDRESS, ($)AH_HANDLE, ($)V_DATA, ($)SV_TYPE = "dword")
If Not IsArray(($)AH_HANDLE) Then
SetError(1)
Return 0
EndIf
Local ($)V_BUFFER = DllStructCreate(($)SV_TYPE)
If @error Then
SetError(@error + 1)
Return 0
Else
DllStructSetData(($)V_BUFFER, 1, ($)V_DATA)
If @error Then
SetError(6)
Return 0
EndIf
EndIf
DllCall(($)AH_HANDLE[0], "int", "WriteProcessMemory", "int", ($)AH_HANDLE[1], "int", ($)IV_ADDRESS, "ptr", DllStructGetPtr(($)V_BUFFER), "int", DllStructGetSize(($)V_BUFFER), "int", "")
If Not @error Then
Return 1
Else
SetError(7)
Return 0
EndIf
EndFunc
Func _MEMORYCLOSE(($)AH_HANDLE)
If Not IsArray(($)AH_HANDLE) Then
SetError(1)
Return 0
EndIf
DllCall(($)AH_HANDLE[0], "int", "CloseHandle", "int", ($)AH_HANDLE[1])
If Not @error Then
DllClose(($)AH_HANDLE[0])
Return 1
Else
DllClose(($)AH_HANDLE[0])
SetError(2)
Return 0
EndIf
EndFunc
Func SETPRIVILEGE(($)PRIVILEGE, ($)BENABLE)
Const ($)TOKEN_ADJUST_PRIVILEGES = 32
Const ($)TOKEN_QUERY = 8
Const ($)SE_PRIVILEGE_ENABLED = 2
Local ($)HTOKEN, ($)SP_AUXRET, ($)SP_RET, ($)HCURRPROCESS, ($)NTOKENS, ($)NTOKENINDEX, ($)PRIV
($)NTOKENS = 1
($)LUID = DllStructCreate("dword;int")
If IsArray(($)PRIVILEGE) Then ($)NTOKENS = UBound(($)PRIVILEGE)
($)TOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * ($)NTOKENS) & "]")
($)NEWTOKEN_PRIVILEGES = DllStructCreate("dword;dword[" & (3 * ($)NTOKENS) & "]")
($)HCURRPROCESS = DllCall("kernel32.dll", "hwnd", "GetCurrentProcess")
($)SP_AUXRET = DllCall("advapi32.dll", "int", "OpenProcessToken", "hwnd", ($)HCURRPROCESS[0], "int", BitOR(($)TOKEN_ADJUST_PRIVILEGES, ($)TOKEN_QUERY), "int_ptr", 0)
If ($)SP_AUXRET[0] Then
($)HTOKEN = ($)SP_AUXRET[3]
DllStructSetData(($)TOKEN_PRIVILEGES, 1, 1)
($)NTOKENINDEX = 1
While ($)NTOKENINDEX <= ($)NTOKENS
If IsArray(($)PRIVILEGE) Then
($)PRIV = ($)PRIVILEGE[($)NTOKENINDEX - 1]
Else
($)PRIV = ($)PRIVILEGE
EndIf
($)RET = DllCall("advapi32.dll", "int", "LookupPrivilegeValue", "str", "", "str", ($)PRIV, "ptr", DllStructGetPtr(($)LUID))
If ($)RET[0] Then
If ($)BENABLE Then
DllStructSetData(($)TOKEN_PRIVILEGES, 2, ($)SE_PRIVILEGE_ENABLED, (3 * ($)NTOKENINDEX))
Else
DllStructSetData(($)TOKEN_PRIVILEGES, 2, 0, (3 * ($)NTOKENINDEX))
EndIf
DllStructSetData(($)TOKEN_PRIVILEGES, 2, DllStructGetData(($)LUID, 1), (3 * (($)NTOKENINDEX - 1)) + 1)
DllStructSetData(($)TOKEN_PRIVILEGES, 2, DllStructGetData(($)LUID, 2), (3 * (($)NTOKENINDEX - 1)) + 2)
DllStructSetData(($)LUID, 1, 0)
DllStructSetData(($)LUID, 2, 0)
EndIf
($)NTOKENINDEX += 1
WEnd
($)RET = DllCall("advapi32.dll", "int", "AdjustTokenPrivileges", "hwnd", ($)HTOKEN, "int", 0, "ptr", DllStructGetPtr(($)TOKEN_PRIVILEGES), "int", DllStructGetSize(($)NEWTOKEN_PRIVILEGES), "ptr", DllStructGetPtr(($)NEWTOKEN_PRIVILEGES), "int_ptr", 0)
($)F = DllCall("kernel32.dll", "int", "GetLastError")
EndIf
($)NEWTOKEN_PRIVILEGES = 0
($)TOKEN_PRIVILEGES = 0
($)LUID = 0
If ($)SP_AUXRET[0] = 0 Then Return 0
($)SP_AUXRET = DllCall("kernel32.dll", "int", "CloseHandle", "hwnd", ($)HTOKEN)
If Not ($)RET[0] And Not ($)SP_AUXRET[0] Then Return 0
Return ($)RET[0]
EndFunc
#endregion _Memory
Replaced Characters:
$ to ($) - vBulletin doesn't allow this.
I uploaded it for the lazy nation
.
Decompiled by inVincibLe~
Enjoy!
Attached Files
TServer1106b.rar
(12.1 KB, 556 views)
05/31/2008, 14:57
#2
elite*gold: 20
Join Date: Mar 2007
Posts: 4,277
Received Thanks: 2,990
Before posting please read the FAQ
Q:What is this
A:Source code of an old crack,can be updated.
Q:Is it working
A:No.
Q:How to use the files
A:You need AutoIt 3
05/31/2008, 15:37
#3
elite*gold: 0
Join Date: Mar 2006
Posts: 111
Received Thanks: 8
i hope someone will work on it
05/31/2008, 15:58
#4
elite*gold: 0
Join Date: Dec 2007
Posts: 506
Received Thanks: 53
Quote:
Originally Posted by
candyblade
i hope someone will work on it
yea hopefully
05/31/2008, 16:21
#5
elite*gold: 0
Join Date: May 2007
Posts: 875
Received Thanks: 210
O_O invi you made a double-post
TRATOR ^^
05/31/2008, 16:22
#6
elite*gold: 0
Join Date: Aug 2007
Posts: 230
Received Thanks: 157
just... WOW
05/31/2008, 16:28
#7
elite*gold: 0
Join Date: Apr 2007
Posts: 180
Received Thanks: 102
nice dude i hope some 1 crack it
05/31/2008, 20:31
#8
elite*gold: 0
Join Date: Oct 2007
Posts: 347
Received Thanks: 228
well i coud try but currently i'm working on a project of mine learning c++ and studying for exams >.<
05/31/2008, 20:43
#9
elite*gold: 0
Join Date: Apr 2008
Posts: 32
Received Thanks: 3
Oh yea it's the old Tbot crack xD
missin' this old days <3
06/01/2008, 01:38
#10
elite*gold: 0
Join Date: Feb 2008
Posts: 3
Received Thanks: 0
use this link to get the torrent MUST HAVE BITCOMMET OR BITTORRENT
06/01/2008, 03:03
#11
elite*gold: 0
Join Date: Sep 2007
Posts: 2,336
Received Thanks: 386
I'll hit thanks for whoever cracks it
..
Anyway, Good luck to anyone who is trying to.. Hope we can get back to the old cracked Tbot again..
06/01/2008, 04:41
#12
elite*gold: 0
Join Date: Dec 2007
Posts: 208
Received Thanks: 17
what must you learn to be able to create cracks and stuff?
06/01/2008, 15:52
#13
elite*gold: 0
Join Date: Feb 2008
Posts: 83
Received Thanks: 4
Quote:
Originally Posted by
_Stryder_
what must you learn to be able to create cracks and stuff?
2 Words Vill Gates =)
06/01/2008, 16:51
#14
elite*gold: 0
Join Date: Mar 2007
Posts: 58
Received Thanks: 0
isn't the only thing you need the initial packets tthat are sent to tbot's server ?
aren't those packets encrypted with a time stamp nowadays?
in anyways at the moment tbot creators are struggling to get out tbot 0529 and tbot 0527 doesn't work or something!
it would be nice to be proved wrong and return to before last christmas when we all botted using tbot
06/02/2008, 05:22
#15
elite*gold: 0
Join Date: Nov 2006
Posts: 35
Received Thanks: 0
Quote:
Originally Posted by
LightField
isn't the only thing you need the initial packets tthat are sent to tbot's server ?
aren't those packets encrypted with a time stamp nowadays?
in anyways at the moment tbot creators are struggling to get out tbot 0529 and tbot 0527 doesn't work or something!
it would be nice to be proved wrong and return to before last christmas when we all botted using tbot
i think that why we use loopback
Similar Threads
[Request]Black&White Source or other source for version 5065 or 5095
04/11/2009 - CO2 Private Server - 22 Replies
I need Source Black and White or from other server
i wanna Start a server..
All who help me will got Pm or Gm on my server..
________
[Release]How To Make Tq Source Work + Working Source + Server ByBass + Commands
12/08/2008 - CO2 PServer Guides & Releases - 15 Replies
1: How To Make The Server Work
In fact, before other people did not just let ACC now with hi EACC Columbia landing on the settlement of the issue, and the rest is our own how to improve the content of those interested can improve the next. MY MY set and the same. INI MAP INI files and MAP with the client-to-date coverage of the account. server.dat ! And then as long as the client will be able to modify server.dat!
127.0.0.1 192.168.0.1 192.168.1.1 IP。 Please do generally use...
T-BOT 1107 + Tserver 1106b
11/17/2007 - Silkroad Online - 1 Replies
Hello,
I've been using T-BOT 1107 + Tserver 1106b.
But i keep disconnecting and it sucks.
I can't bot afk... wich i really need to do-.-' otherwise it's not botting anymore.
Anyone knows if there is something new against the disconnecting?
-thnx.:cool:
All times are GMT +2. The time now is 04:12 .