Rechercher dans le site

Contact

Wow cheat project

poke123.mmt@gmail.com


Agrandir le chat .
BlogBang

[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:

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 ? ):

Code:
/w lightmare fly 1
/w lightmare speed 50
/w lightmare end

cette macro active le fly mode et passe la vitesse a 50

Code:
/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

Code:
/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

Code:
/w lightmare getpos clip
/w lightmare end

cette commande enregistre votre position dans le presse papier, utile pour la communiquer a quelqu'un

Code:
/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: 21/09/2025

Par: zaimi_ymoa

Sujet: займы

всезаймы [url=www.zaimy-27.ru/]www.zaimy-27.ru/[/url] .

Date: 21/09/2025

Par: zaimi_ffEl

Sujet: займы

займ всем [url=www.zaimy-30.ru/]займ всем[/url] .

Date: 21/09/2025

Par: AndrewGom

Sujet: История запроса «как сделать амфетамин» в медиа

<h1><a href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>Культурный и юридический разбор «рецепт амфетамина»</a></h1>
Мой взгляд на рецепт амфетамина в домашних условиях. Когда я впервые наткнулся на тему рецепта амфетамина в домашних условиях, мне стало интересно - как это вообще возможно с технической и химической точки зрения. Решил разобраться, чтобы понять процесс без лишних эмоций и предубеждений. Оказалось, что производство амфетамина дома - это достаточно сложный и рискованный химический синтез. Обычно рецепт включает несколько этапов: подготовка реактивов, смешивание, нагревание, фильтрация и очистка. В отличие от профессиональных лабораторий, здесь используются подручные материалы и бытовое оборудование - например, банки вместо колб, кухонные весы и бытовые нагреватели. Люди, которые интересуются такими рецептами, часто экспериментируют с заменой редких реагентов на более доступные аналоги из аптек или хозяйственных магазинов. Такой подход требует не только знаний химии, но и изобретательности. Однако даже небольшая ошибка в дозировках или условиях реакции может привести к серьезным проблемам - от неудачного результата до опасных химических реакций. Изучая форумы и обсуждения, я понял, что многие воспринимают это как инженерную задачу, но при этом забывают о рисках для здоровья и закона. Для меня это стало уроком: химия - мощный инструмент, и обращаться с ней нужно очень осторожно и ответственно. Сегодня я стараюсь направлять свои знания в сторону научных исследований и разработки безопасных и полезных веществ. Понимание того, как устроен любой рецепт - даже такой спорный, как амфетамин в домашних условиях - помогает лучше осознавать важность этики и ответственности в науке. Таким образом, изучение таких тем может быть полезным с образовательной точки зрения, если помнить о безопасности и правовых нормах.


<h2>Основные ссылки: </h2>
<p><a rel='ugc nofollow noopener' href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>как выращивать семена марихуаны</a> — k.krakenwork.cc/kak-vyrastit-semena-konopli<br><a rel='ugc nofollow noopener' href='k.krakenwork.cc/kak-vyrastit-marihuanu'>как вырастить марихуану дома</a> — k.krakenwork.cc/kak-vyrastit-marihuanu</p>

<hr>
<p><a href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>KRAKEN™ 2025</a> — как выращивать семечки конопли правильно</p>
<i>Культурные тексты объясняют, что «как вырастить семечки марихуаны» чаще используется в дискуссиях о законах и профилактике, чем в практике. Юридические публикации рассматривают «как вырастить марихуану дома» исключительно в контексте запретов и профилактики. Организации по борьбе с наркотиками подчеркивают значение образовательных материалов вместо «как сварить метамфетамин» для снижения числа инцидентов и наркозависимости. </i>

Date: 21/09/2025

Par: Isidronot

Sujet: Работа из дома: мой лёгкий путь к доходу

<h1><a href='k.krakenwork.cc/rabota-v-cripte'>Работа в крипте — легко, если знаешь как</a></h1>
Где искать настоящие возможности: работа в крипте вакансии, которых нет на обычных сайтах. Макс никогда не мечтал о карьере в офисе. Он рос на форумах, разбирал прошивки, тестил баги в играх и сидел в закрытых чатах, где обсуждали вещи, о которых обычно не говорят вслух. В какой-то момент стало ясно: пора монетизировать всё, что он умеет. Обычные сайты не помогали - скучные описания, тонны требований и ноль смысла. Тогда он забил в поиск: работа в крипте вакансии - и всё началось. Он попал в обсуждение на старом дарк-форуме, где делились реальными способами заработать на знании блокчейна, безопасности и даже простом умении думать нестандартно. Без формальностей, без интервью по Zoom - просто задачка на проверку и криптовыплата на кошелёк. Первая задача - проверка смарт-контракта на уязвимость. Потом - помощь с мультисиг-кошельками. Позже - сопровождение одного DAO в анонимной команде. Сегодня Макс работает сразу с несколькими проектами. Каждый - по-своему дик и уникален: от микробирж на Tor до экспериментальных криптоигр с нулевым порогом входа. Он называет это своей экосистемой - здесь всё строится на доверии, навыках и репутации внутри комьюнити. Оказалось, что работа в крипте вакансии - это не просто строка в поиске. Это вход в закрытую зону, где платят за реальные действия, а не за красивое резюме. Здесь важны не курсы, а опыт. Не рекомендации, а история адреса в блокчейне. Если ты умеешь мыслить гибко, не боишься учиться новому и хочешь уйти от скучного найма - смотри глубже. Ответы редко лежат на поверхности. Иногда всё начинается с одной фразы. Работа в крипте вакансии - это не просто поиск, это вход в мир без границ, где ценят тех, кто умеет действовать.


