PHP Code:
Global Const $PI = 3.1415
Global Const $BASEPOINTER_PLAYER_PATTERN = "\x89\x15\x00\x00\x00\x00\xEB\x06\x89\x0D\x00\x00\x00\x00\x89\x4D\xFC\x8B\x55\x0C"
Global Const $BASEPOINTER_PLAYER_MASK = "xx????xxxx????xxxxxx"
Global Const $BASEPOINTER_PLAYER_OFFSET = 2
Global Const $PLAYER_OFFSET = 40
Global Const $PLAYER_LEVEL_OFFSET = 128
Global Const $HP_CUR_OFFSET = 132
Global Const $MP_CUR_OFFSET = 136
Global Const $HP_MAX_OFFSET = 144
Global Const $MP_MAX_OFFSET = 148
Global Const $X_OFFSET = 380
Global Const $Y_OFFSET = 384
Global Const $Z_OFFSET = 388
Global Const $X_ROTATION_OFFSET = 912
Global Const $Z_ROTATION_OFFSET = 916
Global Const $AUSRUH_STATUS_OFFSET = 1048
Global Const $SPEED_OFFSET = 1092
Global Const $ANGRIFFSMODUS_OFFSET = 1176
Global Const $EXP_MAX_OFFSET = 6964
Global Const $EXP_CUR_OFFSET = 6968
Global Const $GOLD_OFFSET = 6972
Global Const $DEUS_P_OFFSET = 7044
Global Const $CAM_OFFSET[2] = [152, 8]
Global Const $V_OFFSET = 492
Global Const $H_OFFSET = 496
Global Const $BASEPOINTER_GEGNER_PATTERN = "\x83\xC0\xB0\xA3\x00\x00\x00\x00"
Global Const $BASEPOINTER_GEGNER_MASK = "xxxx????"
Global Const $BASEPOINTER_GEGNER_OFFSET = 4
Global Const $GEGNER_OFFSET[2] = [228, 120]
Global Const $GEGNER_LEVEL_OFFSET = 88
Global Const $GEGNER_TYP_OFFSET = 128
Global Const $GEGNER_LEBEN_OFFSET = 160
Global Const $GEGNER_ENTFERNUNG_OFFSET = 216
Global Const $GEGNER_ANVISIERT_OFFSET = 220
Global Const $BASEPOINTER_GOETTLICHE_ENERGIE_OFFSET = 352
Global Const $GOETTLICHE_ENERGIE_OFFSET = 76
Global Const $BASEPOINTER_HALTBARKEIT_PATTERN = "\xC6\x45\xFC\x01\xC7\x46\x00\x00\x00\x00\x00\xC7\x45"
Global Const $BASEPOINTER_HALTBARKEIT_MASK = "xxxxxx?????xx"
Global Const $BASEPOINTER_HALTBARKEIT_OFFSET = -35
Global Const $HALTBARKEIT_OFFSET[2] = [1968, 8]
Global Const $HALTBARKEIT_WAFFE_OFFSET = 172
Func _MEMORYSCANEX($AH_HANDLE, $PATTERN, $MASK, $AFTER = False, $IV_ADDRSTART = 4194304, $IV_ADDREND = 16777215, $STEP = 51200)
If Not IsArray($AH_HANDLE) Then
SetError(1)
Return -1
EndIf
$PATTERN = StringRegExpReplace($PATTERN, "[^0123456789ABCDEFabcdef.]", "")
If StringLen($PATTERN) = 0 Then
SetError(2)
Return -2
EndIf
If StringLen($PATTERN) / 2 <> StringLen($MASK) Then
SetError(4)
Return -4
EndIf
Local $FORMATEDPATTERN = ""
Local $BUFFERPATTERN
Local $BUFFERMASK
For $I = 0 To StringLen($MASK) - 1
$BUFFERPATTERN = StringLeft($PATTERN, 2)
$PATTERN = StringRight($PATTERN, StringLen($PATTERN) - 2)
$BUFFERMASK = StringLeft($MASK, 1)
$MASK = StringRight($MASK, StringLen($MASK) - 1)
If $BUFFERMASK = "?" Then $BUFFERPATTERN = ".."
$FORMATEDPATTERN = $FORMATEDPATTERN & $BUFFERPATTERN
Next
$PATTERN = $FORMATEDPATTERN
For $ADDR = $IV_ADDRSTART To $IV_ADDREND Step $STEP - (StringLen($PATTERN) / 2)
StringRegExp(_MEMORYREAD($ADDR, $AH_HANDLE, "byte[" & $STEP & "]"), $PATTERN, 1, 2)
If Not @error Then
If $AFTER Then
Return StringFormat("0x%.8X", $ADDR + ((@extended - 2) / 2))
Else
Return StringFormat("0x%.8X", $ADDR + ((@extended - StringLen($PATTERN) - 2) / 2))
EndIf
EndIf
Next
Return -3
EndFunc
Func _PLAYER_SPEED()
Return _MEMORYREAD($BASEPOINTER_PLAYER + $SPEED_OFFSET, $HPID, "float")
EndFunc
Func _PLAYER_SET_SPEED($WERT)
Return _MEMORYWRITE($BASEPOINTER_PLAYER + $SPEED_OFFSET, $HPID, $WERT, "float")
EndFunc
If @OSVersion = "WIN_7" Or @OSVersion = "WIN_VISTA" Then
#RequireAdmin
EndIf
Global $W, $M, $BOT, $KILLS, $GUI_OPTIONS, $TITLE, $HWND
Global $PAUSE = False
$STANDART = 0.0390000008
$MOUNT = 0.0590000041
$FORM1 = GUICreate("Maestia Speed Hack V.1", 252, 209, 1186, 124)
GUISetIcon("C:\Users\Tiko\Desktop\2920197.ico", -1)
GUISetBkColor(16777215)
$BBOT = GUICtrlCreateButton("Search Pointer", 8, 148, 107, 25)
GUICtrlSetOnEvent($BBOT, "_initialisiere")
$S_SPEED = GUICtrlCreateSlider(8, 116, 234, 29, BitOR($GUI_SS_DEFAULT_SLIDER, $TBS_ENABLESELRANGE))
$LABEL2 = GUICtrlCreateLabel("©Banana_Jo fr. e*PvPers", 12, 100, 132, 17)
GUICtrlSetFont(-1, 6, 400, 0, "MS Sans Serif")
$BUTTON2 = GUICtrlCreateButton("W. Speed", 132, 148, 55, 25)
$PIC1 = GUICtrlCreatePic("C:\Users\Tiko\Desktop\ml\logo_maestiahacked.jpg", 8, 4, 232, 92)
$BUTTON3 = GUICtrlCreateButton("M. Speed", 188, 148, 55, 25)
$INPUT1 = GUICtrlCreateInput("First Search Pointer!", 8, 180, 233, 21, BitOR($GUI_SS_DEFAULT_INPUT, $ES_CENTER))
GUISetState(@SW_SHOW)
Func _SETUPTRAY()
$TEXIT = TrayCreateItem("Exit")
TrayItemSetOnEvent($TEXIT, "_Exit")
EndFunc
Func _MINIMIZE()
ADLIBUNREGISTER("_updateGUI")
TraySetOnEvent(-13, "_bringinfront")
GUISetState(@SW_HIDE, $FORM1)
TrayTip("Tray Info", "Bot has been minimized to the Tray", 10)
EndFunc
Func _BRINGINFRONT()
ADLIBREGISTER("_updateGUI", 100)
TraySetOnEvent(-13, "_minimize")
GUISetState(@SW_SHOW, $FORM1)
EndFunc
Func _UPDATEGUI()
Local $SPEED = GUICtrlRead($S_SPEED) * 0.16 / 100
If $SPEED <> _PLAYER_SPEED() Then
_PLAYER_SET_SPEED($SPEED)
EndIf
EndFunc
Func _MOVEGUI()
$MOUSE = GUIGetCursorInfo($FORM1)
If $MOUSE[0] > 205 And $MOUSE[0] < 440 And $MOUSE[1] > 0 And $MOUSE[1] < 20 Then
$CUR_POS = WinGetPos("[ACTIVE]")
Do
$MOUSEBUFFER = GUIGetCursorInfo($FORM1)
$X = $CUR_POS[0] + $MOUSEBUFFER[0] - $MOUSE[0]
$Y = $CUR_POS[1] + $MOUSEBUFFER[1] - $MOUSE[1]
WinMove("[ACTIVE]", "", $X, $Y)
$CUR_POS = WinGetPos("[ACTIVE]")
Sleep(20)
Until $MOUSEBUFFER[2] <> 1
EndIf
EndFunc
While 1
$NMSG = GUIGetMsg()
Switch $NMSG
Case $GUI_EVENT_CLOSE
Exit
Case $BBOT
If $BOT = True Then
If $W = True Then
ADLIBREGISTER("_updateGUI", 500)
GUICtrlSetData($INPUT1, "You activated Walk Speed ")
$W = False
Else
ADLIBREGISTER("_updateGUI", 500)
EndIf
If $M = True Then
ADLIBREGISTER("_updateGUI", 500)
GUICtrlSetData($INPUT1, "You activated Mount Speed ")
$M = False
Else
ADLIBREGISTER("_updateGUI", 500)
EndIf
Else
Call("_initialisiere")
EndIf
Case $BUTTON2
If $BOT = True Then
If $M = True Then
$M = False
GUICtrlSetData($S_SPEED, $STANDART() * 100 / 0.16)
$W = True
Else
GUICtrlSetData($S_SPEED, $STANDART() * 100 / 0.16)
$W = True
EndIf
Else
MsgBox(1, "Error", "Start Maestia and Search the Pointer")
EndIf
Case $BUTTON3
If $BOT = True Then
If $W = True Then
$W = False
GUICtrlSetData($S_SPEED, $MOUNT() * 100 / 0.16)
$M = True
Else
GUICtrlSetData($S_SPEED, $MOUNT() * 100 / 0.16)
$M = True
EndIf
Else
MsgBox(1, "Error", "Start Maestia and Search the Pointer")
EndIf
EndSwitch
WEnd
Func _EXIT()
If IsArray($HPID) Then
_MEMORYCLOSE($HPID)
EndIf
GUIDelete($FORM1)
Exit
EndFunc
Func _BOT()
$BOT = True
EndFunc
Func _M()
$M = True
EndFunc
Func _W()
$W = True
EndFunc
Func _INITIALISIERE()
If Not ProcessExists("maestia.exe") Then
GUICtrlSetData($INPUT1, "Start Maestia->Press Search!")
Else
$PROCESSLIST = ProcessList("maestia.exe")
Global $HPID = _MEMORYOPEN($PROCESSLIST[1][1])
$TITLE = WinGetTitle("[CLASS:Maestia]")
$HWND = WinGetHandle($TITLE)
If Not @error Then
Global $BASEPOINTER_PLAYER = _MEMORYREAD(_MEMORYSCANEX($HPID, $BASEPOINTER_PLAYER_PATTERN, $BASEPOINTER_PLAYER_MASK) + $BASEPOINTER_PLAYER_OFFSET, $HPID, "dword")
If $BASEPOINTER_PLAYER > 0 Then
$BASEPOINTER_PLAYER = _MEMORYREAD($BASEPOINTER_PLAYER, $HPID, "dword")
$BASEPOINTER_PLAYER = _MEMORYREAD($BASEPOINTER_PLAYER + $PLAYER_OFFSET, $HPID, "dword")
GUICtrlSetData($INPUT1, "Pointer Founded!")
GUICtrlSetData($S_SPEED, _PLAYER_SPEED() * 100 / 0.16)
GUICtrlSetData($BBOT, "Set Speed")
$BOT = True
Else
GUICtrlSetData($INPUT1, "Cant Find Pointer")
Return 0
EndIf
Else
GUICtrlSetData($INPUT1, "Cant Find Pointer")
Return 0
EndIf
EndIf
EndFunc