[multi cheat] poke hack: inject
voila je viens de finir un cheat très sommaire qui a la particularité de fonction a l'aide de macro (je posterais la source plus tard mais le nombre incommensurable de assign empêche l'obfuscation du script donc vous êtes prévenu)
alors rapidement voila comment envoyer une commande au programme:
/w le_nom_de_votre_perso commande argument
liste des commande de macro disponible:
fly
argument: 1 pour activer et 0 pour désactiver
speed
argument: nouvelle vitesse
freezeZ
argument: 1 pour activer et 0 pour désactiver
clic2tp
argument: 1 pour activer et 0 pour désactiver
gocorps
argument: 1 pour y aller, tout le reste ne fait rien
getpos
argument: soit clip pour enregistrer votre position dans le presse papier, soit un nom de variable pour l'enregistrer dans une variable (si elle n'existe pas elle sera crée)
info supplémentaire: en plus tant que end n'est pas appelé votre position actuel sera affiché dans le chat
teleport
argument: soit clip pour récupérer la position dans le presse papier soit un nom de variable que vous avez rempli avec getpos soit une position XYZ de la forme X,Y,Z
wallclimb
argument: 1 pour activer et 0 pour désactiver
track
argument: l'id a traquer (si vous mettez 9999999 vous traquerez tout)
HDwow:
argument: 1 pour activer et 0 pour désactiver attention HDwow est réservé aux PC assez puissant les plus faible clamserons avant d'avoir le temps de dire ouf
exit:
argument: aucun cette commande fermera poke hack: inject
end:
argument: aucun les action s'effectue tant que end n'est pas rencontrer donc mettez le a la fin de chaque macro
master:
argument: nom du maitre n'utilisez pas cette fonction a la légère! master va donner le droit a un personnage de votre choix d'activer le cheat a distance en vous whispant les instruction (astuce: pour définir votre cible comme maître faite /w nom_de_votre_personnage master %t )
bouton in game:
j'ai défini seulement un bouton in game: quand vous cliquez sur le portrait de votre personnage les info du cheat s'affichent dans le chat
source code:
#include
#include
#include
#include
#include "Asm.au3"
#include
#include "_Distorm.au3"
Opt("MouseCoordMode", 0)
Global Const $STUB_DATA_SIZE = 4096
Global Const $DX_DEVICE = 0x00C5DF88
Global Const $DX_DEVICE_IDX = 0x397C
Global Const $ENDSCENE_IDX = 0xA8
Global Const $StaticClientConnection = 0x00C79CE0
Global Const $MgrOffset = 0x2ED0
Global Const $lua_dostring = 0x00819210
Global Const $lua_register = 0x00817F90
Global Const $lua_gettop = 0x0084DBD0
Global Const $lua_tostring = 0x0084E0E0
Global Const $StaticPlayer = 0x00CD87A8
Global Const $UnlockLUA = 0x005191D2
Global Const $Version = "3.3.5"
Global $wowhandle, $chat[60], $clic2tp, $mes, $oldr
Func IsEmptyCC($sig) ;extends comparator
$size = HookJump_GetSize(0)
If IsNumber($sig) And $sig == 0 Then
Return $size
EndIf
$cc_arr = StringSplit(Hex($sig), "CC", 1)
If $cc_arr[0] == $size + 1 Then
Return True;
Else
Return False
EndIf
EndFunc ;==>IsEmptyCC
Func IsHookJump($sig) ;extends comparator
If IsNumber($sig) And $sig == 0 Then
Return HookJump_GetSize($sig)
EndIf
return (Hex(BinaryMid($sig, 1, 1)) == "68" And _
Hex(BinaryMid($sig, 6, 1)) == "C3" And Hex(BinaryMid($sig, 7, 1)) == "90")
EndFunc ;==>IsHookJump
Func LuaRegister($wowprocess, $cb_name, $cb_func)
$t_data = "dword dwAddress;" & _ ; $lua_register
"char szAddressType[12];" & _ ; cdecl
"dword dwParamCount;" & _ ; 2
"dword dwParam1;" & _ ; offset $cb_name
"dword dwParam2;" & _ ; $cb_func
"char szParam1[64];" ; $cb_name
$data = DllStructCreate($t_data)
DllStructSetData($data, "dwFlag", 1)
DllStructSetData($data, "dwParamCount", 2)
DllStructSetData($data, "dwAddress", $lua_register)
DllStructSetData($data, "szAddressType", "cdecl")
DllStructSetData($data, "dwParam1", DllStructGetPtr($data, "szParam1"))
DllStructSetData($data, "dwParam2", $cb_func)
DllStructSetData($data, "szParam1", $cb_name)
Return EndScene_CallFunction($wowprocess, $data)
EndFunc ;==>LuaRegister
Func STUB_LuaRegisterCallback()
$Asm = AsmInit()
AsmReset($Asm)
Local Const $dwLuaState = "ebp + 20h + 8"
AsmAdd($Asm, "pushad")
AsmAdd($Asm, "push ebp")
AsmAdd($Asm, "mov ebp, esp")
AsmAdd($Asm, "push dword [" & $dwLuaState & "]") ; luastate*
AsmAdd($Asm, "mov eax, " & Hex($lua_gettop) & "h")
AsmAdd($Asm, "call eax")
AsmAdd($Asm, "add esp, 4")
AsmAdd($Asm, "or eax, eax")
AsmAdd($Asm, "jz $+35") ; exit
AsmAdd($Asm, "push 0")
AsmAdd($Asm, "push eax")
AsmAdd($Asm, "push dword [" & $dwLuaState & "]") ; luastate*
AsmAdd($Asm, "mov eax, " & Hex($lua_tostring) & "h")
AsmAdd($Asm, "call eax")
AsmAdd($Asm, "add esp, 0Ch")
AsmAdd($Asm, "or eax, eax")
AsmAdd($Asm, "jz $+17") ; exit
AsmAdd($Asm, "push 0")
AsmAdd($Asm, "push eax")
AsmAdd($Asm, "push eax")
AsmAdd($Asm, "mov eax, " & Hex($lua_dostring) & "h")
AsmAdd($Asm, "call eax")
AsmAdd($Asm, "add esp, 0Ch")
AsmAdd($Asm, "exit:")
AsmAdd($Asm, "mov esp, ebp")
AsmAdd($Asm, "pop ebp")
AsmAdd($Asm, "popad")
AsmAdd($Asm, "xor eax, eax")
AsmAdd($Asm, "ret")
Return $Asm
EndFunc ;==>STUB_LuaRegisterCallback
Func DoString($wowprocess, $cmd, $file = $cmd, $unk = 0)
$t_data = "dword dwAddress;" & _ ; $lua_dostring
"char szAddressType[12];" & _ ; cdecl
"dword dwParamCount;" & _ ; 3
"dword dwParam1;" & _ ; offset $cmd
"dword dwParam2;" & _ ; offset $file
"dword dwParam3;" & _ ; $unk
"char szParam1[512];" & _ ; $cmd
"char szParam2[512];" ; $file
$data = DllStructCreate($t_data)
DllStructSetData($data, "dwAddress", $lua_dostring)
DllStructSetData($data, "szAddressType", "cdecl")
DllStructSetData($data, "dwParamCount", 3)
DllStructSetData($data, "dwParam1", DllStructGetPtr($data, "szParam1"))
DllStructSetData($data, "dwParam2", DllStructGetPtr($data, "szParam2"))
DllStructSetData($data, "dwParam3", $unk)
DllStructSetData($data, "szParam1", $cmd)
DllStructSetData($data, "szParam2", $file)
Return EndScene_CallFunction($wowprocess, $data)
EndFunc ;==>DoString
Func AsmSize($Asm)
Return $Asm[2]
EndFunc ;==>AsmSize
Func EndScene_CallFunction($wowprocess, $data)
$pEndScene = EndScene_GetAddress($wowprocess)
$pEndSceneHook = HookJump_GetAddress($wowprocess, $pEndScene)
If $pEndSceneHook == 0 Then
$stubEndSceneHook = STUB_EndSceneHook()
$pEndSceneHook = Function_Inject($wowprocess, $stubEndSceneHook)
Function_Hook($wowprocess, $pEndScene, $pEndSceneHook, AsmSize($stubEndSceneHook))
EndIf
$data_area = $pEndSceneHook + EndScene_GetHookSize($wowprocess, $pEndSceneHook)
$t_cmd = "dword dwRetVal;" & _ ; function return value
"dword dwFlag;" ; 1=call function 0=ready to call
$cmd = DllStructCreate($t_cmd)
$cmd_size = DllStructGetSize($cmd)
$p_data = DllStructGetPtr($data)
$param_count = DllStructGetData($data, "dwParamCount")
For $i = 1 To $param_count
$dwParamX = DllStructGetData($data, "dwParam" & $i)
$j = 4 + $param_count
Do
$pParamX = DllStructGetPtr($data, $j)
If @error == 0 And Hex($dwParamX) == Hex($pParamX) Then
DllStructSetData($data, "dwParam" & $i, $pParamX - $p_data + $data_area + $cmd_size)
EndIf
$j = $j + 1;
Until $pParamX == 0
Next
DllStructSetData($cmd, "dwFlag", 1)
DllCall($wowprocess[0], 'int', 'WriteProcessMemory', 'int', $wowprocess[1], 'int', $data_area + $cmd_size, 'ptr', $p_data, 'int', DllStructGetSize($data), 'int', '')
DllCall($wowprocess[0], 'int', 'WriteProcessMemory', 'int', $wowprocess[1], 'int', $data_area, 'ptr', DllStructGetPtr($cmd), 'int', $cmd_size, 'int', '')
Do
$sig = _MemoryRead($data_area, $wowprocess, "byte[8]")
$dwRetVal = DllStructSetData($cmd, "dwRetVal", "0x" & Hex(BinaryMid($sig, 1, 4)))
$dwFlag = DllStructSetData($cmd, "dwFlag", "0x" & Hex(BinaryMid($sig, 5, 4)))
Until $dwFlag == 0
Return $dwRetVal
EndFunc ;==>EndScene_CallFunction
Func EndScene_GetHookSize($wowprocess, $pEndSceneHook)
$pAddress = Function_Find($wowprocess, $pEndSceneHook, "IsHookJump")
If $pAddress <> 0 Then
return ($pAddress - $pEndSceneHook) + HookJump_GetSize($pAddress)
Else
Return 0
EndIf
EndFunc ;==>EndScene_GetHookSize
Func EndScene_GetAddress($wowprocess)
$pDevice = _MemoryRead("0x" & Hex($DX_DEVICE), $wowprocess, "dword")
$p1 = _MemoryRead($pDevice + $DX_DEVICE_IDX, $wowprocess, "dword")
$p2 = _MemoryRead($p1, $wowprocess, "dword")
$pEndScene = _MemoryRead($p2 + $ENDSCENE_IDX, $wowprocess, "dword")
Return $pEndScene
EndFunc ;==>EndScene_GetAddress
Func STUB_EndSceneHook()
$Asm = AsmInit()
AsmReset($Asm)
Local Const $dwRetVal = "ebp"
Local Const $dwFlag = "ebp + 04h"
Local Const $dwAddress = "ebp + 08h"
Local Const $szAddressType = "ebp + 0Ch"
Local Const $dwParamCount = "ebp + 18h"
Local Const $dwAddrTypeCdecl = 0x63656463 ; 'cdec'
Local Const $dwAddrTypeStdcall = 0x63647473 ; 'stdc'
Local Const $dwAddrTypeThiscall = 0x73696874 ; 'this'
AsmAdd($Asm, "pushad")
AsmAdd($Asm, "pushfd")
AsmAdd($Asm, "call $+5")
AsmAdd($Asm, "pop ebp")
AsmAdd($Asm, "add ebp, 0ACh") ; data area
AsmAdd($Asm, "cmp dword [" & $dwFlag & "], 1")
AsmAdd($Asm, "jnz $+8B") ;exit
AsmAdd($Asm, "xor eax, eax")
AsmAdd($Asm, "mov dword [" & $dwFlag & "], eax")
AsmAdd($Asm, "mov eax, fs:[2Ch]")
AsmAdd($Asm, "mov eax, [eax]")
AsmAdd($Asm, "add eax, 0x10")
AsmAdd($Asm, "mov edx, [" & Hex($StaticClientConnection) & "h]")
AsmAdd($Asm, "mov edx, [edx + " & Hex($MgrOffset) & "h]")
AsmAdd($Asm, "mov [eax], edx")
AsmAdd($Asm, "mov edx, [" & $dwParamCount & "]") ; parameter count
AsmAdd($Asm, "or edx, edx")
AsmAdd($Asm, "jz $+22") ; callf [ __stdcall/__cdecl type func( void ) ]
AsmAdd($Asm, "std")
AsmAdd($Asm, "lea esi, [edx * 4 +" & $dwParamCount & "]")
AsmAdd($Asm, "mov eax, [" & $szAddressType & "]")
AsmAdd($Asm, "cmp eax, " & Hex($dwAddrTypeThiscall) & "h")
AsmAdd($Asm, "jnz $+7") ; cycle
AsmAdd($Asm, "lodsd")
AsmAdd($Asm, "xchg eax, ecx") ; __thiscall
AsmAdd($Asm, "dec edx")
AsmAdd($Asm, "jz $+8") ; callf [ __thiscall type func( void ) ]
AsmAdd($Asm, "cycle:")
AsmAdd($Asm, "lodsd")
AsmAdd($Asm, "push eax") ; push cycle
AsmAdd($Asm, "dec edx")
AsmAdd($Asm, "jnz @cycle")
AsmAdd($Asm, "callf:")
AsmAdd($Asm, "cld") ; very important
AsmAdd($Asm, "call dword [" & $dwAddress & "]") ; call function
AsmAdd($Asm, "mov ebx, [" & $szAddressType & "]")
AsmAdd($Asm, "cmp ebx, " & Hex($dwAddrTypeCdecl) & "h")
AsmAdd($Asm, "jnz $+13") ; save_ret
AsmAdd($Asm, "mov ebx, [" & $dwParamCount & "]")
AsmAdd($Asm, "shl ebx, 2")
AsmAdd($Asm, "add esp, ebx")
AsmAdd($Asm, "save_ret:")
AsmAdd($Asm, "mov [" & $dwRetVal & "], eax")
AsmAdd($Asm, "xor eax, eax")
AsmAdd($Asm, "mov ecx, " & Hex($STUB_DATA_SIZE) & "h")
AsmAdd($Asm, "lea edi, [" & $dwFlag & "]")
AsmAdd($Asm, "rep stosb")
AsmAdd($Asm, "exit:")
AsmAdd($Asm, "popfd")
AsmAdd($Asm, "popad")
Return $Asm
EndFunc ;==>STUB_EndSceneHook
Func HookJump_Create($pAddress)
$jmp = AsmInit()
AsmAdd($jmp, "push " & Hex($pAddress) & "h")
AsmAdd($jmp, "ret")
AsmAdd($jmp, "nop")
Return $jmp
EndFunc ;==>HookJump_Create
Func HookJump_GetAddress($wowprocess, $pAddress)
$sig = _MemoryRead($pAddress, $wowprocess, "byte[8]")
If IsHookJump($sig) Then
$pHook = BitShift("0x" & Hex(BinaryMid($sig, 2, 1)), -00) + _
BitShift("0x" & Hex(BinaryMid($sig, 3, 1)), -08) + _
BitShift("0x" & Hex(BinaryMid($sig, 4, 1)), -16) + _
BitShift("0x" & Hex(BinaryMid($sig, 5, 1)), -24)
Return $pHook
EndIf
Return 0
EndFunc ;==>HookJump_GetAddress
Func HookJump_GetSize($jmp)
If IsArray($jmp) Then
Return AsmSize($jmp)
Else
Return AsmSize( HookJump_Create($jmp))
EndIf
EndFunc ;==>HookJump_GetSize
Func HookJump_Write($wowprocess, $pAdress, $jmp)
_MemoryWrite($pAdress, $wowprocess, AsmGetBinary($jmp), "byte[" & AsmSize($jmp) & "]")
EndFunc ;==>HookJump_Write
Func Function_Find($wowprocess, $f_start, $f_comp)
Local Const $MAX_FIND_RANGE = 4096
$comp_buf_size = Call($f_comp, 0)
If @error = 0xDEAD And @extended = 0xBEEF Then
Return 0
EndIf
$mem = _MemoryRead($f_start, $wowprocess, "byte[" & $MAX_FIND_RANGE & "]")
For $i = 1 To $MAX_FIND_RANGE - $comp_buf_size
$sig = BinaryMid($mem, $i, $comp_buf_size)
If Call($f_comp, $sig) == True Then
Return $f_start + ($i - 1)
EndIf
Next
Return 0
EndFunc ;==>Function_Find
Func Function_Inject($wowprocess, $stub)
$stub_size = AsmSize($stub)
$stub_mem = _MemVirtualAllocEx($wowprocess[1], 0, $stub_size + $STUB_DATA_SIZE, $MEM_COMMIT, $PAGE_EXECUTE_READWRITE)
_MemoryWrite($stub_mem, $wowprocess, AsmGetBinary($stub), "byte[" & $stub_size & "]")
Return $stub_mem
EndFunc ;==>Function_Inject
Func Function_Hook($wowprocess, $pFunc, $pHook, $dwHookSize)
Local Const $ORIG_ISTR_SIZE = 64
$orig = _MemoryRead($pFunc, $wowprocess, "byte[" & $ORIG_ISTR_SIZE & "]")
If IsHookJump($orig) Then
Return -1
EndIf
_MemoryWrite($pHook + $dwHookSize, $wowprocess, $orig, "byte[" & $ORIG_ISTR_SIZE & "]")
$orig_ptr = DllStructCreate("byte[" & $ORIG_ISTR_SIZE & "]")
DllStructSetData($orig_ptr, 1, $orig)
$jmpto = HookJump_Create($pHook)
$DecodeArray = DllStructCreate("byte[" & $sizeofDecodedInst * $ORIG_ISTR_SIZE & "]")
$ret = distorm_decode(0, DllStructGetPtr($orig_ptr), $ORIG_ISTR_SIZE, $Decode32Bits, DllStructGetPtr($DecodeArray), $ORIG_ISTR_SIZE)
$sumsize = 0
If $ret[0] == $DECRES_SUCCESS Then
For $i = 0 To $ret[1] ; number of decoded instructions
$instr = DllStructCreate($tagDecodedInst, DllStructGetPtr($DecodeArray) + ($i * $sizeofDecodedInst))
$sumsize += DllStructGetData($instr, "size")
If $sumsize >= HookJump_GetSize($jmpto) Then
$jmpback = HookJump_Create($pFunc + $sumsize)
HookJump_Write($wowprocess, $pHook + $dwHookSize + $sumsize, $jmpback)
ExitLoop
EndIf
Next
EndIf
HookJump_Write($wowprocess, $pFunc, $jmpto)
Return 0
EndFunc ;==>Function_Hook
Func readoff($cheat)
Switch $cheat
Case "fly"
Return 1999
Case "pb"
Return "13469608;52;36"
Case "wall"
Return 2136
Case "gravity"
Return 2112
Case "speed"
Return "2076;2092;2084;2068"
Case "CTMx"
Return 13242972
Case "CTMy"
Return 13242972 + 4
Case "CTMz"
Return 13242972 + 8
Case "posx"
Return 1944
Case "posy"
Return 1944 + 4
Case "posz"
Return 1944 + 8
Case "posr"
Return 1960
Case "track"
Return 10576
Case "Cx"
Return 12388944
Case "Cy"
Return 12388944 + 4
Case "Cz"
Return 12388944 + 8
Case "size"
Return 156
EndSwitch
EndFunc ;==>readoff
Func frozenattach()
_memoryclose($wowhandle)
$ptr = StringSplit(readoff("pb"), ";", 1)
Global $wowhandle = _memoryopen(ProcessExists("wow.exe"))
$pt1 = _memoryread($ptr[1], $wowhandle)
$pt2 = _memoryread($ptr[2] + $pt1, $wowhandle)
Global $pb = _memoryread($ptr[3] + $pt2, $wowhandle)
Global $wowprocess = $wowhandle
EndFunc ;==>frozenattach
;~ func frozenattach()
;~ If $ID_WOW <> "" Then
;~ $pb = returnPB()
;~ EndIf
;~ EndFunc
Func fly($offset, $action = True)
If $action = 1 Then
_memorywrite($pb + $offset, $wowhandle, 131, "int")
Else
_memorywrite($pb + $offset, $wowhandle, 128, "int")
EndIf
EndFunc ;==>fly
Func OnWater($offset, $action = True)
If $action Then
_memorywrite($pb + $offset, $wowhandle, 52, "int")
Else
_memorywrite($pb + $offset, $wowhandle, 128, "int")
EndIf
EndFunc ;==>OnWater
Func Chute_Lente($action = True)
If $action Then
_memorywrite($pb + readoff("fly"), $wowhandle, 48, "int")
Else
_memorywrite($pb + readoff("fly"), $wowhandle, 128, "int")
EndIf
EndFunc ;==>Chute_Lente
Func NoFallDomage($action = True)
If $action Then
_memorywrite($pb + readoff("fly"), $wowhandle, 56466, "int")
Else
_memorywrite($pb + readoff("fly"), $wowhandle, 128, "int")
EndIf
EndFunc ;==>NoFallDomage
#cs
func JumpJump()
if _IsPressed("20") Then
frozenZ()
frozenZ(false)
controlSend("World of Warcraft","",""," ")
EndIf
EndFunc
#ce
Func multij($action = True)
If $action Then
AdlibRegister("j", 1)
Else
AdlibUnRegister("j")
EndIf
EndFunc ;==>multij
Func j()
$grav = _memoryread($pb + readoff("gravity"), $wowhandle, "float")
While _IsPressed("20")
$grav = $grav - 1.5
_memorywrite($pb + readoff("gravity"), $wowhandle, $grav, "float")
WEnd
EndFunc ;==>j
Func speed($offset, $speed = 7)
$s = StringSplit($offset, ";", 1)
If $s[0] <> 1 Then
_memorywrite($pb + $s[1], $wowhandle, $speed, "float")
_memorywrite($pb + $s[2], $wowhandle, $speed, "float")
_memorywrite($pb + $s[3], $wowhandle, $speed, "float")
_memorywrite($pb + $s[4], $wowhandle, $speed, "float")
Return $speed
Else
Return 0
EndIf
EndFunc ;==>speed
Func clic2tp($run = True)
If $run Then
$oldCTMx = _memoryread(readoff("CTMX"), $wowhandle, "float")
$oldCTMy = _memoryread(readoff("CTMY"), $wowhandle, "float")
$oldCTMz = _memoryread(readoff("CTMZ"), $wowhandle, "float")
AdlibRegister("frozenclic2tp")
Else
AdlibUnRegister("frozenclic2tp")
EndIf
EndFunc ;==>clic2tp
Func frozenclic2tp()
$CTMx = _memoryread(readoff("CTMX"), $wowhandle, "float")
$CTMy = _memoryread(readoff("CTMY"), $wowhandle, "float")
$CTMz = _memoryread(readoff("CTMZ"), $wowhandle, "float")
If $CTMx <> $oldCTMx Or $CTMy <> $oldCTMy Or $CTMz <> $oldCTMz Then
$oldCTMx = $CTMx
$oldCTMy = $CTMy
$oldCTMz = $CTMz
Send("{DOWN 5}")
If $CTMx <> 0 And $CTMy <> 0 And $CTMz <> 0 Then
_memorywrite($pb + readoff("posX"), $wowhandle, $CTMx, "float")
_memorywrite($pb + readoff("posY"), $wowhandle, $CTMy, "float")
_memorywrite($pb + readoff("posZ"), $wowhandle, $CTMz + 2, "float")
EndIf
EndIf
EndFunc ;==>frozenclic2tp
Func undermap($run = True)
If $run Then
_memorywrite($pb + readoff("posZ"), $wowhandle, _memoryread($pb + readoff("posZ"), $wowhandle, "float") - 20, "float")
frozenZ()
Else
_memorywrite($pb + readoff("posZ"), $wowhandle, _memoryread($pb + readoff("posZ"), $wowhandle, "float") + 40, "float")
frozenZ(False)
EndIf
EndFunc ;==>undermap
Func frozenZ($action = True)
If $action Then
_memorywrite($pb + readoff("fly") - 2, $wowhandle, 4, "int")
Else
_memorywrite($pb + readoff("fly") - 2, $wowhandle, 0, "int")
EndIf
EndFunc ;==>frozenZ
Func gotocorp()
$x = _memoryread(readoff("CX"), $wowhandle, "float")
$y = _memoryread(readoff("CY"), $wowhandle, "float")
$z = _memoryread(readoff("CZ"), $wowhandle, "float")
If $x <> 0 And $y <> 0 And $z <> 0 Then
_memorywrite($pb + readoff("posX"), $wowhandle, $x, "float")
_memorywrite($pb + readoff("posY"), $wowhandle, $y, "float")
_memorywrite($pb + readoff("posZ"), $wowhandle, $z, "float")
EndIf
EndFunc ;==>gotocorp
Func getpos()
Local $pos[3]
$pos[0] = _memoryread($pb + readoff("posX"), $wowhandle, "float")
$pos[1] = _memoryread($pb + readoff("posY"), $wowhandle, "float")
$pos[2] = _memoryread($pb + readoff("posZ"), $wowhandle, "float")
Return $pos
EndFunc ;==>getpos
Func tp($x, $y, $z)
_memorywrite($pb + readoff("posX"), $wowhandle, $x, "float")
_memorywrite($pb + readoff("posY"), $wowhandle, $y, "float")
_memorywrite($pb + readoff("posZ"), $wowhandle, $z, "float")
EndFunc ;==>tp
Func faction($factID)
_memorywrite($pb + readoff("faction"), $wowhandle, $factID, "int")
EndFunc ;==>faction
Func FACTION_CHANGE($VALEUR)
;~ "Creature|Blood Elf|Bloodsail Buccaneers|Demon|Draenei|Dwarf|Gnome|Human|Night Elf|Orc|Tauren|Troll|Undead"
If $VALEUR = "Creature" Then faction(7)
If $VALEUR = "Blood Elf" Then faction(914)
If $VALEUR = "Bloodsail Buccaneers" Then faction(573)
If $VALEUR = "Demon" Then faction(928)
If $VALEUR = "Draenei" Then faction(927)
If $VALEUR = "Dwarf" Then faction(3)
If $VALEUR = "Gnome" Then faction(8)
If $VALEUR = "Human" Then faction(1)
If $VALEUR = "Orc" Then faction(2)
If $VALEUR = "Tauren" Then faction(6)
If $VALEUR = "Troll" Then faction(9)
If $VALEUR = "Undead" Then faction(5)
EndFunc ;==>FACTION_CHANGE
Func wall($run = True)
If $run Then
_memorywrite($pb + readoff("wall"), $wowhandle, 180, "float")
Else
_memorywrite($pb + readoff("wall"), $wowhandle, 1, "float")
EndIf
EndFunc ;==>wall
;requiert Global $r,$oldr,$rx,$ry
Func NoClipAction($dist = 20) ;TRANSFER
Local $x
Local $y
$r = _memoryread($pb + readoff("posR"), $wowhandle, "float")
$rx = Cos($r) * $dist
$ry = Sin($r) * $dist
$x = _memoryread($pb + readoff("posX"), $wowhandle, "float")
$y = _memoryread($pb + readoff("posY"), $wowhandle, "float")
_memorywrite($pb + readoff("posX"), $wowhandle, $x + $rx, "float")
_memorywrite($pb + readoff("posY"), $wowhandle, $y + $ry, "float")
EndFunc ;==>NoClipAction
Func gravity($arg)
If _IsPressed("20") Then
_memorywrite($pb + readoff("gravity"), $wowhandle, -1 * $arg, "float")
EndIf
EndFunc ;==>gravity
Func track($id)
_memorywrite(readoff("track") + $pb, $wowhandle, $id, "int64")
EndFunc ;==>track
Func HDwow($action = True)
Global $CAM_ZOOMPROTECTION = 6292210
Global $CAM_ZOOMPROTECTIONPATCH = "0xD996E8010000"
Global $Gen_ViewDist = 13465416
Global $Gen_ViewDistProtection = 7594984
Global $Gen_FogColor = 13863820
Global $Gen_FogNearclip = $Gen_FogColor + 0x4
Global $Gen_FogFarclip = $Gen_FogColor + 0x8
Global $Gen_FogDensity = $Gen_FogColor + 0xc
Global $hauteur_colision = 2132
Global $largeur_colision = $hauteur_colision - 4
$Gen_FogDensity = $Gen_FogColor + 12
If $action Then
_MEMORYWRITE($CAM_ZOOMPROTECTION, $wowhandle, "0x909090909090", "byte[6]")
_MEMORYWRITE($Gen_ViewDist, $wowhandle, 1500, "float")
AdlibRegister("nofog", 10000)
Else
_MEMORYWRITE($CAM_ZOOMPROTECTION, $wowhandle, $CAM_ZOOMPROTECTIONPATCH, "byte[6]")
_MEMORYWRITE($Gen_FogDensity, $wowhandle, 1.5, "float")
_MEMORYWRITE($Gen_ViewDist, $wowhandle, 900, "float")
EndIf
EndFunc ;==>HDwow
Func nofog()
_MEMORYWRITE($Gen_FogDensity, $wowhandle, 0, "float")
EndFunc ;==>nofog
Func modscale()
If $ssgd Then
_MEMORYWRITE(readoff("size") + $pb, $wowhandle, 1, "float")
Else
_MEMORYWRITE(readoff("size") + $pb, $wowhandle, GUICtrlRead($SLIDE_TAILE), "float")
EndIf
EndFunc ;==>modscale
Func setbutton($gui, $x, $y, $x2, $y2, $func, $param = "NULL", $param2 = "NULL")
$mouse = MouseGetPos()
If $mouse[0] > $x And $mouse[0] < $x2 And $mouse[1] > $y And $mouse[1] < $y2 And _IsPressed("01") And WinActive($gui) And $func = "sendmessage" Then DoString($wowprocess, 'DEFAULT_CHAT_FRAME:AddMessage("' & $param & '", 0, 1, 0);')
If $mouse[0] > $x And $mouse[0] < $x2 And $mouse[1] > $y And $mouse[1] < $y2 And _IsPressed("01") And WinActive($gui) And $param <> "NULL" And $param2 <> "NULL" Then Call($func, $param, $param2)
If $mouse[0] > $x And $mouse[0] < $x2 And $mouse[1] > $y And $mouse[1] < $y2 And _IsPressed("01") And WinActive($gui) And $param <> "NULL" And $param2 = "NULL" Then Call($func, $param)
If $mouse[0] > $x And $mouse[0] < $x2 And $mouse[1] > $y And $mouse[1] < $y2 And _IsPressed("01") And WinActive($gui) And $param = "NULL" And $param2 = "NULL" Then Call($func)
EndFunc ;==>setbutton
Func getlastsay($master = "NULLCHAR")
Local $lastmess[60], $count = 0, $index = 0
For $i = 0x0B75A60 + 0x3C To 0x0B75A60 + 0x3C + (59 * 0x17C0) Step 0x17C0
$lastmess[$count] = _MemoryRead($i, $wowprocess, "char[1000]")
$chan = _StringBetween($lastmess[$count], "Type: [", "],")
$send = _StringBetween($lastmess[$count], "Sender GUID: [", "],")
$p = _StringBetween($lastmess[$count], "Active player: [", "],")
$pseudo = _StringBetween($lastmess[$count], "Name: [", "],")
If $chat[$count] <> $lastmess[$count] And $chan[0] = "7" and ($send[0] = $p[0] Or $pseudo[0] = $master) Then
$mes = $lastmess[$count]
$index = $count
EndIf
$count += 1
Next
$chat = $lastmess
$ret = _StringBetween($mes, "Text: [", "]")
Local $return[2] = [$ret[0], $index]
Return $return
EndFunc ;==>getlastsay
Func chatbeetween($balise, $balise2, $master = "NULLCHAR")
Local $lastmess[60], $count = 0, $index1 = -1, $index2 = -1, $bool = False, $cmdmesline[60], $count2 = 0
For $i = 0x0B75A60 + 0x3C To 0x0B75A60 + 0x3C + (59 * 0x17C0) Step 0x17C0
$mes = _MemoryRead($i, $wowprocess, "char[1000]")
$chan = _StringBetween($mes, "Type: [", "],")
$send = _StringBetween($mes, "Sender GUID: [", "],")
$p = _StringBetween($mes, "Active player: [", "],")
$pseudo = _StringBetween($mes, "Name: [", "],")
If $mes <> "" Then
If $chan[0] = "7" and ($send[0] = $p[0] Or $pseudo[0] = $master) Then
$temp = _StringBetween($mes, "Text: [", "]")
$lastmess[$count] = $temp[0]
$count += 1
EndIf
EndIf
Next
$count = 0
For $i = _ArraySearch($lastmess, $balise, 0, 0, 0, 0, 0, -1) + 1 To 61 Step 1
If $i = _ArraySearch($lastmess, $balise2, 0, 0, 0, 0, 0, -1) Then ExitLoop
If $i = 59 Then $i = 0
$cmdmesline[$count] = $lastmess[$i]
$count += 1
Next
Return $cmdmesline
EndFunc ;==>chatbeetween
Local $maitre = "NULLCHAR", $fly = 0, $multijump = 0, $speed = 7, $clic2tp = 0, $freezeZ = 0, $gocorps = 0, $getpos = 0, $teleport = "", $wallclimb = 0, $transfere = 0, $gravity = 0, $track = 0, $HDwow = 0, $lfly = 0, $lfreezez = 0
While 1
setbutton("World of Warcraft", 33, 50, 91, 109, "sendmessage", "[poke hack: inject] information: " & "vol: " & $fly & " vitesse: " & $speed & " clic2tp: " & $clic2tp & " track: " & $track)
frozenattach()
$say = getlastsay($maitre)
If $say[0] = "end" Then
$gocorps = 0
$teleport = ""
$getpos = ""
$transfere = 0
$gravity = 0
$HDwow = 0
$lfly = 0
EndIf
If $say = "exit" Then Exit
$var = StringSplit($say[0], " ")
If IsDeclared($var[1]) Then Assign($var[1], $var[2])
If 1000 < TimerDiff($lfly) Then
fly(readoff("fly"), $fly)
$lfly = TimerInit()
EndIf
;~ multij($multijump)
speed(readoff("speed"), $speed)
clic2tp($clic2tp)
If 1000 < $lfreezez Then
frozenZ($freezeZ)
$lfreezez = TimerInit()
EndIf
If $gocorps Then gotocorp()
If $getpos <> "" Then
$pos = getpos()
DoString($wowprocess, 'DEFAULT_CHAT_FRAME:AddMessage("[poke hack: inject] position actuel:' & _ArrayToString($pos, " ") & '", 0, 1, 0);')
If $getpos = "clip" Then
ClipPut(_ArrayToString($pos, " "))
Else
Assign($getpos, _ArrayToString($pos, " "))
EndIf
EndIf
If $teleport <> "" Then
Switch $teleport
Case "clip"
$tp = StringSplit(ClipGet(), " ")
tp($tp[1], $tp[2], $tp[3])
Case Else
If IsDeclared($teleport) Then
$tp = StringSplit(Eval($teleport), " ")
Else
$tp = StringSplit($teleport, ",")
EndIf
tp($tp[1], $tp[2], $tp[3])
EndSwitch
EndIf
wall($wallclimb)
If $transfere <> 0 Then noclipaction($transfere)
If $gravity <> 0 Then gravity($gravity)
track($track)
HDwow($HDwow)
WEnd
voila sachez que le fait d'en piquer un bout empêche obfuscator de fonctionner a cause des fonction de manipulation du script (assign,call et eval pour les intimes)
lien de l'executable: Filebeam - Beam up that File Scottie!
quelques exemple de macro (lightmare est le nom de mon personnage mettez le votre pas le mien on est bien d'accord hein ? ):
/w lightmare fly 1 /w lightmare speed 50 /w lightmare end
cette macro active le fly mode et passe la vitesse a 50
/w lightmare master %t /w lightmare end /w %t je viens de te définir comme maitre
cette macro défini la cible comme maitre et lui annonce en MP
/w lightmare getpos hurlevent /w lightmare teleport hurlevent /w lightmare end
cette commande enregistre la position actuel et lui donne le nom d'hurlevent puis s'y téléporte
/w lightmare getpos clip /w lightmare end
cette commande enregistre votre position dans le presse papier, utile pour la communiquer a quelqu'un
/w %t je veux bien te téléporter a hurlevent mais j'ai besoin des droit de maitre /w %t teleport hurlevent /w %t end
cette commande demande les droit de maitre a votre cible et la téléporte a hurlevent
voila déjà de quoi faire
edit avant qu'on me pose la question:
vous ne devez pas enchainer les autowhisp a toute vitesse car il y a un coldown de quelques dizaines de ms entre chaque whisp (ça ne représente guère plus de quelque centième de seconde mais bon) en gros essayez de caler 7 ou 8 /65efdsjgjfgogfueqsh entre chaque action pour freezer wow les quelques ms nécessaire a l'exécution
rapport de bug:
ne marche pas au lancement j'ai un message d'erreur:
pour corriger ce problème faites /w nom_de_votre_perso run avant de lancer le cheat
Sujet: [multi cheat] poke hack: inject
Date: 01/04/2018
Par: PetrovBiznesdah
Sujet: Как в Перми официально зарабатывать по 50тр в мес. или больше?!
Друзья!
———
Date: 30/03/2018
Par: WaynePaynC
Sujet: Отзыв
|
———
Date: 30/03/2018
Par: website
Sujet: Just want to say Hello!
Wow, gorgeous website. Thnx ...
———
Date: 30/03/2018
Par: web blog
Sujet: Im glad I finally signed up
Wow, attractive site. Thnx ...
———
Date: 28/03/2018
Par: Michaeloxiny
Sujet: Нужен совет кто в курсе по Челябинске
Планирую на днях по делам поехать в Челябинск.
Подскажите кто нибудь об городе.
Где можно переночевать? Куда сходить?
Может подскажите где посмотреть подробную информацию?
Заранее спасибо!)
———
Date: 28/03/2018
Par: homepage
Sujet: Im happy I finally registered
Many thanks, this website is very practical.
———
Date: 26/03/2018
Par: detectiver
Sujet: Услуги частного детектива
Услуги частного детектива
Предоставляем полный спектр детективных услуг
Наши плюсы: Всегда озвучиваем возможности и информацию как есть, наши цены в 2-3 раза ниже чем у большинства конкурентов, огромный опыт и запас креатива, делаем то, что многие считают невозможным.
Не берем предоплат, не занимаемся высасыванием денег. Консультация бесплатно.
1. Пробив абсолютно любой информации
Пробив по мобильным системам (детализация, паспортные данные, определение местоположения)
Спектр услуг:
Сбор абсолютно любой информации о человеке
Определение местонахождения человека по номеру телефона
Детализация звонков и смс
Информация из почт и социальных сетей
Выявление факта супружеской неверности
Розыск должников
Розыск имущества должника
Розыск безвести пропавших людей
Розыск родственников и людей с которыми утеряна связь
Розыск мошенников
Проверка образа жизни ребенка
Помощь родителям (уход из дома, правонарушения, наркомания)
Услуги по выявлению фальшивых невест
Содействие адвокатам
Помощь в уголовном расследовании, сбор доказательств
Сбор компромата
Сбор информации о юридических лицах
Проверка персонала
Обеспечение анонимной связи и информационной безопасности
Контроль мобильного телефона
Защита компьютерной техники
Восстановление утерянной информации
Оказание юридической помощи
Оказание коллекторских услуг
Контакты:
+79180520135 - (телефон, viber, whatsapp, skype)
Telegram - @RFDetective
почта - RFDetektiv@gmail.com
———
Date: 25/03/2018
Par: MichaelLal
Sujet: Дайте совет кто в курсе о Челябинску
Собираюсь на днях в командировку лететь в Челябинск.
Подскажите кто нибудь об городе.
Где можно отдохнуть? Куда сходить?
Может скажите где посмотреть подробную информацию?
Заранее спасибо!)
———
Date: 25/03/2018
Par: Lanncetag
Sujet: online money making
The word is out - people are making money really quick over the online world! But why aren't we in a position to see the bucks? Well, people are responsible for is in keeping with some extent but effectively earning real fast is not at all true. Nearly the people, who are engaged in online money making, do not have any proven fact that they short-term wasting their time earning only a few hundred dollars; internet can be used in a much better way to fetch your thousands!
The real deal is that you have nothing worth more that home security system ideas checked. You may have all of the money that you just will ever need inside of whole of your lifetime anyone can never contest the appeal of fame. What is the sense for being successful in online money making if no you may ever be aware of about it?
Finding your forex edge could mean automating your trading. A few obvious methods automated softwares or robots that trade while your away or sleeping or while your at your job. This can thought to be great manner in which you can have a second income while you keep doing all of your job. Realize that currency trading should be treated a small-business and considerably less a hobby to engage in. A person is more inclined to take off what an individual in with a business.
[url=crazyadprofits.com/xeeshan]best binary system work[/url]
What exactly is it I execute? In a short sentence, I am an online internet marketer. Search engines are my best friends, and it's a win-win situation for everyone involved. Lots of individuals are online everyday and they must help, my job is to help them find their ambitions. Sometimes Function 8 hours or longer and additionally, you will. Not since have to though, but because you need to definitely. Why? Because while you're asleep right before bedtime or fishing or on holidays somewhere, your computer will definitely be at work making you money. Now tell me that doesn't sound prefer your kind of "job"! Considerably more than simply can do it, you can as well. here's to your successful work from their home business!
And it's honestly on those grounds (among a few more) that who come online hoping striking it rich, always end up failing, time and again.
Wannabe Entrepreneurs or people who are fairly new to the biz are conscious of the life i have for myself. They find adheres comforts which am enjoying too good to take a pass on and conditions are inclined to appreciate me- not because they're sorry when i have all these- but because desire to experience what I've. It is this "relation of affinity" that can make them gravitate toward everyone. They want to understand how this cool online money-making venture work so which can also relish what I have. And that's why the courses or articles I write on Promoting or on the internet and online hard sought when you are done.
There several cost-per-actions network out there; you need some research in order to get the honest one's who will point your commission in due time.
———
Date: 25/03/2018
Par: LannceDaw
Sujet: online money making
Online money making is a pleasurable opportunity for young children. They can make money by playing games, proofreading, e-mail reading etc. For instance easiest way to build extra money. Moreover, these are abundance of fun!
There are a couple of online portals which supply a platform fundamental crunch online and earn an extensive income. online money making ideas attended as a boon for the group with people who want expend time in accordance with their convenience but in the mean time want to get paid because of it. Let's discuss some of these wonderful concepts.
Step 2 - Set goals off the web. This is in order to due this particular should help you focused. It'll also help choose on what amount time you will need to investin the internet as well as what methods you be using to generate online just. It is important setting realistic goals for all by yourself. Telling yourself that you are going to develop a million dollars in a month on the internet is not a good goal to with, rather setting a target of say making 1000 dollars with your first month is very realistic fertilizing your grass to finding out how to make money online.
[url=crazyadprofits.com/xeeshan]best binary trading system[/url]
There are wide ranging ways to learn, nevertheless i like video the best myself. Having proper a picture is worth 1000 words, so what's a video worth, 10,000? I am betting no fax loans than in which it.
Selling products online can be profitable, but what anyone have would rather not spend money buying the products you wish to sell? Specialists . sell information and understanding about other merchandise that are online by contracting with that company made their content. You can also along with affiliate reselling. Affiliate marketing is probably the most sought after job where products are sold and make use of information to accomplish this. You needs to have marketing savvy for internet in order to get yourself a commission of one's sales of items and know-how.
But where to start this? Is the way to work Ebay, perhaps to open an retail outlet or start selling to be a 'dropshipper?' Does one need a website, it the answer AdSense . or perhaps Blogs? I have to confess I've tried many among these and although I've had some success the profit for effort just didn't deliver for me.
Just always remember to check any possible opportunities out carefully precisely what you want up. Ask your friends and family when they have have you ever heard about the site, sometimes word of mouth because people's experiences are method way to inform the good from the negative. If you have a friend who is actually making money from a site, it is probably okay.