Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Hacks, Bots, Cheats, Exploits & Macros
You last visited: Today at 22:23

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Metin2 Retrohack v1.2 Autoit source code

Discussion on Metin2 Retrohack v1.2 Autoit source code within the Metin2 Hacks, Bots, Cheats, Exploits & Macros forum part of the Metin2 category.

Reply
 
Old   #1
 
elite*gold: 0
Join Date: May 2011
Posts: 23
Received Thanks: 4
Metin2 Retrohack v1.2 Autoit source code

Hier den source code vom Retrohack v1.2

Global Const $PROV_RSA_FULL = 1
Global Const $PROV_RSA_AES = 24
Global Const $CRYPT_VERIFYCONTEXT = -268435456
Global Const $HP_HASHSIZE = 4
Global Const $HP_HASHVAL = 2
Global Const $CRYPT_EXPORTABLE = 1
Global Const $CRYPT_USERDATA = 1
Global Const $CALG_MD2 = 32769
Global Const $CALG_MD4 = 32770
Global Const $CALG_MD5 = 32771
Global Const $CALG_SHA1 = 32772
Global Const $CALG_3DES = 26115
Global Const $CALG_AES_128 = 26126
Global Const $CALG_AES_192 = 26127
Global Const $CALG_AES_256 = 26128
Global Const $CALG_DES = 26113
Global Const $CALG_RC2 = 26114
Global Const $CALG_RC4 = 26625
Global Const $CALG_USERKEY = 0
Global $__G_ACRYPTINTERNALDATA[3]
Func _CRYPT_STARTUP()
If __CRYPT_REFCOUNT() = 0 Then
Local $HADVAPI32 = DllOpen("Advapi32.dll")
If @error Then Return SetError(1, 0, False)
__CRYPT_DLLHANDLESET($HADVAPI32)
Local $ARET
Local $IPROVIDERID = $PROV_RSA_AES
If @OSVersion = "WIN_2000" Then $IPROVIDERID = $PROV_RSA_FULL
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptAcquireContext", "handle*", 0, "ptr", 0, "ptr", 0, "dword", $IPROVIDERID, "dword", $CRYPT_VERIFYCONTEXT)
If @error Or Not $ARET[0] Then
DllClose(__CRYPT_DLLHANDLE())
Return SetError(2, 0, False)
Else
__CRYPT_CONTEXTSET($ARET[1])
EndIf
EndIf
__CRYPT_REFCOUNTINC()
Return True
EndFunc
Func _CRYPT_SHUTDOWN()
__CRYPT_REFCOUNTDEC()
If __CRYPT_REFCOUNT() = 0 Then
DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptReleaseContext", "handle", __CRYPT_CONTEXT(), "dword", 0)
DllClose(__CRYPT_DLLHANDLE())
EndIf
EndFunc
Func _CRYPT_DERIVEKEY($VPASSWORD, $IALG_ID, $IHASH_ALG_ID = $CALG_MD5)
Local $ARET
Local $HCRYPTHASH
Local $HBUFF
Local $IERROR
Local $VRETURN
_CRYPT_STARTUP()
Do
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptCreateHash", "handle", __CRYPT_CONTEXT(), "uint", $IHASH_ALG_ID, "ptr", 0, "dword", 0, "handle*", 0)
If @error Or Not $ARET[0] Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
$HCRYPTHASH = $ARET[5]
$HBUFF = DllStructCreate("byte[" & BinaryLen($VPASSWORD) & "]")
DllStructSetData($HBUFF, 1, $VPASSWORD)
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptHashData", "handle", $HCRYPTHASH, "ptr", DllStructGetPtr($HBUFF), "dword", DllStructGetSize($HBUFF), "dword", $CRYPT_USERDATA)
If @error Or Not $ARET[0] Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptDeriveKey", "handle", __CRYPT_CONTEXT(), "uint", $IALG_ID, "handle", $HCRYPTHASH, "dword", $CRYPT_EXPORTABLE, "handle*", 0)
If @error Or Not $ARET[0] Then
$IERROR = 3
$VRETURN = -1
ExitLoop
EndIf
$IERROR = 0
$VRETURN = $ARET[5]
Until True
If $HCRYPTHASH <> 0 Then DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptDestroyHash", "handle", $HCRYPTHASH)
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_DESTROYKEY($HCRYPTKEY)
Local $ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptDestroyKey", "handle", $HCRYPTKEY)
Local $NERROR = @error
_CRYPT_SHUTDOWN()
If $NERROR Or Not $ARET[0] Then
Return SetError(1, 0, False)
Else
Return SetError(0, 0, True)
EndIf
EndFunc
Func _CRYPT_ENCRYPTDATA($VDATA, $VCRYPTKEY, $IALG_ID, $FFINAL = True)
Local $HBUFF
Local $IERROR
Local $VRETURN
Local $REQBUFFSIZE
Local $ARET
_CRYPT_STARTUP()
Do
If $IALG_ID <> $CALG_USERKEY Then
$VCRYPTKEY = _CRYPT_DERIVEKEY($VCRYPTKEY, $IALG_ID)
If @error Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
EndIf
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptEncrypt", "ptr", $VCRYPTKEY, "ptr", 0, "bool", 1, "dword", 0, "ptr", 0, "dword*", BinaryLen($VDATA), "dword", 0)
If @error Or Not $ARET[0] Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
$REQBUFFSIZE = $ARET[6]
$HBUFF = DllStructCreate("byte[" & $REQBUFFSIZE & "]")
DllStructSetData($HBUFF, 1, $VDATA)
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptEncrypt", "ptr", $VCRYPTKEY, "ptr", 0, "bool", $FFINAL, "dword", 0, "ptr", DllStructGetPtr($HBUFF), "dword*", BinaryLen($VDATA), "dword", DllStructGetSize($HBUFF))
If @error Or Not $ARET[0] Then
$IERROR = 3
$VRETURN = -1
ExitLoop
EndIf
$IERROR = 0
$VRETURN = DllStructGetData($HBUFF, 1)
Until True
If $IALG_ID <> $CALG_USERKEY Then _CRYPT_DESTROYKEY($VCRYPTKEY)
_CRYPT_SHUTDOWN()
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_DECRYPTDATA($VDATA, $VCRYPTKEY, $IALG_ID, $FFINAL = True)
Local $HBUFF
Local $IERROR
Local $VRETURN
Local $HTEMPSTRUCT
Local $IPLAINTEXTSIZE
Local $ARET
_CRYPT_STARTUP()
Do
If $IALG_ID <> $CALG_USERKEY Then
$VCRYPTKEY = _CRYPT_DERIVEKEY($VCRYPTKEY, $IALG_ID)
If @error Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
EndIf
$HBUFF = DllStructCreate("byte[" & BinaryLen($VDATA) + 1000 & "]")
DllStructSetData($HBUFF, 1, $VDATA)
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptDecrypt", "handle", $VCRYPTKEY, "handle", 0, "bool", $FFINAL, "dword", 0, "ptr", DllStructGetPtr($HBUFF), "dword*", BinaryLen($VDATA))
If @error Or Not $ARET[0] Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
$IPLAINTEXTSIZE = $ARET[6]
$HTEMPSTRUCT = DllStructCreate("byte[" & $IPLAINTEXTSIZE & "]", DllStructGetPtr($HBUFF))
$IERROR = 0
$VRETURN = DllStructGetData($HTEMPSTRUCT, 1)
Until True
If $IALG_ID <> $CALG_USERKEY Then _CRYPT_DESTROYKEY($VCRYPTKEY)
_CRYPT_SHUTDOWN()
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_HASHDATA($VDATA, $IALG_ID, $FFINAL = True, $HCRYPTHASH = 0)
Local $IERROR
Local $VRETURN = 0
Local $IHASHSIZE
Local $ARET
Local $HBUFF = 0
_CRYPT_STARTUP()
Do
If $HCRYPTHASH = 0 Then
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptCreateHash", "handle", __CRYPT_CONTEXT(), "uint", $IALG_ID, "ptr", 0, "dword", 0, "handle*", 0)
If @error Or Not $ARET[0] Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
$HCRYPTHASH = $ARET[5]
EndIf
$HBUFF = DllStructCreate("byte[" & BinaryLen($VDATA) & "]")
DllStructSetData($HBUFF, 1, $VDATA)
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptHashData", "handle", $HCRYPTHASH, "ptr", DllStructGetPtr($HBUFF), "dword", DllStructGetSize($HBUFF), "dword", $CRYPT_USERDATA)
If @error Or Not $ARET[0] Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
If $FFINAL Then
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptGetHashParam", "handle", $HCRYPTHASH, "dword", $HP_HASHSIZE, "dword*", 0, "dword*", 4, "dword", 0)
If @error Or Not $ARET[0] Then
$IERROR = 3
$VRETURN = -1
ExitLoop
EndIf
$IHASHSIZE = $ARET[3]
$HBUFF = DllStructCreate("byte[" & $IHASHSIZE & "]")
$ARET = DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptGetHashParam", "handle", $HCRYPTHASH, "dword", $HP_HASHVAL, "ptr", DllStructGetPtr($HBUFF), "dword*", DllStructGetSize($HBUFF), "dword", 0)
If @error Or Not $ARET[0] Then
$IERROR = 4
$VRETURN = -1
ExitLoop
EndIf
$IERROR = 0
$VRETURN = DllStructGetData($HBUFF, 1)
Else
$VRETURN = $HCRYPTHASH
EndIf
Until True
If $HCRYPTHASH <> 0 And $FFINAL Then DllCall(__CRYPT_DLLHANDLE(), "bool", "CryptDestroyHash", "handle", $HCRYPTHASH)
_CRYPT_SHUTDOWN()
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_HASHFILE($SFILE, $IALG_ID)
Local $HFILE
Local $IERROR, $VRETURN
Local $HHASHOBJECT = 0
Local $BTEMPDATA
_CRYPT_STARTUP()
Do
$HFILE = FileOpen($SFILE, 16)
If $HFILE = -1 Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
Do
$BTEMPDATA = FileRead($HFILE, 512 * 1024)
If @error Then
$VRETURN = _CRYPT_HASHDATA($BTEMPDATA, $IALG_ID, True, $HHASHOBJECT)
If @error Then
$VRETURN = -1
$IERROR = 2
ExitLoop 2
EndIf
ExitLoop 2
Else
$HHASHOBJECT = _CRYPT_HASHDATA($BTEMPDATA, $IALG_ID, False, $HHASHOBJECT)
If @error Then
$VRETURN = -1
$IERROR = 3
ExitLoop 2
EndIf
EndIf
Until False
Until True
_CRYPT_SHUTDOWN()
If $HFILE <> -1 Then FileClose($HFILE)
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_ENCRYPTFILE($SSOURCEFILE, $SDESTINATIONFILE, $VCRYPTKEY, $IALG_ID)
Local $HINFILE, $HOUTFILE
Local $IERROR = 0, $VRETURN = True
Local $BTEMPDATA
Local $IFILESIZE = FileGetSize($SSOURCEFILE)
Local $IREAD = 0
_CRYPT_STARTUP()
Do
If $IALG_ID <> $CALG_USERKEY Then
$VCRYPTKEY = _CRYPT_DERIVEKEY($VCRYPTKEY, $IALG_ID)
If @error Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
EndIf
$HINFILE = FileOpen($SSOURCEFILE, 16)
If @error Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
$HOUTFILE = FileOpen($SDESTINATIONFILE, 26)
If @error Then
$IERROR = 3
$VRETURN = -1
ExitLoop
EndIf
Do
$BTEMPDATA = FileRead($HINFILE, 1024 * 1024)
$IREAD += BinaryLen($BTEMPDATA)
If $IREAD = $IFILESIZE Then
$BTEMPDATA = _CRYPT_ENCRYPTDATA($BTEMPDATA, $VCRYPTKEY, $CALG_USERKEY, True)
If @error Then
$IERROR = 4
$VRETURN = -1
EndIf
FileWrite($HOUTFILE, $BTEMPDATA)
ExitLoop 2
Else
$BTEMPDATA = _CRYPT_ENCRYPTDATA($BTEMPDATA, $VCRYPTKEY, $CALG_USERKEY, False)
If @error Then
$IERROR = 5
$VRETURN = -1
ExitLoop 2
EndIf
FileWrite($HOUTFILE, $BTEMPDATA)
EndIf
Until False
Until True
If $IALG_ID <> $CALG_USERKEY Then _CRYPT_DESTROYKEY($VCRYPTKEY)
_CRYPT_SHUTDOWN()
If $HINFILE <> -1 Then FileClose($HINFILE)
If $HOUTFILE <> -1 Then FileClose($HOUTFILE)
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func _CRYPT_DECRYPTFILE($SSOURCEFILE, $SDESTINATIONFILE, $VCRYPTKEY, $IALG_ID)
Local $HINFILE, $HOUTFILE
Local $IERROR = 0, $VRETURN = True
Local $BTEMPDATA
Local $IFILESIZE = FileGetSize($SSOURCEFILE)
Local $IREAD = 0
_CRYPT_STARTUP()
Do
If $IALG_ID <> $CALG_USERKEY Then
$VCRYPTKEY = _CRYPT_DERIVEKEY($VCRYPTKEY, $IALG_ID)
If @error Then
$IERROR = 1
$VRETURN = -1
ExitLoop
EndIf
EndIf
$HINFILE = FileOpen($SSOURCEFILE, 16)
If @error Then
$IERROR = 2
$VRETURN = -1
ExitLoop
EndIf
$HOUTFILE = FileOpen($SDESTINATIONFILE, 26)
If @error Then
$IERROR = 3
$VRETURN = -1
ExitLoop
EndIf
Do
$BTEMPDATA = FileRead($HINFILE, 1024 * 1024)
$IREAD += BinaryLen($BTEMPDATA)
If $IREAD = $IFILESIZE Then
$BTEMPDATA = _CRYPT_DECRYPTDATA($BTEMPDATA, $VCRYPTKEY, $CALG_USERKEY, True)
If @error Then
$IERROR = 4
$VRETURN = -1
EndIf
FileWrite($HOUTFILE, $BTEMPDATA)
ExitLoop 2
Else
$BTEMPDATA = _CRYPT_DECRYPTDATA($BTEMPDATA, $VCRYPTKEY, $CALG_USERKEY, False)
If @error Then
$IERROR = 5
$VRETURN = -1
ExitLoop 2
EndIf
FileWrite($HOUTFILE, $BTEMPDATA)
EndIf
Until False
Until True
If $IALG_ID <> $CALG_USERKEY Then _CRYPT_DESTROYKEY($VCRYPTKEY)
_CRYPT_SHUTDOWN()
If $HINFILE <> -1 Then FileClose($HINFILE)
If $HOUTFILE <> -1 Then FileClose($HOUTFILE)
Return SetError($IERROR, 0, $VRETURN)
EndFunc
Func __CRYPT_REFCOUNT()
Return $__G_ACRYPTINTERNALDATA[0]
EndFunc
Func __CRYPT_REFCOUNTINC()
$__G_ACRYPTINTERNALDATA[0] += 1
EndFunc
Func __CRYPT_REFCOUNTDEC()
If $__G_ACRYPTINTERNALDATA[0] > 0 Then $__G_ACRYPTINTERNALDATA[0] -= 1
EndFunc
Func __CRYPT_DLLHANDLE()
Return $__G_ACRYPTINTERNALDATA[1]
EndFunc
Func __CRYPT_DLLHANDLESET($HADVAPI32)
$__G_ACRYPTINTERNALDATA[1] = $HADVAPI32
EndFunc
Func __CRYPT_CONTEXT()
Return $__G_ACRYPTINTERNALDATA[2]
EndFunc
Func __CRYPT_CONTEXTSET($HCRYPTCONTEXT)
$__G_ACRYPTINTERNALDATA[2] = $HCRYPTCONTEXT
EndFunc
#RequireAdmin
#AutoIt3Wrapper_Run_=32
$B = True
If $B = True Then FileInstall("C:\ActivateButton.jpg", "c:\ActivateButton.jpg")
FileInstall("C:\Background v2.jpg", "c:\Background v2.jpg")
FileInstall("C:\CreditsButton.bmp", "c:\CreditsButton.bmp")
FileInstall("C:\error.ico", "c:\error.ico")
FileInstall("C:\Error.jpg", "c:\Error.jpg")
FileInstall("C:\Intro.jpg", "c:\Intro.jpg")
FileInstall("C:\OffButton.jpg", "c:\OffButton.jpg")
FileInstall("C:\OffPicture.bmp", "c:\OffPicture.bmp")
FileInstall("C:\OffPicture.jpg", "c:\OffPicture.jpg")
FileInstall("C:\OnButton.jpg", "c:\OnButton.jpg")
FileInstall("C:\OnPicture.bmp", "c:\OnPicture.bmp")
FileInstall("C:\OnPicture.jpg", "c:\OnPicture.jpg")
FileInstall("C:\R Icon.ico", "c:\R Icon.ico")
FileInstall("C:\helpbutton.bmp", "C:\helpbutton.bmp")
#Region _Memory
Func _MEMORYOPEN($IV_PID, $IV_DESIREDACCESS = 2035711, $IF_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", $IF_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 _MEMORYPOINTERREAD($IV_ADDRESS, $AH_HANDLE, $AV_OFFSET, $SV_TYPE = "dword")
If IsArray($AV_OFFSET) Then
If IsArray($AH_HANDLE) Then
Local $IV_POINTERCOUNT = UBound($AV_OFFSET) - 1
Else
SetError(2)
Return 0
EndIf
Else
SetError(1)
Return 0
EndIf
Local $IV_DATA[2], $I
Local $V_BUFFER = DllStructCreate("dword")
For $I = 0 To $IV_POINTERCOUNT
If $I = $IV_POINTERCOUNT Then
$V_BUFFER = DllStructCreate($SV_TYPE)
If @error Then
SetError(@error + 2)
Return 0
EndIf
$IV_ADDRESS = "0x" & Hex($IV_DATA[1] + $AV_OFFSET[$I])
DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(7)
Return 0
EndIf
$IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
ElseIf $I = 0 Then
DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(7)
Return 0
EndIf
$IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
Else
$IV_ADDRESS = "0x" & Hex($IV_DATA[1] + $AV_OFFSET[$I])
DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(7)
Return 0
EndIf
$IV_DATA[1] = DllStructGetData($V_BUFFER, 1)
EndIf
Next
$IV_DATA[0] = $IV_ADDRESS
Return $IV_DATA
EndFunc
Func _MEMORYPOINTERWRITE($IV_ADDRESS, $AH_HANDLE, $AV_OFFSET, $V_DATA, $SV_TYPE = "dword")
If IsArray($AV_OFFSET) Then
If IsArray($AH_HANDLE) Then
Local $IV_POINTERCOUNT = UBound($AV_OFFSET) - 1
Else
SetError(2)
Return 0
EndIf
Else
SetError(1)
Return 0
EndIf
Local $IV_STRUCTDATA, $I
Local $V_BUFFER = DllStructCreate("dword")
For $I = 0 To $IV_POINTERCOUNT
If $I = $IV_POINTERCOUNT Then
$V_BUFFER = DllStructCreate($SV_TYPE)
If @error Then
SetError(@error + 3)
Return 0
EndIf
DllStructSetData($V_BUFFER, 1, $V_DATA)
If @error Then
SetError(8)
Return 0
EndIf
$IV_ADDRESS = "0x" & Hex($IV_STRUCTDATA + $AV_OFFSET[$I])
DllCall($AH_HANDLE[0], "int", "WriteProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(9)
Return 0
Else
Return $IV_ADDRESS
EndIf
ElseIf $I = 0 Then
DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(3)
Return 0
EndIf
$IV_STRUCTDATA = DllStructGetData($V_BUFFER, 1)
Else
$IV_ADDRESS = "0x" & Hex($IV_STRUCTDATA + $AV_OFFSET[$I])
DllCall($AH_HANDLE[0], "int", "ReadProcessMemory", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER), "int", "")
If @error Then
SetError(3)
Return 0
EndIf
$IV_STRUCTDATA = DllStructGetData($V_BUFFER, 1)
EndIf
Next
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*", 0)
If $SP_AUXRET[0] Then
$HTOKEN = $SP_AUXRET[3]
DllStructSetData($TOKEN_PRIVILEGES, 1, 1)
$NTOKENINDEX = 1
While $NTOKENINDEX <= $NTOKENS
If IsArray($PRIVILEGE) Then
$NTOKENVAR = $NTOKENINDEX - 1
$PRIV = $PRIVILEGE[$NTOKENVAR]
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*", 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
Func _MEMORYGETBASEADDRESS($AH_HANDLE, $IHEXDEC = 0)
Local $IV_ADDRESS = 1048576
Local $V_BUFFER = DllStructCreate("dword;dword;dword;dword;dword;dwo rd;dword")
Local $VDATA
Local $VTYPE
If Not IsArray($AH_HANDLE) Then
SetError(1)
Return 0
EndIf
DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
If Not @error Then
$VDATA = Hex(DllStructGetData($V_BUFFER, 2))
$VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
While $VTYPE <> "00000080"
DllCall($AH_HANDLE[0], "int", "VirtualQueryEx", "int", $AH_HANDLE[1], "int", $IV_ADDRESS, "ptr", DllStructGetPtr($V_BUFFER), "int", DllStructGetSize($V_BUFFER))
$VDATA = Hex(DllStructGetData($V_BUFFER, 2))
$VTYPE = Hex(DllStructGetData($V_BUFFER, 3))
If Hex($IV_ADDRESS) = "01000000" Then ExitLoop
$IV_ADDRESS += 65536
WEnd
If $VTYPE = "00000080" Then
SetError(0)
If $IHEXDEC = 1 Then
Return Dec($VDATA)
Else
Return $VDATA
EndIf
Else
SetError(2)
Return 0
EndIf
Else
SetError(3)
Return 0
EndIf
EndFunc
Func _MEMORYMODULEGETBASEADDRESS($IPID, $SMODULE)
If Not ProcessExists($IPID) Then Return SetError(1, 0, 0)
If Not IsString($SMODULE) Then Return SetError(2, 0, 0)
Local $PSAPI = DllOpen("psapi.dll")
Local $HPROCESS
Local $PERMISSION = BitOR(2, 1024, 8, 16, 32)
If $IPID > 0 Then
Local $HPROCESS = DllCall("kernel32.dll", "ptr", "OpenProcess", "dword", $PERMISSION, "int", 0, "dword", $IPID)
If $HPROCESS[0] Then
$HPROCESS = $HPROCESS[0]
EndIf
EndIf
Local $MODULES = DllStructCreate("ptr[1024]")
Local $ACALL = DllCall($PSAPI, "int", "EnumProcessModules", "ptr", $HPROCESS, "ptr", DllStructGetPtr($MODULES), "dword", DllStructGetSize($MODULES), "dword*", 0)
If $ACALL[4] > 0 Then
Local $IMODNUM = $ACALL[4] / 4
Local $ATEMP
For $I = 1 To $IMODNUM
$ATEMP = DllCall($PSAPI, "dword", "GetModuleBaseNameW", "ptr", $HPROCESS, "ptr", Ptr(DllStructGetData($MODULES, 1, $I)), "wstr", "", "dword", 260)
If $ATEMP[3] = $SMODULE Then
DllClose($PSAPI)
Return Ptr(DllStructGetData($MODULES, 1, $I))
EndIf
Next
EndIf
DllClose($PSAPI)
Return SetError(-1, 0, 0)
EndFunc
#EndRegion _Memory
Global Const $CB_ERR = -1
Global Const $CB_ERRATTRIBUTE = -3
Global Const $CB_ERRREQUIRED = -4
Global Const $CB_ERRSPACE = -2
Global Const $CB_OKAY = 0
Global Const $STATE_SYSTEM_INVISIBLE = 32768
Global Const $STATE_SYSTEM_PRESSED = 8
Global Const $CBS_AUTOHSCROLL = 64
Global Const $CBS_DISABLENOSCROLL = 2048
Global Const $CBS_DROPDOWN = 2
Global Const $CBS_DROPDOWNLIST = 3
Global Const $CBS_HASSTRINGS = 512
Global Const $CBS_LOWERCASE = 16384
Global Const $CBS_NOINTEGRALHEIGHT = 1024
Global Const $CBS_OEMCONVERT = 128
Global Const $CBS_OWNERDRAWFIXED = 16
Global Const $CBS_OWNERDRAWVARIABLE = 32
Global Const $CBS_SIMPLE = 1
Global Const $CBS_SORT = 256
Global Const $CBS_UPPERCASE = 8192
Global Const $CBM_FIRST = 5888
Global Const $CB_ADDSTRING = 323
Global Const $CB_DELETESTRING = 324
Global Const $CB_DIR = 325
Global Const $CB_FINDSTRING = 332
Global Const $CB_FINDSTRINGEXACT = 344
Global Const $CB_GETCOMBOBOXINFO = 356
Global Const $CB_GETCOUNT = 326
Global Const $CB_GETCUEBANNER = ($CBM_FIRST + 4)
Global Const $CB_GETCURSEL = 327
Global Const $CB_GETDROPPEDCONTROLRECT = 338
Global Const $CB_GETDROPPEDSTATE = 343
Global Const $CB_GETDROPPEDWIDTH = 351
Global Const $CB_GETEDITSEL = 320
Global Const $CB_GETEXTENDEDUI = 342
Global Const $CB_GETHORIZONTALEXTENT = 349
Global Const $CB_GETITEMDATA = 336
Global Const $CB_GETITEMHEIGHT = 340
Global Const $CB_GETLBTEXT = 328
Global Const $CB_GETLBTEXTLEN = 329
Global Const $CB_GETLOCALE = 346
Global Const $CB_GETMINVISIBLE = 5890
Global Const $CB_GETTOPINDEX = 347
Global Const $CB_INITSTORAGE = 353
Global Const $CB_LIMITTEXT = 321
Global Const $CB_RESETCONTENT = 331
Global Const $CB_INSERTSTRING = 330
Global Const $CB_SELECTSTRING = 333
Global Const $CB_SETCUEBANNER = ($CBM_FIRST + 3)
Global Const $CB_SETCURSEL = 334
Global Const $CB_SETDROPPEDWIDTH = 352
Global Const $CB_SETEDITSEL = 322
Global Const $CB_SETEXTENDEDUI = 341
Global Const $CB_SETHORIZONTALEXTENT = 350
Global Const $CB_SETITEMDATA = 337
Global Const $CB_SETITEMHEIGHT = 339
Global Const $CB_SETLOCALE = 345
Global Const $CB_SETMINVISIBLE = 5889
Global Const $CB_SETTOPINDEX = 348
Global Const $CB_SHOWDROPDOWN = 335
Global Const $CBN_CLOSEUP = 8
Global Const $CBN_DBLCLK = 2
Global Const $CBN_DROPDOWN = 7
Global Const $CBN_EDITCHANGE = 5
Global Const $CBN_EDITUPDATE = 6
Global Const $CBN_ERRSPACE = (-1)
Global Const $CBN_KILLFOCUS = 4
Global Const $CBN_SELCHANGE = 1
Global Const $CBN_SELENDCANCEL = 10
Global Const $CBN_SELENDOK = 9
Global Const $CBN_SETFOCUS = 3
Global Const $CBES_EX_CASESENSITIVE = 16
Global Const $CBES_EX_NOEDITIMAGE = 1
Global Const $CBES_EX_NOEDITIMAGEINDENT = 2
Global Const $CBES_EX_NOSIZELIMIT = 8
Global Const $CBES_EX_PATHWORDBREAKPROC = 4
Global Const $__COMBOBOXCONSTANT_WM_USER = 1024
Global Const $CBEM_DELETEITEM = $CB_DELETESTRING
Global Const $CBEM_GETCOMBOCONTROL = ($__COMBOBOXCONSTANT_WM_USER + 6)
Global Const $CBEM_GETEDITCONTROL = ($__COMBOBOXCONSTANT_WM_USER + 7)
Global Const $CBEM_GETEXSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 9)
Global Const $CBEM_GETEXTENDEDSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 9)
Global Const $CBEM_GETIMAGELIST = ($__COMBOBOXCONSTANT_WM_USER + 3)
Global Const $CBEM_GETITEMA = ($__COMBOBOXCONSTANT_WM_USER + 4)
Global Const $CBEM_GETITEMW = ($__COMBOBOXCONSTANT_WM_USER + 13)
Global Const $CBEM_GETUNICODEFORMAT = 8192 + 6
Global Const $CBEM_HASEDITCHANGED = ($__COMBOBOXCONSTANT_WM_USER + 10)
Global Const $CBEM_INSERTITEMA = ($__COMBOBOXCONSTANT_WM_USER + 1)
Global Const $CBEM_INSERTITEMW = ($__COMBOBOXCONSTANT_WM_USER + 11)
Global Const $CBEM_SETEXSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 8)
Global Const $CBEM_SETEXTENDEDSTYLE = ($__COMBOBOXCONSTANT_WM_USER + 14)
Global Const $CBEM_SETIMAGELIST = ($__COMBOBOXCONSTANT_WM_USER + 2)
Global Const $CBEM_SETITEMA = ($__COMBOBOXCONSTANT_WM_USER + 5)
Global Const $CBEM_SETITEMW = ($__COMBOBOXCONSTANT_WM_USER + 12)
Global Const $CBEM_SETUNICODEFORMAT = 8192 + 5
Global Const $CBEM_SETWINDOWTHEME = 8192 + 11
Global Const $CBEN_FIRST = (-800)
Global Const $CBEN_LAST = (-830)
Global Const $CBEN_BEGINEDIT = ($CBEN_FIRST - 4)
Global Const $CBEN_DELETEITEM = ($CBEN_FIRST - 2)
Global Const $CBEN_DRAGBEGINA = ($CBEN_FIRST - 8)
Global Const $CBEN_DRAGBEGINW = ($CBEN_FIRST - 9)
Global Const $CBEN_ENDEDITA = ($CBEN_FIRST - 5)
Global Const $CBEN_ENDEDITW = ($CBEN_FIRST - 6)
Global Const $CBEN_GETDISPINFO = ($CBEN_FIRST - 0)
Global Const $CBEN_GETDISPINFOA = ($CBEN_FIRST - 0)
Global Const $CBEN_GETDISPINFOW = ($CBEN_FIRST - 7)
Global Const $CBEN_INSERTITEM = ($CBEN_FIRST - 1)
Global Const $CBEIF_DI_SETITEM = 268435456
Global Const $CBEIF_IMAGE = 2
Global Const $CBEIF_INDENT = 16
Global Const $CBEIF_LPARAM = 32
Global Const $CBEIF_OVERLAY = 8
Global Const $CBEIF_SELECTEDIMAGE = 4
Global Const $CBEIF_TEXT = 1
Global Const $__COMBOBOXCONSTANT_WS_VSCROLL = 2097152
Global Const $GUI_SS_DEFAULT_COMBO = BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL, $__COMBOBOXCONSTANT_WS_VSCROLL)
Global Const $ES_LEFT = 0
Global Const $ES_CENTER = 1
Global Const $ES_RIGHT = 2
Global Const $ES_MULTILINE = 4
Global Const $ES_UPPERCASE = 8
Global Const $ES_LOWERCASE = 16
Global Const $ES_PASSWORD = 32
Global Const $ES_AUTOVSCROLL = 64
Global Const $ES_AUTOHSCROLL = 128
Global Const $ES_NOHIDESEL = 256
Global Const $ES_OEMCONVERT = 1024
Global Const $ES_READONLY = 2048
Global Const $ES_WANTRETURN = 4096
Global Const $ES_NUMBER = 8192
Global Const $EC_ERR = -1
Global Const $ECM_FIRST = 5376
Global Const $EM_CANUNDO = 198
Global Const $EM_CHARFROMPOS = 215
Global Const $EM_EMPTYUNDOBUFFER = 205
Global Const $EM_FMTLINES = 200
Global Const $EM_GETCUEBANNER = ($ECM_FIRST + 2)
Global Const $EM_GETFIRSTVISIBLELINE = 206
Global Const $EM_GETHANDLE = 189
Global Const $EM_GETIMESTATUS = 217
Global Const $EM_GETLIMITTEXT = 213
Global Const $EM_GETLINE = 196
Global Const $EM_GETLINECOUNT = 186
Global Const $EM_GETMARGINS = 212
Global Const $EM_GETMODIFY = 184
Global Const $EM_GETPASSWORDCHAR = 210
Global Const $EM_GETRECT = 178
Global Const $EM_GETSEL = 176
Global Const $EM_GETTHUMB = 190
Global Const $EM_GETWORDBREAKPROC = 209
Global Const $EM_HIDEBALLOONTIP = ($ECM_FIRST + 4)
Global Const $EM_LIMITTEXT = 197
Global Const $EM_LINEFROMCHAR = 201
Global Const $EM_LINEINDEX = 187
Global Const $EM_LINELENGTH = 193
Global Const $EM_LINESCROLL = 182
Global Const $EM_POSFROMCHAR = 214
Global Const $EM_REPLACESEL = 194
Global Const $EM_SCROLL = 181
Global Const $EM_SCROLLCARET = 183
Global Const $EM_SETCUEBANNER = ($ECM_FIRST + 1)
Global Const $EM_SETHANDLE = 188
Global Const $EM_SETIMESTATUS = 216
Global Const $EM_SETLIMITTEXT = $EM_LIMITTEXT
Global Const $EM_SETMARGINS = 211
Global Const $EM_SETMODIFY = 185
Global Const $EM_SETPASSWORDCHAR = 204
Global Const $EM_SETREADONLY = 207
Global Const $EM_SETRECT = 179
Global Const $EM_SETRECTNP = 180
Global Const $EM_SETSEL = 177
Global Const $EM_SETTABSTOPS = 203
Global Const $EM_SETWORDBREAKPROC = 208
Global Const $EM_SHOWBALLOONTIP = ($ECM_FIRST + 3)
Global Const $EM_UNDO = 199
Global Const $EC_LEFTMARGIN = 1
Global Const $EC_RIGHTMARGIN = 2
Global Const $EC_USEFONTINFO = 65535
Global Const $EMSIS_COMPOSITIONSTRING = 1
Global Const $EIMES_GETCOMPSTRATONCE = 1
Global Const $EIMES_CANCELCOMPSTRINFOCUS = 2
Global Const $EIMES_COMPLETECOMPSTRKILLFOCUS = 4
Global Const $EN_ALIGN_LTR_EC = 1792
Global Const $EN_ALIGN_RTL_EC = 1793
Global Const $EN_CHANGE = 768
Global Const $EN_ERRSPACE = 1280
Global Const $EN_HSCROLL = 1537
Global Const $EN_KILLFOCUS = 512
Global Const $EN_MAXTEXT = 1281
Global Const $EN_SETFOCUS = 256
Global Const $EN_UPDATE = 1024
Global Const $EN_VSCROLL = 1538
Global Const $TTI_NONE = 0
Global Const $TTI_INFO = 1
Global Const $TTI_WARNING = 2
Global Const $TTI_ERROR = 3
Global Const $TTI_INFO_LARGE = 4
Global Const $TTI_WARNING_LARGE = 5
Global Const $TTI_ERROR_LARGE = 6
Global Const $__EDITCONSTANT_WS_VSCROLL = 2097152
Global Const $__EDITCONSTANT_WS_HSCROLL = 1048576
Global Const $GUI_SS_DEFAULT_EDIT = BitOR($ES_WANTRETURN, $__EDITCONSTANT_WS_VSCROLL, $__EDITCONSTANT_WS_HSCROLL, $ES_AUTOVSCROLL, $ES_AUTOHSCROLL)
Global Const $GUI_SS_DEFAULT_INPUT = BitOR($ES_LEFT, $ES_AUTOHSCROLL)
Global Const $GUI_EVENT_CLOSE = -3
Global Const $GUI_EVENT_MINIMIZE = -4
Global Const $GUI_EVENT_RESTORE = -5
Global Const $GUI_EVENT_MAXIMIZE = -6
Global Const $GUI_EVENT_PRIMARYDOWN = -7
Global Const $GUI_EVENT_PRIMARYUP = -8
Global Const $GUI_EVENT_SECONDARYDOWN = -9
Global Const $GUI_EVENT_SECONDARYUP = -10
Global Const $GUI_EVENT_MOUSEMOVE = -11
Global Const $GUI_EVENT_RESIZED = -12
Global Const $GUI_EVENT_DROPPED = -13
Global Const $GUI_RUNDEFMSG = "GUI_RUNDEFMSG"
Global Const $GUI_AVISTOP = 0
Global Const $GUI_AVISTART = 1
Global Const $GUI_AVICLOSE = 2
Global Const $GUI_CHECKED = 1
Global Const $GUI_INDETERMINATE = 2
Global Const $GUI_UNCHECKED = 4
Global Const $GUI_DROPACCEPTED = 8
Global Const $GUI_NODROPACCEPTED = 4096
Global Const $GUI_ACCEPTFILES = $GUI_DROPACCEPTED
Global Const $GUI_SHOW = 16
Global Const $GUI_HIDE = 32
Global Const $GUI_ENABLE = 64
Global Const $GUI_DISABLE = 128
Global Const $GUI_FOCUS = 256
Global Const $GUI_NOFOCUS = 8192
Global Const $GUI_DEFBUTTON = 512
Global Const $GUI_EXPAND = 1024
Global Const $GUI_ONTOP = 2048
Global Const $GUI_FONTITALIC = 2
Global Const $GUI_FONTUNDER = 4
Global Const $GUI_FONTSTRIKE = 8
Global Const $GUI_DOCKAUTO = 1
Global Const $GUI_DOCKLEFT = 2
Global Const $GUI_DOCKRIGHT = 4
Global Const $GUI_DOCKHCENTER = 8
Global Const $GUI_DOCKTOP = 32
Global Const $GUI_DOCKBOTTOM = 64
Global Const $GUI_DOCKVCENTER = 128
Global Const $GUI_DOCKWIDTH = 256
Global Const $GUI_DOCKHEIGHT = 512
Global Const $GUI_DOCKSIZE = 768
Global Const $GUI_DOCKMENUBAR = 544
Global Const $GUI_DOCKSTATEBAR = 576
Global Const $GUI_DOCKALL = 802
Global Const $GUI_DOCKBORDERS = 102
Global Const $GUI_GR_CLOSE = 1
Global Const $GUI_GR_LINE = 2
Global Const $GUI_GR_BEZIER = 4
Global Const $GUI_GR_MOVE = 6
Global Const $GUI_GR_COLOR = 8
Global Const $GUI_GR_RECT = 10
Global Const $GUI_GR_ELLIPSE = 12
Global Const $GUI_GR_PIE = 14
Global Const $GUI_GR_DOT = 16
Global Const $GUI_GR_PIXEL = 18
Global Const $GUI_GR_HINT = 20
Global Const $GUI_GR_REFRESH = 22
Global Const $GUI_GR_PENSIZE = 24
Global Const $GUI_GR_NOBKCOLOR = -2
Global Const $GUI_BKCOLOR_DEFAULT = -1
Global Const $GUI_BKCOLOR_TRANSPARENT = -2
Global Const $GUI_BKCOLOR_LV_ALTERNATE = -33554432
Global Const $GUI_WS_EX_PARENTDRAG = 1048576
Global Const $SS_LEFT = 0
Global Const $SS_CENTER = 1
Global Const $SS_RIGHT = 2
Global Const $SS_ICON = 3
Global Const $SS_BLACKRECT = 4
Global Const $SS_GRAYRECT = 5
Global Const $SS_WHITERECT = 6
Global Const $SS_BLACKFRAME = 7
Global Const $SS_GRAYFRAME = 8
Global Const $SS_WHITEFRAME = 9
Global Const $SS_SIMPLE = 11
Global Const $SS_LEFTNOWORDWRAP = 12
Global Const $SS_BITMAP = 14
Global Const $SS_ETCHEDHORZ = 16
Global Const $SS_ETCHEDVERT = 17
Global Const $SS_ETCHEDFRAME = 18
Global Const $SS_NOPREFIX = 128
Global Const $SS_NOTIFY = 256
Global Const $SS_CENTERIMAGE = 512
Global Const $SS_RIGHTJUST = 1024
Global Const $SS_SUNKEN = 4096
Global Const $GUI_SS_DEFAULT_LABEL = 0
Global Const $GUI_SS_DEFAULT_GRAPHIC = 0
Global Const $GUI_SS_DEFAULT_ICON = $SS_NOTIFY
Global Const $GUI_SS_DEFAULT_PIC = $SS_NOTIFY
Global Const $WS_TILED = 0
Global Const $WS_OVERLAPPED = 0
Global Const $WS_MAXIMIZEBOX = 65536
Global Const $WS_MINIMIZEBOX = 131072
Global Const $WS_TABSTOP = 65536
Global Const $WS_GROUP = 131072
Global Const $WS_SIZEBOX = 262144
Global Const $WS_THICKFRAME = 262144
Global Const $WS_SYSMENU = 524288
Global Const $WS_HSCROLL = 1048576
Global Const $WS_VSCROLL = 2097152
Global Const $WS_DLGFRAME = 4194304
Global Const $WS_BORDER = 8388608
Global Const $WS_CAPTION = 12582912
Global Const $WS_OVERLAPPEDWINDOW = 13565952
Global Const $WS_TILEDWINDOW = 13565952
Global Const $WS_MAXIMIZE = 16777216
Global Const $WS_CLIPCHILDREN = 33554432
Global Const $WS_CLIPSIBLINGS = 67108864
Global Const $WS_DISABLED = 134217728
Global Const $WS_VISIBLE = 268435456
Global Const $WS_MINIMIZE = 536870912
Global Const $WS_CHILD = 1073741824
Global Const $WS_POPUP = -2147483648
Global Const $WS_POPUPWINDOW = -2138570752
Global Const $DS_MODALFRAME = 128
Global Const $DS_SETFOREGROUND = 512
Global Const $DS_CONTEXTHELP = 8192
Global Const $WS_EX_ACCEPTFILES = 16
Global Const $WS_EX_MDICHILD = 64
Global Const $WS_EX_APPWINDOW = 262144
Global Const $WS_EX_COMPOSITED = 33554432
Global Const $WS_EX_CLIENTEDGE = 512
Global Const $WS_EX_CONTEXTHELP = 1024
Global Const $WS_EX_DLGMODALFRAME = 1
Global Const $WS_EX_LEFTSCROLLBAR = 16384
Global Const $WS_EX_OVERLAPPEDWINDOW = 768
Global Const $WS_EX_RIGHT = 4096
Global Const $WS_EX_STATICEDGE = 131072
Global Const $WS_EX_TOOLWINDOW = 128
Global Const $WS_EX_TOPMOST = 8
Global Const $WS_EX_TRANSPARENT = 32
Global Const $WS_EX_WINDOWEDGE = 256
Global Const $WS_EX_LAYERED = 524288
Global Const $WS_EX_CONTROLPARENT = 65536
Global Const $WS_EX_LAYOUTRTL = 4194304
Global Const $WS_EX_RTLREADING = 8192
Global Const $WM_GETTEXTLENGTH = 14
Global Const $WM_GETTEXT = 13
Global Const $WM_SIZE = 5
Global Const $WM_SIZING = 532
Global Const $WM_USER = 1024
Global Const $WM_CREATE = 1
Global Const $WM_DESTROY = 2
Global Const $WM_MOVE = 3
Global Const $WM_ACTIVATE = 6
Global Const $WM_SETFOCUS = 7
Global Const $WM_KILLFOCUS = 8
Global Const $WM_ENABLE = 10
Global Const $WM_SETREDRAW = 11
Global Const $WM_SETTEXT = 12
Global Const $WM_PAINT = 15
Global Const $WM_CLOSE = 16
Global Const $WM_QUIT = 18
Global Const $WM_ERASEBKGND = 20
Global Const $WM_SYSCOLORCHANGE = 21
Global Const $WM_SHOWWINDOW = 24
Global Const $WM_WININICHANGE = 26
Global Const $WM_DEVMODECHANGE = 27
Global Const $WM_ACTIVATEAPP = 28
Global Const $WM_FONTCHANGE = 29
Global Const $WM_TIMECHANGE = 30
Global Const $WM_CANCELMODE = 31
Global Const $WM_SETCURSOR = 32
Global Const $WM_MOUSEACTIVATE = 33
Global Const $WM_CHILDACTIVATE = 34
Global Const $WM_QUEUESYNC = 35
Global Const $WM_GETMINMAXINFO = 36
Global Const $WM_PAINTICON = 38
Global Const $WM_ICONERASEBKGND = 39
Global Const $WM_NEXTDLGCTL = 40
Global Const $WM_SPOOLERSTATUS = 42
Global Const $WM_DRAWITEM = 43
Global Const $WM_MEASUREITEM = 44
Global Const $WM_DELETEITEM = 45
Global Const $WM_VKEYTOITEM = 46
Global Const $WM_CHARTOITEM = 47
Global Const $WM_SETFONT = 48
Global Const $WM_GETFONT = 49
Global Const $WM_SETHOTKEY = 50
Global Const $WM_GETHOTKEY = 51
Global Const $WM_QUERYDRAGICON = 55
Global Const $WM_COMPAREITEM = 57
Global Const $WM_GETOBJECT = 61
Global Const $WM_COMPACTING = 65
Global Const $WM_COMMNOTIFY = 68
Global Const $WM_WINDOWPOSCHANGING = 70
Global Const $WM_WINDOWPOSCHANGED = 71
Global Const $WM_POWER = 72
Global Const $WM_NOTIFY = 78
Global Const $WM_COPYDATA = 74
Global Const $WM_CANCELJOURNAL = 75
Global Const $WM_INPUTLANGCHANGEREQUEST = 80
Global Const $WM_INPUTLANGCHANGE = 81
Global Const $WM_TCARD = 82
Global Const $WM_HELP = 83
Global Const $WM_USERCHANGED = 84
Global Const $WM_NOTIFYFORMAT = 85
Global Const $WM_CUT = 768
Global Const $WM_COPY = 769
Global Const $WM_PASTE = 770
Global Const $WM_CLEAR = 771
Global Const $WM_UNDO = 772
Global Const $WM_CONTEXTMENU = 123
Global Const $WM_STYLECHANGING = 124
Global Const $WM_STYLECHANGED = 125
Global Const $WM_DISPLAYCHANGE = 126
Global Const $WM_GETICON = 127
Global Const $WM_SETICON = 128
Global Const $WM_NCCREATE = 129
Global Const $WM_NCDESTROY = 130
Global Const $WM_NCCALCSIZE = 131
Global Const $WM_NCHITTEST = 132
Global Const $WM_NCPAINT = 133
Global Const $WM_NCACTIVATE = 134
Global Const $WM_GETDLGCODE = 135
Global Const $WM_SYNCPAINT = 136
Global Const $WM_NCMOUSEMOVE = 160
Global Const $WM_NCLBUTTONDOWN = 161
Global Const $WM_NCLBUTTONUP = 162
Global Const $WM_NCLBUTTONDBLCLK = 163
Global Const $WM_NCRBUTTONDOWN = 164
Global Const $WM_NCRBUTTONUP = 165
Global Const $WM_NCRBUTTONDBLCLK = 166
Global Const $WM_NCMBUTTONDOWN = 167
Global Const $WM_NCMBUTTONUP = 168
Global Const $WM_NCMBUTTONDBLCLK = 169
Global Const $WM_KEYDOWN = 256
Global Const $WM_KEYUP = 257
Global Const $WM_CHAR = 258
Global Const $WM_DEADCHAR = 259
Global Const $WM_SYSKEYDOWN = 260
Global Const $WM_SYSKEYUP = 261
Global Const $WM_SYSCHAR = 262
Global Const $WM_SYSDEADCHAR = 263
Global Const $WM_INITDIALOG = 272
Global Const $WM_COMMAND = 273
Global Const $WM_SYSCOMMAND = 274
Global Const $WM_TIMER = 275
Global Const $WM_HSCROLL = 276
Global Const $WM_VSCROLL = 277
Global Const $WM_INITMENU = 278
Global Const $WM_INITMENUPOPUP = 279
Global Const $WM_MENUSELECT = 287
Global Const $WM_MENUCHAR = 288
Global Const $WM_ENTERIDLE = 289
Global Const $WM_MENURBUTTONUP = 290
Global Const $WM_MENUDRAG = 291
Global Const $WM_MENUGETOBJECT = 292
Global Const $WM_UNINITMENUPOPUP = 293
Global Const $WM_MENUCOMMAND = 294
Global Const $WM_CHANGEUISTATE = 295
Global Const $WM_UPDATEUISTATE = 296
Global Const $WM_QUERYUISTATE = 297
Global Const $WM_CTLCOLORMSGBOX = 306
Global Const $WM_CTLCOLOREDIT = 307
Global Const $WM_CTLCOLORLISTBOX = 308
Global Const $WM_CTLCOLORBTN = 309
Global Const $WM_CTLCOLORDLG = 310
Global Const $WM_CTLCOLORSCROLLBAR = 311
Global Const $WM_CTLCOLORSTATIC = 312
Global Const $WM_CTLCOLOR = 25
Global Const $MN_GETHMENU = 481
Global Const $NM_FIRST = 0
Global Const $NM_OUTOFMEMORY = $NM_FIRST - 1
Global Const $NM_CLICK = $NM_FIRST - 2
Global Const $NM_DBLCLK = $NM_FIRST - 3
Global Const $NM_RETURN = $NM_FIRST - 4
Global Const $NM_RCLICK = $NM_FIRST - 5
Global Const $NM_RDBLCLK = $NM_FIRST - 6
Global Const $NM_SETFOCUS = $NM_FIRST - 7
Global Const $NM_KILLFOCUS = $NM_FIRST - 8
Global Const $NM_CUSTOMDRAW = $NM_FIRST - 12
Global Const $NM_HOVER = $NM_FIRST - 13
Global Const $NM_NCHITTEST = $NM_FIRST - 14
Global Const $NM_KEYDOWN = $NM_FIRST - 15
Global Const $NM_RELEASEDCAPTURE = $NM_FIRST - 16
Global Const $NM_SETCURSOR = $NM_FIRST - 17
Global Const $NM_CHAR = $NM_FIRST - 18
Global Const $NM_TOOLTIPSCREATED = $NM_FIRST - 19
Global Const $NM_LDOWN = $NM_FIRST - 20
Global Const $NM_RDOWN = $NM_FIRST - 21
Global Const $NM_THEMECHANGED = $NM_FIRST - 22
Global Const $WM_MOUSEMOVE = 512
Global Const $WM_LBUTTONDOWN = 513
Global Const $WM_LBUTTONUP = 514
Global Const $WM_LBUTTONDBLCLK = 515
Global Const $WM_RBUTTONDOWN = 516
Global Const $WM_RBUTTONUP = 517
Global Const $WM_RBUTTONDBLCK = 518
Global Const $WM_MBUTTONDOWN = 519
Global Const $WM_MBUTTONUP = 520
Global Const $WM_MBUTTONDBLCK = 521
Global Const $WM_MOUSEWHEEL = 522
Global Const $WM_XBUTTONDOWN = 523
Global Const $WM_XBUTTONUP = 524
Global Const $WM_XBUTTONDBLCLK = 525
Global Const $WM_MOUSEHWHEEL = 526
Global Const $PS_SOLID = 0
Global Const $PS_DASH = 1
Global Const $PS_DOT = 2
Global Const $PS_DASHDOT = 3
Global Const $PS_DASHDOTDOT = 4
Global Const $PS_NULL = 5
Global Const $PS_INSIDEFRAME = 6
Global Const $LWA_ALPHA = 2
Global Const $LWA_COLORKEY = 1
Global Const $RGN_AND = 1
Global Const $RGN_OR = 2
Global Const $RGN_XOR = 3
Global Const $RGN_DIFF = 4
Global Const $RGN_COPY = 5
Global Const $ERRORREGION = 0
Global Const $NULLREGION = 1
Global Const $SIMPLEREGION = 2
Global Const $COMPLEXREGION = 3
Global Const $TRANSPARENT = 1
Global Const $OPAQUE = 2
Global Const $CCM_FIRST = 8192
Global Const $CCM_GETUNICODEFORMAT = ($CCM_FIRST + 6)
Global Const $CCM_SETUNICODEFORMAT = ($CCM_FIRST + 5)
Global Const $CCM_SETBKCOLOR = $CCM_FIRST + 1
Global Const $CCM_SETCOLORSCHEME = $CCM_FIRST + 2
Global Const $CCM_GETCOLORSCHEME = $CCM_FIRST + 3
Global Const $CCM_GETDROPTARGET = $CCM_FIRST + 4
Global Const $CCM_SETWINDOWTHEME = $CCM_FIRST + 11
Global Const $GA_PARENT = 1
Global Const $GA_ROOT = 2
Global Const $GA_ROOTOWNER = 3
Global Const $SM_CXSCREEN = 0
Global Const $SM_CYSCREEN = 1
Global Const $SM_CXVSCROLL = 2
Global Const $SM_CYHSCROLL = 3
Global Const $SM_CYCAPTION = 4
Global Const $SM_CXBORDER = 5
Global Const $SM_CYBORDER = 6
Global Const $SM_CXDLGFRAME = 7
Global Const $SM_CYDLGFRAME = 8
Global Const $SM_CYVTHUMB = 9
Global Const $SM_CXHTHUMB = 10
Global Const $SM_CXICON = 11
Global Const $SM_CYICON = 12
Global Const $SM_CXCURSOR = 13
Global Const $SM_CYCURSOR = 14
Global Const $SM_CYMENU = 15
Global Const $SM_CXFULLSCREEN = 16
Global Const $SM_CYFULLSCREEN = 17
Global Const $SM_CYKANJIWINDOW = 18
Global Const $SM_MOUSEPRESENT = 19
Global Const $SM_CYVSCROLL = 20
Global Const $SM_CXHSCROLL = 21
Global Const $SM_DEBUG = 22
Global Const $SM_SWAPBUTTON = 23
Global Const $SM_RESERVED1 = 24
Global Const $SM_RESERVED2 = 25
Global Const $SM_RESERVED3 = 26
Global Const $SM_RESERVED4 = 27
Global Const $SM_CXMIN = 28
Global Const $SM_CYMIN = 29
Global Const $SM_CXSIZE = 30
Global Const $SM_CYSIZE = 31
Global Const $SM_CXFRAME = 32
Global Const $SM_CYFRAME = 33
Global Const $SM_CXMINTRACK = 34
Global Const $SM_CYMINTRACK = 35
Global Const $SM_CXDOUBLECLK = 36
Global Const $SM_CYDOUBLECLK = 37
Global Const $SM_CXICONSPACING = 38
Global Const $SM_CYICONSPACING = 39
Global Const $SM_MENUDROPALIGNMENT = 40
Global Const $SM_PENWINDOWS = 41
Global Const $SM_DBCSENABLED = 42
Global Const $SM_CMOUSEBUTTONS = 43
Global Const $SM_SECURE = 44
Global Const $SM_CXEDGE = 45
Global Const $SM_CYEDGE = 46
Global Const $SM_CXMINSPACING = 47
Global Const $SM_CYMINSPACING = 48
Global Const $SM_CXSMICON = 49
Global Const $SM_CYSMICON = 50
Global Const $SM_CYSMCAPTION = 51
Global Const $SM_CXSMSIZE = 52
Global Const $SM_CYSMSIZE = 53
Global Const $SM_CXMENUSIZE = 54
Global Const $SM_CYMENUSIZE = 55
Global Const $SM_ARRANGE = 56
Global Const $SM_CXMINIMIZED = 57
Global Const $SM_CYMINIMIZED = 58
Global Const $SM_CXMAXTRACK = 59
Global Const $SM_CYMAXTRACK = 60
Global Const $SM_CXMAXIMIZED = 61
Global Const $SM_CYMAXIMIZED = 62
Global Const $SM_NETWORK = 63
Global Const $SM_CLEANBOOT = 67
Global Const $SM_CXDRAG = 68
Global Const $SM_CYDRAG = 69
Global Const $SM_SHOWSOUNDS = 70
Global Const $SM_CXMENUCHECK = 71
Global Const $SM_CYMENUCHECK = 72
Global Const $SM_SLOWMACHINE = 73
Global Const $SM_MIDEASTENABLED = 74
Global Const $SM_MOUSEWHEELPRESENT = 75
Global Const $SM_XVIRTUALSCREEN = 76
Global Const $SM_YVIRTUALSCREEN = 77
Global Const $SM_CXVIRTUALSCREEN = 78
Global Const $SM_CYVIRTUALSCREEN = 79
Global Const $SM_CMONITORS = 80
Global Const $SM_SAMEDISPLAYFORMAT = 81
Global Const $SM_IMMENABLED = 82
Global Const $SM_CXFOCUSBORDER = 83
Global Const $SM_CYFOCUSBORDER = 84
Global Const $SM_TABLETPC = 86
Global Const $SM_MEDIACENTER = 87
Global Const $SM_STARTER = 88
Global Const $SM_SERVERR2 = 89
Global Const $SM_CMETRICS = 90
Global Const $SM_REMOTESESSION = 4096
Global Const $SM_SHUTTINGDOWN = 8192
Global Const $SM_REMOTECONTROL = 8193
Global Const $SM_CARETBLINKINGENABLED = 8194
Global Const $BLACKNESS = 66
Global Const $CAPTUREBLT = 1073741824
Global Const $DSTINVERT = 5570569
Global Const $MERGECOPY = 12583114
Global Const $MERGEPAINT = 12255782
Global Const $NOMIRRORBITMAP = -2147483648
Global Const $NOTSRCCOPY = 3342344
Global Const $NOTSRCERASE = 1114278
Global Const $PATCOPY = 15728673
Global Const $PATINVERT = 5898313
Global Const $PATPAINT = 16452105
Global Const $SRCAND = 8913094
Global Const $SRCCOPY = 13369376
Global Const $SRCERASE = 4457256
Global Const $SRCINVERT = 6684742
Global Const $SRCPAINT = 15597702
Global Const $WHITENESS = 16711778
Global Const $DT_BOTTOM = 8
Global Const $DT_CALCRECT = 1024
Global Const $DT_CENTER = 1
Global Const $DT_EDITCONTROL = 8192
Global Const $DT_END_ELLIPSIS = 32768
Global Const $DT_EXPANDTABS = 64
Global Const $DT_EXTERNALLEADING = 512
Global Const $DT_HIDEPREFIX = 1048576
Global Const $DT_INTERNAL = 4096
Global Const $DT_LEFT = 0
Global Const $DT_MODIFYSTRING = 65536
Global Const $DT_NOCLIP = 256
Global Const $DT_NOFULLWIDTHCHARBREAK = 524288
Global Const $DT_NOPREFIX = 2048
Global Const $DT_PATH_ELLIPSIS = 16384
Global Const $DT_PREFIXONLY = 2097152
Global Const $DT_RIGHT = 2
Global Const $DT_RTLREADING = 131072
Global Const $DT_SINGLELINE = 32
Global Const $DT_TABSTOP = 128
Global Const $DT_TOP = 0
Global Const $DT_VCENTER = 4
Global Const $DT_WORDBREAK = 16
Global Const $DT_WORD_ELLIPSIS = 262144
Global Const $RDW_ERASE = 4
Global Const $RDW_FRAME = 1024
Global Const $RDW_INTERNALPAINT = 2
Global Const $RDW_INVALIDATE = 1
Global Const $RDW_NOERASE = 32
Global Const $RDW_NOFRAME = 2048
Global Const $RDW_NOINTERNALPAINT = 16
Global Const $RDW_VALIDATE = 8
Global Const $RDW_ERASENOW = 512
Global Const $RDW_UPDATENOW = 256
Global Const $RDW_ALLCHILDREN = 128
Global Const $RDW_NOCHILDREN = 64
Global Const $WM_RENDERFORMAT = 773
Global Const $WM_RENDERALLFORMATS = 774
Global Const $WM_DESTROYCLIPBOARD = 775
Global Const $WM_DRAWCLIPBOARD = 776
Global Const $WM_PAINTCLIPBOARD = 777
Global Const $WM_VSCROLLCLIPBOARD = 778
Global Const $WM_SIZECLIPBOARD = 779
Global Const $WM_ASKCBFORMATNAME = 780
Global Const $WM_CHANGECBCHAIN = 781
Global Const $WM_HSCROLLCLIPBOARD = 782
Global Const $HTERROR = -2
Global Const $HTTRANSPARENT = -1
Global Const $HTNOWHERE = 0
Global Const $HTCLIENT = 1
Global Const $HTCAPTION = 2
Global Const $HTSYSMENU = 3
Global Const $HTGROWBOX = 4
Global Const $HTSIZE = $HTGROWBOX
Global Const $HTMENU = 5
Global Const $HTHSCROLL = 6
Global Const $HTVSCROLL = 7
Global Const $HTMINBUTTON = 8
Global Const $HTMAXBUTTON = 9
Global Const $HTLEFT = 10
Global Const $HTRIGHT = 11
Global Const $HTTOP = 12
Global Const $HTTOPLEFT = 13
Global Const $HTTOPRIGHT = 14
Global Const $HTBOTTOM = 15
Global Const $HTBOTTOMLEFT = 16
Global Const $HTBOTTOMRIGHT = 17
Global Const $HTBORDER = 18
Global Const $HTREDUCE = $HTMINBUTTON
Global Const $HTZOOM = $HTMAXBUTTON
Global Const $HTSIZEFIRST = $HTLEFT
Global Const $HTSIZELAST = $HTBOTTOMRIGHT
Global Const $HTOBJECT = 19
Global Const $HTCLOSE = 20
Global Const $HTHELP = 21
Global Const $COLOR_SCROLLBAR = 0
Global Const $COLOR_BACKGROUND = 1
Global Const $COLOR_ACTIVECAPTION = 2
Global Const $COLOR_INACTIVECAPTION = 3
Global Const $COLOR_MENU = 4
Global Const $COLOR_WINDOW = 5
Global Const $COLOR_WINDOWFRAME = 6
Global Const $COLOR_MENUTEXT = 7
Global Const $COLOR_WINDOWTEXT = 8
Global Const $COLOR_CAPTIONTEXT = 9
Global Const $COLOR_ACTIVEBORDER = 10
Global Const $COLOR_INACTIVEBORDER = 11
Global Const $COLOR_APPWORKSPACE = 12
Global Const $COLOR_HIGHLIGHT = 13
Global Const $COLOR_HIGHLIGHTTEXT = 14
Global Const $COLOR_BTNFACE = 15
Global Const $COLOR_BTNSHADOW = 16
Global Const $COLOR_GRAYTEXT = 17
Global Const $COLOR_BTNTEXT = 18
Global Const $COLOR_INACTIVECAPTIONTEXT = 19
Global Const $COLOR_BTNHIGHLIGHT = 20
Global Const $COLOR_3DDKSHADOW = 21
Global Const $COLOR_3DLIGHT = 22
Global Const $COLOR_INFOTEXT = 23
Global Const $COLOR_INFOBK = 24
Global Const $COLOR_HOTLIGHT = 26
Global Const $COLOR_GRADIENTACTIVECAPTION = 27
Global Const $COLOR_GRADIENTINACTIVECAPTION = 28
Global Const $COLOR_MENUHILIGHT = 29
Global Const $COLOR_MENUBAR = 30
Global Const $COLOR_DESKTOP = 1
Global Const $COLOR_3DFACE = 15
Global Const $COLOR_3DSHADOW = 16
Global Const $COLOR_3DHIGHLIGHT = 20
Global Const $COLOR_3DHILIGHT = 20
Global Const $COLOR_BTNHILIGHT = 20
Global Const $HINST_COMMCTRL = -1
Global Const $IDB_STD_SMALL_COLOR = 0
Global Const $IDB_STD_LARGE_COLOR = 1
Global Const $IDB_VIEW_SMALL_COLOR = 4
Global Const $IDB_VIEW_LARGE_COLOR = 5
Global Const $IDB_HIST_SMALL_COLOR = 8
Global Const $IDB_HIST_LARGE_COLOR = 9
Global Const $STARTF_FORCEOFFFEEDBACK = 128
Global Const $STARTF_FORCEONFEEDBACK = 64
Global Const $STARTF_RUNFULLSCREEN = 32
Global Const $STARTF_USECOUNTCHARS = 8
Global Const $STARTF_USEFILLATTRIBUTE = 16
Global Const $STARTF_USEHOTKEY = 512
Global Const $STARTF_USEPOSITION = 4
Global Const $STARTF_USESHOWWINDOW = 1
Global Const $STARTF_USESIZE = 2
Global Const $STARTF_USESTDHANDLES = 256
Global Const $CDDS_PREPAINT = 1
Global Const $CDDS_POSTPAINT = 2
Global Const $CDDS_PREERASE = 3
Global Const $CDDS_POSTERASE = 4
Global Const $CDDS_ITEM = 65536
Global Const $CDDS_ITEMPREPAINT = 65537
Global Const $CDDS_ITEMPOSTPAINT = 65538
Global Const $CDDS_ITEMPREERASE = 65539
Global Const $CDDS_ITEMPOSTERASE = 65540
Global Const $CDDS_SUBITEM = 131072
Global Const $CDIS_SELECTED = 1
Global Const $CDIS_GRAYED = 2
Global Const $CDIS_DISABLED = 4
Global Const $CDIS_CHECKED = 8
Global Const $CDIS_FOCUS = 16
Global Const $CDIS_DEFAULT = 32
Global Const $CDIS_HOT = 64
Global Const $CDIS_MARKED = 128
Global Const $CDIS_INDETERMINATE = 256
Global Const $CDIS_SHOWKEYBOARDCUES = 512
Global Const $CDIS_NEARHOT = 1024
Global Const $CDIS_OTHERSIDEHOT = 2048
Global Const $CDIS_DROPHILITED = 4096
Global Const $CDRF_DODEFAULT = 0
Global Const $CDRF_NEWFONT = 2
Global Const $CDRF_SKIPDEFAULT = 4
Global Const $CDRF_NOTIFYPOSTPAINT = 16
Global Const $CDRF_NOTIFYITEMDRAW = 32
Global Const $CDRF_NOTIFYSUBITEMDRAW = 32
Global Const $CDRF_NOTIFYPOSTERASE = 64
Global Const $CDRF_DOERASE = 8
Global Const $CDRF_SKIPPOSTPAINT = 256
Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
Global Const $BS_GROUPBOX = 7
Global Const $BS_BOTTOM = 2048
Global Const $BS_CENTER = 768
Global Const $BS_DEFPUSHBUTTON = 1
Global Const $BS_LEFT = 256
Global Const $BS_MULTILINE = 8192
Global Const $BS_PUSHBOX = 10
Global Const $BS_PUSHLIKE = 4096
Global Const $BS_RIGHT = 512
Global Const $BS_RIGHTBUTTON = 32
Global Const $BS_TOP = 1024
Global Const $BS_VCENTER = 3072
Global Const $BS_FLAT = 32768
Global Const $BS_ICON = 64
Global Const $BS_BITMAP = 128
Global Const $BS_NOTIFY = 16384
Global Const $BS_SPLITBUTTON = 12
Global Const $BS_DEFSPLITBUTTON = 13
Global Const $BS_COMMANDLINK = 14
Global Const $BS_DEFCOMMANDLINK = 15
Global Const $BCSIF_GLYPH = 1
Global Const $BCSIF_IMAGE = 2
Global Const $BCSIF_STYLE = 4
Global Const $BCSIF_SIZE = 8
Global Const $BCSS_NOSPLIT = 1
Global Const $BCSS_STRETCH = 2
Global Const $BCSS_ALIGNLEFT = 4
Global Const $BCSS_IMAGE = 8
Global Const $BUTTON_IMAGELIST_ALIGN_LEFT = 0
Global Const $BUTTON_IMAGELIST_ALIGN_RIGHT = 1
Global Const $BUTTON_IMAGELIST_ALIGN_TOP = 2
Global Const $BUTTON_IMAGELIST_ALIGN_BOTTOM = 3
Global Const $BUTTON_IMAGELIST_ALIGN_CENTER = 4
Global Const $BS_3STATE = 5
Global Const $BS_AUTO3STATE = 6
Global Const $BS_AUTOCHECKBOX = 3
Global Const $BS_CHECKBOX = 2
Global Const $BS_RADIOBUTTON = 4
Global Const $BS_AUTORADIOBUTTON = 9
Global Const $BS_OWNERDRAW = 11
Global Const $GUI_SS_DEFAULT_BUTTON = 0
Global Const $GUI_SS_DEFAULT_CHECKBOX = 0
Global Const $GUI_SS_DEFAULT_GROUP = 0
Global Const $GUI_SS_DEFAULT_RADIO = 0
Global Const $BCM_FIRST = 5632
Global Const $BCM_GETIDEALSIZE = ($BCM_FIRST + 1)
Global Const $BCM_GETIMAGELIST = ($BCM_FIRST + 3)
Global Const $BCM_GETNOTE = ($BCM_FIRST + 10)
Global Const $BCM_GETNOTELENGTH = ($BCM_FIRST + 11)
Global Const $BCM_GETSPLITINFO = ($BCM_FIRST + 8)
Global Const $BCM_GETTEXTMARGIN = ($BCM_FIRST + 5)
Global Const $BCM_SETDROPDOWNSTATE = ($BCM_FIRST + 6)
Global Const $BCM_SETIMAGELIST = ($BCM_FIRST + 2)
Global Const $BCM_SETNOTE = ($BCM_FIRST + 9)
Global Const $BCM_SETSHIELD = ($BCM_FIRST + 12)
Global Const $BCM_SETSPLITINFO = ($BCM_FIRST + 7)
Global Const $BCM_SETTEXTMARGIN = ($BCM_FIRST + 4)
Global Const $BM_CLICK = 245
Global Const $BM_GETCHECK = 240
Global Const $BM_GETIMAGE = 246
Global Const $BM_GETSTATE = 242
Global Const $BM_SETCHECK = 241
Global Const $BM_SETDONTCLICK = 248
Global Const $BM_SETIMAGE = 247
Global Const $BM_SETSTATE = 243
Global Const $BM_SETSTYLE = 244
Global Const $BCN_FIRST = -1250
Global Const $BCN_DROPDOWN = ($BCN_FIRST + 2)
Global Const $BCN_HOTITEMCHANGE = ($BCN_FIRST + 1)
Global Const $BN_CLICKED = 0
Global Const $BN_PAINT = 1
Global Const $BN_HILITE = 2
Global Const $BN_UNHILITE = 3
Global Const $BN_DISABLE = 4
Global Const $BN_DOUBLECLICKED = 5
Global Const $BN_SETFOCUS = 6
Global Const $BN_KILLFOCUS = 7
Global Const $BN_PUSHED = $BN_HILITE
Global Const $BN_UNPUSHED = $BN_UNHILITE
Global Const $BN_DBLCLK = $BN_DOUBLECLICKED
Global Const $BST_CHECKED = 1
Global Const $BST_INDETERMINATE = 2
Global Const $BST_UNCHECKED = 0
Global Const $BST_FOCUS = 8
Global Const $BST_PUSHED = 4
Global Const $BST_DONTCLICK = 128
Global Const $FC_NOOVERWRITE = 0
Global Const $FC_OVERWRITE = 1
Global Const $FT_MODIFIED = 0
Global Const $FT_CREATED = 1
Global Const $FT_ACCESSED = 2
Global Const $FO_READ = 0
Global Const $FO_APPEND = 1
Global Const $FO_OVERWRITE = 2
Global Const $FO_BINARY = 16
Global Const $FO_UNICODE = 32
Global Const $FO_UTF16_LE = 32
Global Const $FO_UTF16_BE = 64
Global Const $FO_UTF8 = 128
Global Const $FO_UTF8_NOBOM = 256
Global Const $EOF = -1
Global Const $FD_FILEMUSTEXIST = 1
Global Const $FD_PATHMUSTEXIST = 2
Global Const $FD_MULTISELECT = 4
Global Const $FD_PROMPTCREATENEW = 8
Global Const $FD_PROMPTOVERWRITE = 16
Global Const $CREATE_NEW = 1
Global Const $CREATE_ALWAYS = 2
Global Const $OPEN_EXISTING = 3
Global Const $OPEN_ALWAYS = 4
Global Const $TRUNCATE_EXISTING = 5
Global Const $INVALID_SET_FILE_POINTER = -1
Global Const $FILE_BEGIN = 0
Global Const $FILE_CURRENT = 1
Global Const $FILE_END = 2
Global Const $FILE_ATTRIBUTE_READONLY = 1
Global Const $FILE_ATTRIBUTE_HIDDEN = 2
Global Const $FILE_ATTRIBUTE_SYSTEM = 4
Global Const $FILE_ATTRIBUTE_DIRECTORY = 16
Global Const $FILE_ATTRIBUTE_ARCHIVE = 32
Global Const $FILE_ATTRIBUTE_DEVICE = 64
Global Const $FILE_ATTRIBUTE_NORMAL = 128
Global Const $FILE_ATTRIBUTE_TEMPORARY = 256
Global Const $FILE_ATTRIBUTE_SPARSE_FILE = 512
Global Const $FILE_ATTRIBUTE_REPARSE_POINT = 1024
Global Const $FILE_ATTRIBUTE_COMPRESSED = 2048
Global Const $FILE_ATTRIBUTE_OFFLINE = 4096
Global Const $FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 8192
Global Const $FILE_ATTRIBUTE_ENCRYPTED = 16384
Global Const $FILE_SHARE_READ = 1
Global Const $FILE_SHARE_WRITE = 2
Global Const $FILE_SHARE_DELETE = 4
Global Const $GENERIC_ALL = 268435456
Global Const $GENERIC_EXECUTE = 536870912
Global Const $GENERIC_WRITE = 1073741824
Global Const $GENERIC_READ = -2147483648
Func _FILECOUNTLINES($SFILEPATH)
Local $HFILE = FileOpen($SFILEPATH, $FO_READ)
If $HFILE = -1 Then Return SetError(1, 0, 0)
Local $SFILECONTENT = StringStripWS(FileRead($HFILE), 2)
FileClose($HFILE)
Local $ATMP
If StringInStr($SFILECONTENT, @LF) Then
$ATMP = StringSplit(StringStripCR($SFILECONTENT), @LF)
ElseIf StringInStr($SFILECONTENT, @CR) Then
$ATMP = StringSplit($SFILECONTENT, @CR)
Else
If StringLen($SFILECONTENT) Then
Return 1
Else
Return SetError(2, 0, 0)
EndIf
EndIf
Return $ATMP[0]
EndFunc
Func _FILECREATE($SFILEPATH)
Local $HOPENFILE = FileOpen($SFILEPATH, $FO_OVERWRITE)
If $HOPENFILE = -1 Then Return SetError(1, 0, 0)
Local $HWRITEFILE = FileWrite($HOPENFILE, "")
FileClose($HOPENFILE)
If $HWRITEFILE = -1 Then Return SetError(2, 0, 0)
Return 1
EndFunc
Func _FILELISTTOARRAY($SPATH, $SFILTER = "*", $IFLAG = 0)
Local $HSEARCH, $SFILE, $SFILELIST, $SDELIM = "|"
$SPATH = StringRegExpReplace($SPATH, "[\\/]+\z", "") & "\"
If Not FileExists($SPATH) Then Return SetError(1, 1, "")
If StringRegExp($SFILTER, "[\\/:><\|]|(?s)\A\s*\z") Then Return SetError(2, 2, "")
If Not ($IFLAG = 0 Or $IFLAG = 1 Or $IFLAG = 2) Then Return SetError(3, 3, "")
$HSEARCH = FileFindFirstFile($SPATH & $SFILTER)
If @error Then Return SetError(4, 4, "")
While 1
$SFILE = FileFindNextFile($HSEARCH)
If @error Then ExitLoop
If ($IFLAG + @extended = 2) Then ContinueLoop
$SFILELIST &= $SDELIM & $SFILE
WEnd
FileClose($HSEARCH)
If Not $SFILELIST Then Return SetError(4, 4, "")
Return StringSplit(StringTrimLeft($SFILELIST, 1), "|")
EndFunc
Func _FILEPRINT($S_FILE, $I_SHOW = @SW_HIDE)
Local $A_RET = DllCall("shell32.dll", "int", "ShellExecuteW", "hwnd", 0, "wstr", "print", "wstr", $S_FILE, "wstr", "", "wstr", "", "int", $I_SHOW)
If @error Then Return SetError(@error, @extended, 0)
If $A_RET[0] <= 32 Then Return SetError(10, $A_RET[0], 0)
Return 1
EndFunc
Func _FILEREADTOARRAY($SFILEPATH, ByRef $AARRAY)
Local $HFILE = FileOpen($SFILEPATH, $FO_READ)
If $HFILE = -1 Then Return SetError(1, 0, 0)
Local $AFILE = FileRead($HFILE, FileGetSize($SFILEPATH))
If StringRight($AFILE, 1) = @LF Then $AFILE = StringTrimRight($AFILE, 1)
If StringRight($AFILE, 1) = @CR Then $AFILE = StringTrimRight($AFILE, 1)
FileClose($HFILE)
If StringInStr($AFILE, @LF) Then
$AARRAY = StringSplit(StringStripCR($AFILE), @LF)
ElseIf StringInStr($AFILE, @CR) Then
$AARRAY = StringSplit($AFILE, @CR)
Else
If StringLen($AFILE) Then
Dim $AARRAY[2] = [1, $AFILE]
Else
Return SetError(2, 0, 0)
EndIf
EndIf
Return 1
EndFunc
Func _FILEWRITEFROMARRAY($FILE, $A_ARRAY, $I_BASE = 0, $I_UBOUND = 0)
If Not IsArray($A_ARRAY) Then Return SetError(2, 0, 0)
Local $LAST = UBound($A_ARRAY) - 1
If $I_UBOUND < 1 Or $I_UBOUND > $LAST Then $I_UBOUND = $LAST
If $I_BASE < 0 Or $I_BASE > $LAST Then $I_BASE = 0
Local $HFILE
If IsString($FILE) Then
$HFILE = FileOpen($FILE, $FO_OVERWRITE)
Else
$HFILE = $FILE
EndIf
If $HFILE = -1 Then Return SetError(1, 0, 0)
Local $ERRORSAV = 0
For $X = $I_BASE To $I_UBOUND
If FileWrite($HFILE, $A_ARRAY[$X] & @CRLF) = 0 Then
$ERRORSAV = 3
ExitLoop
EndIf
Next
If IsString($FILE) Then FileClose($HFILE)
If $ERRORSAV Then Return SetError($ERRORSAV, 0, 0)
Return 1
EndFunc
Func _FILEWRITELOG($SLOGPATH, $SLOGMSG, $IFLAG = -1)
Local $IOPENMODE = $FO_APPEND
Local $SDATENOW = @YEAR & "-" & @MON & "-" & @MDAY
Local $STIMENOW = @HOUR & ":" & @MIN & ":" & @SEC
Local $SMSG = $SDATENOW & " " & $STIMENOW & " : " & $SLOGMSG
If $IFLAG <> -1 Then
$SMSG &= @CRLF & FileRead($SLOGPATH)
$IOPENMODE = $FO_OVERWRITE
EndIf
Local $HOPENFILE = FileOpen($SLOGPATH, $IOPENMODE)
If $HOPENFILE = -1 Then Return SetError(1, 0, 0)
Local $IWRITEFILE = FileWriteLine($HOPENFILE, $SMSG)
Local $IRET = FileClose($HOPENFILE)
If $IWRITEFILE = -1 Then Return SetError(2, $IRET, 0)
Return $IRET
EndFunc
Func _FILEWRITETOLINE($SFILE, $ILINE, $STEXT, $FOVERWRITE = 0)
If $ILINE <= 0 Then Return SetError(4, 0, 0)
If Not IsString($STEXT) Then
$STEXT = String($STEXT)
If $STEXT = "" Then Return SetError(6, 0, 0)
EndIf
If $FOVERWRITE <> 0 And $FOVERWRITE <> 1 Then Return SetError(5, 0, 0)
If Not FileExists($SFILE) Then Return SetError(2, 0, 0)
Local $SREAD_FILE = FileRead($SFILE)
Local $ASPLIT_FILE = StringSplit(StringStripCR($SREAD_FILE), @LF)
If UBound($ASPLIT_FILE) < $ILINE Then Return SetError(1, 0, 0)
Local $HFILE = FileOpen($SFILE, $FO_OVERWRITE)
If $HFILE = -1 Then Return SetError(3, 0, 0)
$SREAD_FILE = ""
For $I = 1 To $ASPLIT_FILE[0]
If $I = $ILINE Then
If $FOVERWRITE = 1 Then
If $STEXT <> "" Then $SREAD_FILE &= $STEXT & @CRLF
Else
$SREAD_FILE &= $STEXT & @CRLF & $ASPLIT_FILE[$I] & @CRLF
EndIf
ElseIf $I < $ASPLIT_FILE[0] Then
$SREAD_FILE &= $ASPLIT_FILE[$I] & @CRLF
ElseIf $I = $ASPLIT_FILE[0] Then
$SREAD_FILE &= $ASPLIT_FILE[$I]
EndIf
Next
FileWrite($HFILE, $SREAD_FILE)
FileClose($HFILE)
Return 1
EndFunc
Func _PATHFULL($SRELATIVEPATH, $SBASEPATH = @WorkingDir)
If Not $SRELATIVEPATH Or $SRELATIVEPATH = "." Then Return $SBASEPATH
Local $SFULLPATH = StringReplace($SRELATIVEPATH, "/", "\")
Local Const $SFULLPATHCONST = $SFULLPATH
Local $SPATH
Local $BROOTONLY = StringLeft($SFULLPATH, 1) = "\" And StringMid($SFULLPATH, 2, 1) <> "\"
For $I = 1 To 2
$SPATH = StringLeft($SFULLPATH, 2)
If $SPATH = "\\" Then
$SFULLPATH = StringTrimLeft($SFULLPATH, 2)
Local $NSERVERLEN = StringInStr($SFULLPATH, "\") - 1
$SPATH = "\\" & StringLeft($SFULLPATH, $NSERVERLEN)
$SFULLPATH = StringTrimLeft($SFULLPATH, $NSERVERLEN)
ExitLoop
ElseIf StringRight($SPATH, 1) = ":" Then
$SFULLPATH = StringTrimLeft($SFULLPATH, 2)
ExitLoop
Else
$SFULLPATH = $SBASEPATH & "\" & $SFULLPATH
EndIf
Next
If $I = 3 Then Return ""
If StringLeft($SFULLPATH, 1) <> "\" Then
If StringLeft($SFULLPATHCONST, 2) = StringLeft($SBASEPATH, 2) Then
$SFULLPATH = $SBASEPATH & "\" & $SFULLPATH
Else
$SFULLPATH = "\" & $SFULLPATH
EndIf
EndIf
Local $ATEMP = StringSplit($SFULLPATH, "\")
Local $APATHPARTS[$ATEMP[0]], $J = 0
For $I = 2 To $ATEMP[0]
If $ATEMP[$I] = ".." Then
If $J Then $J -= 1
ElseIf Not ($ATEMP[$I] = "" And $I <> $ATEMP[0]) And $ATEMP[$I] <> "." Then
$APATHPARTS[$J] = $ATEMP[$I]
$J += 1
EndIf
Next
$SFULLPATH = $SPATH
If Not $BROOTONLY Then
For $I = 0 To $J - 1
$SFULLPATH &= "\" & $APATHPARTS[$I]
Next
Else
$SFULLPATH &= $SFULLPATHCONST
If StringInStr($SFULLPATH, "..") Then $SFULLPATH = _PATHFULL($SFULLPATH)
EndIf
While StringInStr($SFULLPATH, ".\")
$SFULLPATH = StringReplace($SFULLPATH, ".\", "\")
WEnd
Return $SFULLPATH
EndFunc
Func _PATHGETRELATIVE($SFROM, $STO)
If StringRight($SFROM, 1) <> "\" Then $SFROM &= "\"
If StringRight($STO, 1) <> "\" Then $STO &= "\"
If $SFROM = $STO Then Return SetError(1, 0, StringTrimRight($STO, 1))
Local $ASFROM = StringSplit($SFROM, "\")
Local $ASTO = StringSplit($STO, "\")
If $ASFROM[1] <> $ASTO[1] Then Return SetError(2, 0, StringTrimRight($STO, 1))
Local $I = 2
Local $IDIFF = 1
While 1
If $ASFROM[$I] <> $ASTO[$I] Then
$IDIFF = $I
ExitLoop
EndIf
$I += 1
WEnd
$I = 1
Local $SRELPATH = ""
For $J = 1 To $ASTO[0]
If $I >= $IDIFF Then
$SRELPATH &= "\" & $ASTO[$I]
EndIf
$I += 1
Next
$SRELPATH = StringTrimLeft($SRELPATH, 1)
$I = 1
For $J = 1 To $ASFROM[0]
If $I > $IDIFF Then
$SRELPATH = "..\" & $SRELPATH
EndIf
$I += 1
Next
If StringRight($SRELPATH, 1) == "\" Then $SRELPATH = StringTrimRight($SRELPATH, 1)
Return $SRELPATH
EndFunc
Func _PATHMAKE($SZDRIVE, $SZDIR, $SZFNAME, $SZEXT)
If StringLen($SZDRIVE) Then
If Not (StringLeft($SZDRIVE, 2) = "\\") Then $SZDRIVE = StringLeft($SZDRIVE, 1) & ":"
EndIf
If StringLen($SZDIR) Then
If Not (StringRight($SZDIR, 1) = "\") And Not (StringRight($SZDIR, 1) = "/") Then $SZDIR = $SZDIR & "\"
EndIf
If StringLen($SZEXT) Then
If Not (StringLeft($SZEXT, 1) = ".") Then $SZEXT = "." & $SZEXT
EndIf
Return $SZDRIVE & $SZDIR & $SZFNAME & $SZEXT
EndFunc
Func _PATHSPLIT($SZPATH, ByRef $SZDRIVE, ByRef $SZDIR, ByRef $SZFNAME, ByRef $SZEXT)
Local $DRIVE = ""
Local $DIR = ""
Local $FNAME = ""
Local $EXT = ""
Local $POS
Local $ARRAY[5]
$ARRAY[0] = $SZPATH
If StringMid($SZPATH, 2, 1) = ":" Then
$DRIVE = StringLeft($SZPATH, 2)
$SZPATH = StringTrimLeft($SZPATH, 2)
ElseIf StringLeft($SZPATH, 2) = "\\" Then
$SZPATH = StringTrimLeft($SZPATH, 2)
$POS = StringInStr($SZPATH, "\")
If $POS = 0 Then $POS = StringInStr($SZPATH, "/")
If $POS = 0 Then
$DRIVE = "\\" & $SZPATH
$SZPATH = ""
Else
$DRIVE = "\\" & StringLeft($SZPATH, $POS - 1)
$SZPATH = StringTrimLeft($SZPATH, $POS - 1)
EndIf
EndIf
Local $NPOSFORWARD = StringInStr($SZPATH, "/", 0, -1)
Local $NPOSBACKWARD = StringInStr($SZPATH, "\", 0, -1)
If $NPOSFORWARD >= $NPOSBACKWARD Then
$POS = $NPOSFORWARD
Else
$POS = $NPOSBACKWARD
EndIf
$DIR = StringLeft($SZPATH, $POS)
$FNAME = StringRight($SZPATH, StringLen($SZPATH) - $POS)
If StringLen($DIR) = 0 Then $FNAME = $SZPATH
$POS = StringInStr($FNAME, ".", 0, -1)
If $POS Then
$EXT = StringRight($FNAME, StringLen($FNAME) - ($POS - 1))
$FNAME = StringLeft($FNAME, $POS - 1)
EndIf
$SZDRIVE = $DRIVE
$SZDIR = $DIR
$SZFNAME = $FNAME
$SZEXT = $EXT
$ARRAY[1] = $DRIVE
$ARRAY[2] = $DIR
$ARRAY[3] = $FNAME
$ARRAY[4] = $EXT
Return $ARRAY
EndFunc
Func _REPLACESTRINGINFILE($SZFILENAME, $SZSEARCHSTRING, $SZREPLACESTRING, $FCASENESS = 0, $FOCCURANCE = 1)
Local $IRETVAL = 0
Local $NCOUNT, $SENDSWITH
If StringInStr(FileGetAttrib($SZFILENAME), "R") Then Return SetError(6, 0, -1)
Local $HFILE = FileOpen($SZFILENAME, $FO_READ)
If $HFILE = -1 Then Return SetError(1, 0, -1)
Local $S_TOTFILE = FileRead($HFILE, FileGetSize($SZFILENAME))
If StringRight($S_TOTFILE, 2) = @CRLF Then
$SENDSWITH = @CRLF
ElseIf StringRight($S_TOTFILE, 1) = @CR Then
$SENDSWITH = @CR
ElseIf StringRight($S_TOTFILE, 1) = @LF Then
$SENDSWITH = @LF
Else
$SENDSWITH = ""
EndIf
Local $AFILELINES = StringSplit(StringStripCR($S_TOTFILE), @LF)
FileClose($HFILE)
Local $HWRITEHANDLE = FileOpen($SZFILENAME, $FO_OVERWRITE)
If $HWRITEHANDLE = -1 Then Return SetError(2, 0, -1)
For $NCOUNT = 1 To $AFILELINES[0]
If StringInStr($AFILELINES[$NCOUNT], $SZSEARCHSTRING, $FCASENESS) Then
$AFILELINES[$NCOUNT] = StringReplace($AFILELINES[$NCOUNT], $SZSEARCHSTRING, $SZREPLACESTRING, 1 - $FOCCURANCE, $FCASENESS)
$IRETVAL = $IRETVAL + 1
If $FOCCURANCE = 0 Then
$IRETVAL = 1
ExitLoop
EndIf
EndIf
Next
For $NCOUNT = 1 To $AFILELINES[0] - 1
If FileWriteLine($HWRITEHANDLE, $AFILELINES[$NCOUNT]) = 0 Then
FileClose($HWRITEHANDLE)
Return SetError(3, 0, -1)
EndIf
Next
If $AFILELINES[$NCOUNT] <> "" Then FileWrite($HWRITEHANDLE, $AFILELINES[$NCOUNT] & $SENDSWITH)
FileClose($HWRITEHANDLE)
Return $IRETVAL
EndFunc
Func _TEMPFILE($S_DIRECTORYNAME = @TempDir, $S_FILEPREFIX = "~", $S_FILEEXTENSION = ".tmp", $I_RANDOMLENGTH = 7)
If Not FileExists($S_DIRECTORYNAME) Then $S_DIRECTORYNAME = @TempDir
If Not FileExists($S_DIRECTORYNAME) Then $S_DIRECTORYNAME = @ScriptDir
If StringRight($S_DIRECTORYNAME, 1) <> "\" Then $S_DIRECTORYNAME = $S_DIRECTORYNAME & "\"
Local $S_TEMPNAME
Do
$S_TEMPNAME = ""
While StringLen($S_TEMPNAME) < $I_RANDOMLENGTH
$S_TEMPNAME = $S_TEMPNAME & Chr(Random(97, 122, 1))
WEnd
$S_TEMPNAME = $S_DIRECTORYNAME & $S_FILEPREFIX & $S_TEMPNAME & $S_FILEEXTENSION
Until Not FileExists($S_TEMPNAME)
Return $S_TEMPNAME
EndFunc
If ProcessExists("metin2client.bin") = False Then
#Region ### START Koda GUI section ### Form=
$FORM4 = GUICreate("Error", 321, 171, 270, 252)
GUISetIcon("C:\error.ico")
$PIC1 = GUICtrlCreatePic("C:\Error.jpg", 0, 0, 320, 170, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
Sleep(2000)
#EndRegion ### END Koda GUI section ###
Exit
EndIf
#Region ### START Koda GUI section ### Form=
$FORM1 = GUICreate("Metin2 Retrohack 1.2", 321, 151, -1, -1, BitOR($WS_POPUP, $WS_BORDER, $WS_CLIPSIBLINGS))
$PROGRESS1 = GUICtrlCreateProgress(39, 74, 243, 30)
$PIC1 = GUICtrlCreatePic("C:\Intro.jpg", 0, 0, 320, 150, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetIcon("C:\R icon.ico")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
GUICtrlSetData($PROGRESS1, 1)
Sleep(100)
GUICtrlSetData($PROGRESS1, 5)
Sleep(100)
GUICtrlSetData($PROGRESS1, 13)
Sleep(100)
GUICtrlSetData($PROGRESS1, 20)
Sleep(100)
GUICtrlSetData($PROGRESS1, 23)
Sleep(400)
GUICtrlSetData($PROGRESS1, 28)
Sleep(100)
GUICtrlSetData($PROGRESS1, 35)
Sleep(100)
GUICtrlSetData($PROGRESS1, 60)
Sleep(700)
GUICtrlSetData($PROGRESS1, 66)
Sleep(100)
GUICtrlSetData($PROGRESS1, 70)
Sleep(100)
GUICtrlSetData($PROGRESS1, 71)
Sleep(300)
GUICtrlSetData($PROGRESS1, 72)
Sleep(100)
GUICtrlSetData($PROGRESS1, 73)
Sleep(100)
GUICtrlSetData($PROGRESS1, 76)
Sleep(100)
GUICtrlSetData($PROGRESS1, 88)
Sleep(100)
GUICtrlSetData($PROGRESS1, 100)
Sleep(700)
GUISetState(@SW_HIDE)
#Region ### START Koda GUI section ### Form=C:\Users\Lennart\Pictures\Metin2 Retrotool\Form.kxf
$FORM3 = GUICreate("Metin2 RetroHack 1.2 [16.11.11]", 321, 460, 220, 290)
GUISetIcon("C:\R icon.ico")
$HELPBUTTON = GUICtrlCreatePic("C:\HelpButton.bmp", 160, 420, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$CREDITSBUTTON = GUICtrlCreatePic("C:\CreditsButton.bmp", 56, 420, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$ZOOMBON = GUICtrlCreatePic("C:\OnButton.jpg", 152, 275, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$BUTTONLEVELOFF = GUICtrlCreatePic("C:\OffButton.jpg", 208, 310, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$BUTTONLEVELON = GUICtrlCreatePic("C:\OnButton.jpg", 152, 310, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$FOGBON = GUICtrlCreatePic("C:\OnButton.jpg", 152, 240, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$ZOOMBOFF = GUICtrlCreatePic("C:\OffButton.jpg", 208, 275, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$FOGBOFF = GUICtrlCreatePic("C:\OffButton.jpg", 208, 240, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$INVIBOFF = GUICtrlCreatePic("C:\OffButton.jpg", 208, 345, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$INVIBON = GUICtrlCreatePic("C:\OnButton.jpg", 152, 345, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$TEST = GUICtrlCreateButton("", 999, 999, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$INVIPIC = GUICtrlCreateButton("", 264, 345, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$SLOWBOFF = GUICtrlCreatePic("C:\OffButton.jpg", 208, 380, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$SLOWBON = GUICtrlCreatePic("C:\OnButton.jpg", 152, 380, 49, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
GUISetState(@SW_SHOW)
$SLOWPIC = GUICtrlCreateButton("", 264, 380, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$ZOOMPIC = GUICtrlCreateButton("", 264, 275, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$LEVELPIC = GUICtrlCreateButton("", 264, 310, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$FOGOFF = GUICtrlCreateButton("", 264, 240, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$INPUT3 = GUICtrlCreateInput("16256", 152, 72, 49, 26)
GUICtrlSetFont(-1, 10, 400, 0, "Comic Sans MS")
$MOVEA = GUICtrlCreatePic("C:\ActivateButton.jpg", 208, 72, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$INPUT4 = GUICtrlCreateInput("16256", 152, 104, 49, 26)
GUICtrlSetFont(-1, 10, 400, 0, "Comic Sans MS")
$ATTACKA = GUICtrlCreatePic("C:\ActivateButton.jpg", 208, 104, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$RANGEA = GUICtrlCreatePic("C:\ActivateButton.jpg", 208, 136, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$BUTTON15 = GUICtrlCreatePic("C:\ActivateButton.jpg", 208, 168, 97, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$BUTTON16 = GUICtrlCreatePic("C:\ActivateButton.jpg", 208, 200, 98, 25, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUICtrlSetCursor(-1, 0)
$INPUT1 = GUICtrlCreateInput("16256", 152, 136, 49, 26)
GUICtrlSetFont(-1, 10, 400, 0, "Comic Sans MS")
$COMBO1 = GUICtrlCreateCombo("", 152, 168, 49, 26)
GUICtrlSetData(-1, "Faust|Schwert|Schwert2|Dolch|Bogen|Angel|Pferd|Pf erd2|Pferd3|Gehen")
GUICtrlSetFont(-1, 8, 400, 0, "Comic Sans MS")
$COMBO2 = GUICtrlCreateCombo("", 152, 200, 49, 26)
GUICtrlSetData(-1, "1|2|3|Off")
GUICtrlSetFont(-1, 10, 400, 0, "Comic Sans MS")
GUISetState(@SW_SHOW)
$PICBACK = GUICtrlCreatePic("C:\Background v2.jpg", 0, 0, 320, 460, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
$NMSG = GUIGetMsg()
Switch $NMSG
Case $GUI_EVENT_CLOSE
Exit
Case $CREDITSBUTTON
MsgBox(64, "© .United", "This Hack was created by .United.")
ShellExecute("http://www.elitepvpers.com/forum/members/3809574--united.html")
Case $HELPBUTTON
ShellExecute("http://www.elitepvpers.com/forum/metin2-hacks-bots-cheats-exploits-macros/1538722-release-metin2-retrohack.html#post13807718")
Case $BUTTON15
If GUICtrlRead($COMBO1) = "Faust" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "1", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Schwert" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "2", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Schwert2" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "3", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Dolch" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "4", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Bogen" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "5", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Angel" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "8", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Pferd" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "9", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Pferd2" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "10", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Pferd3" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "11", "dword")
EndIf
If GUICtrlRead($COMBO1) = "Gehen" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "C"
$TESTOFFSET2 = "440"
$TESTOFFSET3 = "0041F060"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "16", "dword")
EndIf
Case $ZOOMBON
$ZOOMPIC = GUICtrlCreateButton("", 264, 275, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OnPicture.bmp", -1)
GUISetState(@SW_SHOW)
$WAIT = ProcessWait("metin2client.bin")
$PID = ProcessExists("metin2client.bin")
$OPEN = _MEMORYOPEN($PID)
_MEMORYWRITE(8271878, $OPEN, 30000, "byte[2]")
Case $ZOOMBOFF
$ZOOMPIC = GUICtrlCreateButton("", 264, 275, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$WAIT = ProcessWait("metin2client.bin")
$PID = ProcessExists("metin2client.bin")
$OPEN = _MEMORYOPEN($PID)
_MEMORYWRITE(8271878, $OPEN, 30000, "byte[2]")
Case $FOGBON
$FOG = GUICtrlCreateButton("", 264, 240, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OnPicture.bmp", -1)
GUISetState(@SW_SHOW)
$WAIT = ProcessWait("metin2client.bin")
$PID = ProcessExists("metin2client.bin")
$OPEN = _MEMORYOPEN($PID)
_MEMORYWRITE(8286096, $OPEN, 99999999999999999, "Float")
Case $FOGBOFF
$FOG = GUICtrlCreateButton("", 264, 240, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$WAIT = ProcessWait("metin2client.bin")
$PID = ProcessExists("metin2client.bin")
$OPEN = _MEMORYOPEN($PID)
_MEMORYWRITE(8286096, $OPEN, 4800, "Float")
Case $RANGEA
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5B6"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, GUICtrlRead($INPUT1), "dword")
Case $BUTTONLEVELON
$LEVELPICON = GUICtrlCreateButton("", 264, 310, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OnPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5B6"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, 19999, "dword")
Case $BUTTONLEVELOFF
$LEVELPIC = GUICtrlCreateButton("", 264, 310, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5B6"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "16256", "dword")
Case $MOVEA
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BA"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, GUICtrlRead($INPUT3), "dword")
Case $ATTACKA
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BE"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, GUICtrlRead($INPUT4), "dword")
Case $BUTTON16
If GUICtrlRead($COMBO2) = "1" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "2AC"
$TESTOFFSET2 = "518"
$TESTOFFSET3 = "0041AD0C"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
While 3
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "1", "dword")
WEnd
EndIf
If GUICtrlRead($COMBO2) = "2" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "2AC"
$TESTOFFSET2 = "518"
$TESTOFFSET3 = "0041AD0C"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
While 3
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "2", "dword")
WEnd
EndIf
If GUICtrlRead($COMBO2) = "3" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "2AC"
$TESTOFFSET2 = "518"
$TESTOFFSET3 = "0041AD0C"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
While 3
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "3", "dword")
WEnd
EndIf
If GUICtrlRead($COMBO2) = "Off" Then
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "2AC"
$TESTOFFSET2 = "518"
$TESTOFFSET3 = "0041AD0C"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "0", "dword")
EndIf
Case $SLOWBON
$SLOWPIC = GUICtrlCreateButton("", 264, 380, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OnPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BA"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, 16056, "dword")
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BE"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, 16056, "dword")
Case $SLOWBOFF
$SLOWPIC = GUICtrlCreateButton("", 264, 380, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BA"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, 16256, "dword")
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BE"
$TESTOFFSET3 = "0041B984"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, 16256, "dword")
Case $INVIBON
$INVIPIC = GUICtrlCreateButton("", 264, 345, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OnPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5EA"
$TESTOFFSET3 = "0041F060"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "0", "dword")
Case $INVIBOFF
$INVIPIC = GUICtrlCreateButton("", 264, 345, 41, 25, BitOR($BS_BITMAP, $WS_GROUP, $WS_BORDER))
GUICtrlSetImage(-1, "C:\OffPicture.bmp", -1)
GUISetState(@SW_SHOW)
$PID = WinGetProcess("METIN2")
$OPENMEM = _MEMORYOPEN($PID)
$BASEADRESS = _MEMORYMODULEGETBASEADDRESS($PID, "metin2client.bin")
$TESTOFFSET1 = "4"
$TESTOFFSET2 = "5BB"
$TESTOFFSET3 = "0041F060"
Global $AOFFSET[3]
$AOFFSET[0] = 0
$AOFFSET[1] = Dec($TESTOFFSET1)
$AOFFSET[2] = Dec($TESTOFFSET2)
$AADDRESS = "0x" & Hex($BASEADRESS + Dec($TESTOFFSET3))
$AMEMREAD = _MEMORYPOINTERREAD($AADDRESS, $OPENMEM, $AOFFSET, "byte[2]")
$AWERT = _RETURNMEMORYVALUE($AMEMREAD[1])
$AWERT = Dec($AWERT)
_MEMORYPOINTERWRITE($AADDRESS, $OPENMEM, $AOFFSET, "19999", "dword")
EndSwitch
WEnd
Func _RETURNMEMORYVALUE($SADRESSE)
$SNEWADRESSE = ""
$SADRESSE = StringTrimLeft($SADRESSE, 2)
For $I = StringLen($SADRESSE) - 1 To 0 Step -2
$SNEWADRESSE &= StringMid($SADRESSE, $I, 2)
Next
Return $SNEWADRESSE
EndFunc
MagixZone is offline  
Thanks
1 User
Old 11/26/2011, 16:01   #2
 
.United's Avatar
 
elite*gold: 31
Join Date: Aug 2011
Posts: 972
Received Thanks: 1,786
Du bist echt der Größte, du hast es echt geschafft den Autoit Decompiler zu benutzen, herzlichen glückwunsch

#reported
.United is offline  
Old 11/26/2011, 17:11   #3
 
elite*gold: 726
Join Date: Jul 2010
Posts: 14,233
Received Thanks: 7,914
Was soll das jetzt anderen bringen?
noahrmal is offline  
Old 11/26/2011, 21:36   #4
 
Mi4uric3's Avatar
 
elite*gold: 405
Join Date: Dec 2007
Posts: 6,615
Received Thanks: 6,356
Nicht mal [C0DE]-Tags kann er benutzen, aber macht hier einen auf ganz großen Helden, weil er Knöpfchen in Programmen drücken kann
Mi4uric3 is offline  
Thanks
2 Users
Old 11/26/2011, 21:57   #5
 
.United's Avatar
 
elite*gold: 31
Join Date: Aug 2011
Posts: 972
Received Thanks: 1,786
Das hier wird wohl nur einen Anfänger helfen der die Copy und Paste Funktion benutzt

Wer die Pointer braucht oder vergleichen möchte kann mich auch einfach fragen.
.United is offline  
Old 11/27/2011, 00:41   #6
 
elite*gold: 596
The Black Market: 10/0/11
Join Date: Sep 2011
Posts: 923
Received Thanks: 2,343
Mit dem Source will er bestimmt anderes Design herstellen&nehmen und den Hack dann releasen du leecher...


Edit:

Das sind meine Pointer ich habe .United mein BlueStar-Hack von der .au3 datei gegeben....
Slicktor is offline  
Thanks
1 User
Old 11/27/2011, 00:48   #7
 
elite*gold: 0
Join Date: Sep 2011
Posts: 310
Received Thanks: 99
Mach mal Spoiler rein du knecht.
FaridBangRulezz is offline  
Old 11/27/2011, 01:24   #8
 
NNTERTAiNER's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,015
Received Thanks: 316
Damit dieses Thread sich nicht weiter ausbreitet.

#report
#closerequest
NNTERTAiNER is offline  
Old 11/27/2011, 01:32   #9
 
elite*gold: 596
The Black Market: 10/0/11
Join Date: Sep 2011
Posts: 923
Received Thanks: 2,343
Quote:
#report
#closerequest
Ist doch beides gleich?

#bannrequest
Slicktor is offline  
Thanks
1 User
Old 11/27/2011, 01:36   #10
 
.SkyneT.'s Avatar
 
elite*gold: 273
Join Date: Sep 2010
Posts: 1,831
Received Thanks: 786
Uii er kann "autoit decompiler" googeln und das Programm dann auch noch verwenden ...

@.United
Verwend mal etwas wie das hier:


Ps: Ihr müsst nicht jeden bescheuerten Request posten, machts einfach und Ruhe ...
.SkyneT. is offline  
Old 11/27/2011, 01:36   #11
 
NNTERTAiNER's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,015
Received Thanks: 316
Quote:
Originally Posted by -_HackGamer View Post
Ist doch beides gleich?

#bannrequest
deins ist viel besser

aber doppelt ist immer besser ? denkst du nicht !
NNTERTAiNER is offline  
Old 11/27/2011, 10:37   #12
 
.United's Avatar
 
elite*gold: 31
Join Date: Aug 2011
Posts: 972
Received Thanks: 1,786
Quote:
Originally Posted by .SkyneT. View Post
Uii er kann "autoit decompiler" googeln und das Programm dann auch noch verwenden ...

@.United
Verwend mal etwas wie das hier:


Ps: Ihr müsst nicht jeden bescheuerten Request posten, machts einfach und Ruhe ...
jaja ich benutze in meinem neuen Thread schon einen Obfuscator. Könnte in meinem alten Hack eventuell auch noch shcnell einen einbauen


Quote:
Originally Posted by -_HackGamer View Post
Mit dem Source will er bestimmt anderes Design herstellen&nehmen und den Hack dann releasen du leecher...


Edit:

Das sind meine Pointer ich habe .United mein BlueStar-Hack von der .au3 datei gegeben....
Dann guck die die Pointer mal genauer an, du hast mir zwar dein Script gegeben, aber das hat mir nur sehr wenig geholfen, habe nur die Invisible Pointer benutzt.
Im neuen Hack wird zu 100% alles von mir sein.
.United is offline  
Old 11/27/2011, 11:47   #13
 
elite*gold: 596
The Black Market: 10/0/11
Join Date: Sep 2011
Posts: 923
Received Thanks: 2,343
Quote:
#banrequest
Ich hab ihn doch schon bei einen Admin gemeldet!
Slicktor is offline  
Old 11/27/2011, 11:54   #14
 
NNTERTAiNER's Avatar
 
elite*gold: 0
Join Date: Jan 2010
Posts: 1,015
Received Thanks: 316
Quote:
Originally Posted by -_HackGamer View Post
Ich hab ihn doch schon bei einen Admin gemeldet!
doppelt ist immer besser wie ich schon letztes mal gesagt habe ^^
NNTERTAiNER is offline  
Old 11/27/2011, 12:01   #15
 
elite*gold: 726
Join Date: Jul 2010
Posts: 14,233
Received Thanks: 7,914
Quote:
Originally Posted by NNTERTAiNER View Post
doppelt ist immer besser wie ich schon letztes mal gesagt habe ^^
Nein ist es nicht = Spam! Wie oft wollt ihr das noch reporten? Es wurde schon 6mal oder so "#reported" etc. geschrieben. Außerdem was bringt es das andere den Source Code aus einem decompiler haben?
noahrmal is offline  
Reply


Similar Threads Similar Threads
[Source] SRO BOT Source Code(AutoIt)
09/16/2011 - SRO Hacks, Bots, Cheats & Exploits - 34 Replies
I am finally going to release the source code to srobot.. it is a autoit bot.. ( befor you flame on auto it... check it out ) this is a very very advanced autoit script with read/write memory options. all this bot needs is to be updated with the new offsets and such. so please do not update this and just put your name on it.. as iv seen someone else in this forum has did.. not saying any names he knows who he is... after we spent a get bit of time on this script he wants to rip the source and...
[RELEASE] [OPEN SOURCE] CE 5.5 Pointer to AutoIt Source-Code
02/13/2011 - AutoIt - 6 Replies
Habe heute erst gemerkt, dass es hier eine AutoIt Sektion gibt xD also poste ich mal mein Programm mit rein. Funktionsweise: 1. in CE Rechtsklick auf den Pointer und auf "Copy" klicken 2. in meinem Programm auf "Code generieren" klicken 3. In euer Scite gehen und einfügen Hier ist der Source Code vom Programm:
12sky2 bot source code in autoit
06/10/2010 - 12Sky2 Hacks, Bots, Cheats & Exploits - 3 Replies
12Sky2botz #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIListBox.au3> #include <Memory.au3> #RequireAdmin #NoTrayIcon $ShowLvlAdd = "0x"



All times are GMT +2. The time now is 22:23.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.