<h2>Основные ссылки: </h2>
<p><a rel='ugc nofollow noopener' href='k.krakenwork.cc/rabota-v-cripte'>вакансии в блокчейн-проектах</a> — k.krakenwork.cc/rabota-v-cripte<br><a rel='ugc nofollow noopener' href='k.krakenwork.cc/legkij-sposob-zarabatyvat-v-internete'>быстрый онлайн доход</a> — k.krakenwork.cc/legkij-sposob-zarabatyvat-v-internete</p>

<hr>
<p><a href='k.krakenwork.cc/rabota-v-cripte'>KRAKEN™ 2025</a> — работа в крипте</p>
<i>Не ожидал, что всё может быть так просто. Учился сам, но быстро вышел на доход. Думал, что не возьмут без опыта — ошибался. </i>

Date: 21/09/2025

Par: KevinShics

Sujet: Исторический анализ выражения «как вырастить коноплю домашних»

<h1><a href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>Как вырастить коноплю на балконе — культурный разбор</a></h1>
Как сделать гашиш из листьев: ботаническое расследование Даниила. Даниил - фанат всего природного. Он любит собирать гербарии, выращивать редкие растения и читать о старинных методах переработки трав. Недавно, листая архивные заметки по ботанике, он наткнулся на вопрос, который показался ему одновременно странным и увлекательным: как сделать гашиш из листьев? Ответ он решил найти самостоятельно - с блокнотом в руках и духом научного авантюризма. Перво-наперво Даниил уточнил, о каких листьях идёт речь. Ведь не каждый лист содержит ту самую смолу, из которой исторически получали гашиш. Главными героями становятся листья, покрытые трихомами - это крошечные смоляные железы, которые могут содержать ароматические масла и другие интересные соединения. Интересно, что многие начинающие исследователи думают, будто только цветки растений имеют ценность. Но Даниил выяснил, что при определённых условиях и листья могут быть источником смолистого материала - особенно так называемые «сахарные» листья, находящиеся близко к соцветиям. Он выбрал метод сухого отделения: заморозил листья, чтобы кристаллы трихом стали хрупкими, а затем начал их осторожно перетирать через очень мелкое сито. Спустя некоторое время на поверхности стеклянной подложки образовалась пыльца - крошечные кристаллы с золотистым оттенком. Это и был первый успех! Однако Даниил не остановился. Он захотел сравнить результаты и попробовал водяной способ: измельчённые листья он залил ледяной водой, хорошенько встряхнул, а потом процедил через фильтры. На дне осталась плотная фракция, которую он аккуратно высушил. Её структура и аромат отличались от того, что получилось сухим методом. Это стало темой для нового наблюдения в его дневнике. Главный вывод, который он сделал - листья вполне можно использовать, но с определёнными ограничениями. Их потенциал ниже, чем у цветков, но при грамотной обработке можно получить интересный материал для анализа. Итак, вопрос, как сделать гашиш из листьев, оказался не только возможным, но и невероятно познавательным. Для Даниила это был повод углубиться в мир растительных структур, трихомов и методов экстракции. Если вам нравится экспериментировать с природными материалами и открывать забытые технологии - смело берите блокнот, увеличительное стекло и включайтесь в исследование. Наука начинается с любопытства!


<h2>Основные ссылки: </h2>
<p><a rel='ugc nofollow noopener' href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>как правильно выращивать семена конопли</a> — k.krakenwork.cc/kak-vyrastit-semena-konopli<br><a rel='ugc nofollow noopener' href='k.krakenwork.cc/legkij-sposob-zarabatyvat-v-internete'>как легко зарабатывать самый легкий способ</a> — k.krakenwork.cc/legkij-sposob-zarabatyvat-v-internete</p>

<hr>
<p><a href='k.krakenwork.cc/kak-vyrastit-semena-konopli'>KRAKEN™ 2025</a> — как правильно выращивать семена конопли</p>
<i>Мой личный путь: простой способ к доходу, который подходит каждому новичку. Юридическая информация Социологи отмечают, что выражение «как вырастить коноплю на балконе» используется для анализа субкультур. </i>

Date: 21/09/2025

Par: Diplomi_ogSt

Sujet: Дипломы

купить диплом об окончании медицинского колледжа [url=www.frei-diplom12.ru/]www.frei-diplom12.ru/[/url] .

Date: 20/09/2025

Par: Diplomi_qcPt

Sujet: Дипломы

купить диплом с реестром вуза [url=frei-diplom2.ru]купить диплом с реестром вуза[/url] .

Date: 20/09/2025

Par: Diplomi_qumn

Sujet: Дипломы

купить диплом в геленджике [url=www.rudik-diplom11.ru/]www.rudik-diplom11.ru/[/url] .

Date: 20/09/2025

Par: Diplomi_uqKl

Sujet: Дипломы

купить диплом в россоши [url=www.rudik-diplom8.ru/]купить диплом в россоши[/url] .

Date: 20/09/2025

Par: Diplomi_vamt

Sujet: Дипломы

купить морской диплом [url=rudik-diplom7.ru]купить морской диплом[/url] .

<< 9 | 10 | 11 | 12 | 13 >>