Results 1 to 1 of 1
  1. #1
    floowsnaake's Avatar
    Join Date
    Jul 2015
    Gender
    female
    Posts
    72
    Reputation
    10
    Thanks
    380
    My Mood
    Innocent

    Cool Path Of Exile reading pointers example

    Path Of Exile reading pointers example

    watch the video:
    watch?v=6jsuLimqOzc

    send me a PM here or at autohotkey (DOT) com if you need help with anything, my username there is SnowFlake

    Poe.ahk
    Code:
    IF NOT A_IsAdmin
    {
       Run *RunAs "%A_ScriptFullPath%"
       ExitApp
    }
    
    #Include, memory.ahk
    #SingleInstance force
    
    ProcessName := "PathOfExile.exe"
    
    hwnd := MemoryOpenFromName(ProcessName)
    
    HP = 
    SH = 
    MA = 
    EX = 
    
    IT = 
    ST = 
    DE = 
    
    Gui, +AlwaysOnTop
    
    Gui, Add, Text,,Life:
    Gui, Add, Text,,Shield:
    Gui, Add, Text,, Mana:
    Gui, Add, Text,, EXP:
    
    Gui, Add, Text,,Intelligence:
    Gui, Add, Text,, Strenght:
    Gui, Add, Text,, Dexterity:
    
    Gui, Add, Edit, ReadOnly vHP_GUI ym
    Gui, Add, Edit, ReadOnly vSH_GUI
    Gui, Add, Edit, ReadOnly vMA_GUI
    Gui, Add, Edit, ReadOnly vEX_GUI
    
    Gui, Add, Edit, ReadOnly vIT_GUI
    Gui, Add, Edit, ReadOnly vST_GUI
    Gui, Add, Edit, ReadOnly vDE_GUI
    Gui, Show, , POE Reader
    
    
    Loop
    {
       
     ; Life,Mana,sheiald,exp  
    HP2 := MemoryReadPointer(hwnd,HP, "int")
    GuiControl,, HP_GUI, %HP2%
    
    SH2 := MemoryReadPointer(hwnd,SH, "int")
    GuiControl,, SH_GUI, %SH2%
    
    MA2 := MemoryReadPointer(hwnd,MA, "int")
    GuiControl,, MA_GUI, %MA2%
    
    EX2 := MemoryReadPointer(hwnd,EX, "int")
    GuiControl,, EX_GUI, %EX2%
    
    ; inteletins,srange,dexter
    IT2 := MemoryReadPointer(hwnd,IT, "int")
    GuiControl,, IT_GUI, %IT2%
    
    ST2 := MemoryReadPointer(hwnd,ST, "int")
    GuiControl,, ST_GUI, %ST2%
    
    DE2 := MemoryReadPointer(hwnd,DE, "int")
    GuiControl,, DE_GUI, %DE2%
    }
    return
    memory.ahk
    Code:
    MemoryOpenFromPID(PID, Privilege=0x1F0FFF)
    {
    	HWND := DllCall("OpenProcess", "Uint", Privilege, "int", 0, "int", PID)
    	return HWND
    }
    
    MemoryOpenFromName(Name, Privilege=0x1F0FFF)
    {
    	Process, Exist, %Name%
    	PID := ErrorLevel
    	Return MemoryOpenFromPID(PID, Privilege)
    }
    
    MemoryOpenFromTitle(title, privilege=0x1F0FFF)
    {
    	WinGet, PID, PID, %title%
    	Return MemoryOpenFromPID(PID, Privilege)
    }
    
    MemoryClose(hwnd)
    {
    	return DllCall("CloseHandle", "int", hwnd)
    }
    
    MemoryWrite(hwnd, address, writevalue, datatype="int", length=4, offset=0)
    {
    	VarSetCapacity(finalvalue, length, 0)
    	NumPut(writevalue, finalvalue, 0, datatype)
    	return DllCall("WriteProcessMemory", "Uint", hwnd, "Uint", address+offset, "Uint", &finalvalue, "Uint", length, "Uint", 0)
    }
    
    MemoryRead(hwnd, address, datatype="int", length=4, offset=0)
    {
    	VarSetCapacity(readvalue,length, 0)
    	DllCall("ReadProcessMemory","Uint",hwnd,"Uint",address+offset,"Str",readvalue,"Uint",length,"Uint *",0)
    	finalvalue := NumGet(readvalue,0,datatype)
    	return finalvalue
    }
    
    MemoryWritePointer(hwnd, base, writevalue, datatype="int", length=4, offsets=0, offset_1=0, offset_2=0, offset_3=0, offset_4=0, offset_5=0, offset_6=0, offset_7=0, offset_8=0, offset_9=0)
    {
    	B_FormatInteger := A_FormatInteger 
    	Loop, %offsets%
    	{
    		baseresult := MemoryRead(hwnd,base)
    		Offset := Offset_%A_Index%
    		SetFormat, integer, h
    		base := baseresult + Offset
    		SetFormat, integer, d
    	}
    	SetFormat, Integer, %B_FormatInteger%
    	return MemoryWrite(hwnd,address,writevalue,datatype,length)
    }
    
    MemoryReadPointer(hwnd, base, datatype="int", length=4, offsets=0, offset_1=0, offset_2=0, offset_3=0, offset_4=0, offset_5=0, offset_6=0, offset_7=0, offset_8=0, offset_9=0)
    {
    	B_FormatInteger := A_FormatInteger 
    	Loop, %offsets%
    	{
    		baseresult := MemoryRead(hwnd,base)
    		Offset := Offset_%A_Index%
    		SetFormat, integer, h
    		base := baseresult + Offset
    		SetFormat, integer, d
    	}
    	SetFormat, Integer, %B_FormatInteger%
    	return MemoryRead(hwnd,base,datatyp,length)
    }
    
    MemoryGetAddrPID(PID, DllName)
    {
        VarSetCapacity(me32, 548, 0)
        NumPut(548, me32)
        snapMod := DllCall("CreateToolhelp32Snapshot", "Uint", 0x00000008, "Uint", PID)
        If (snapMod = -1)
            Return 0
        If (DllCall("Module32First", "Uint", snapMod, "Uint", &me32))
    	{
    		Loop
           	{
                If (!DllCall("lstrcmpi", "Str", DllName, "UInt", &me32 + 32)) {
                    DllCall("CloseHandle", "UInt", snapMod)
                    Return NumGet(&me32 + 20)
                }
            }
    		Until !DllCall("Module32Next", "Uint", snapMod, "UInt", &me32)
        }
        DllCall("CloseHandle", "Uint", snapMod)
        Return 0
    }
    
    MemoryGetAddrName(Name, DllName)
    {
    	Process, Exist, %Name%
    	PID := ErrorLevel
    	Return MemoryGetAddrPID(PID, DllName)
    }
    
    MemoryGetAddrTitle(Title, DllName)
    {
    	WinGet, PID, PID, %Title%
    	Return MemoryGetAddrPID(PID, DllName)
    }
    
    SetPrivilege(privilege = "SeDebugPrivilege")
    {
    	success := DllCall("advapi32.dll\LookupPrivilegeValueA","uint",0,"str",privilege,"int64*",luid_SeDebugPrivilege)
    	if (success = 1) && (ErrorLevel = 0)
    	{
    		returnval = 0
    	}
    	else
    	{
    		returnval = %ErrorLevel%
    	}
    	return %returnval%
    }
    
    SuspendProcess(hwnd)
    {
    	return DllCall("ntdll\NtSuspendProcess","uint",hwnd)
    }
    
    ResumeProcess(hwnd)
    {
    	return DllCall("ntdll\NtResumeProcess","uint",hwnd)
    }
    Cheat engine.ahk
    Code:
    IF NOT A_IsAdmin
    {
       Run *RunAs "%A_ScriptFullPath%"
       ExitApp
    }
    
    
    Cheat_Engine_Dynamic_Pointer_Catcher(CH_Path,CH_title,Exe_name,Game_tile,vlaue,move_dir,vlaue2)
    {
    SoundBeep 
    WinMinimizeAll
    WinActivate, %Game_tile%
    Run, %CH_Path%
    WinWaitActive, %CH_title%
    Winmove,%CH_title%,,0,0,50,50
    
    ControlClick, Window3, %CH_title%,,,, NA
    Sleep, 500
    ControlFocus, LCLListBox1, %CH_title%
    Sleep, 500
    Send, %Exe_name%
    Sleep, 1000
    Send, {enter}
    ControlSetText, Edit1, %vlaue%, %CH_title%
    Sleep, 500
    ControlClick, Button15, %CH_title%,,,, NA
    
    Loop
    {
    ControlGetText, Button15_1, Button15,%CH_title% 
    IF (Button15_1 = "New Scan")
    {
    WinActivate, %Game_tile%
    WinWaitActive, %Game_tile%
    Sleep, 500
    Send, {%move_dir%}
    break
    }
    }
    
    WinActivate, %CH_title%
    ControlGetText, Button15, Button15,%CH_title%
    
    Loop
    {
    IF (Button15 = "New Scan")
    {
    ControlSetText, Edit1,%vlaue2%, %CH_title%
    Sleep, 500
    ControlClick, Button6, %CH_title%,,,, NA
    Sleep, 500
    
    ControlClick, x32 y115, %CH_title%,,,, NA
    ControlClick, x32 y115, %CH_title%,,,, NA
    Sleep, 400
    Click 225, 423, 2
    Sleep, 400
    send, {ctrl down}
    send, {C}
    send, {ctrl up}
    
    Process,Close,cheatengine-x86_64.exe
    Process,Close,cheatengine-i386.exe
    Process,Close,Cheat Engine.exe
    
    NormPoint := Clipboard
    coord1 := format( "0x{:x}", format( "{:d}", "0x" clipboard ) ) 
    Clipboard = %NormPoint%
    FileAppend,Pointer: %NormPoint%`nHex Pointer: %coord1%`n`n,%Game_tile%_Dynamic_pointers.ini
    TrayTip,%CH_title% Dynamic Pointer Catcher, Catched it!`n`nPointer: %NormPoint%`nHex Pointer: %coord1%,3
    break
    }
    
    }
    }
    ExitApp
    return
    
    Escape::ExitApp
    Last edited by floowsnaake; 08-06-2015 at 12:24 PM.

  2. The Following 3 Users Say Thank You to floowsnaake For This Useful Post:

    Pearcen2 (12-22-2018),testit2 (02-23-2018),YOUCEFHam (08-08-2015)

Similar Threads

  1. WTB Dota 2 key or Steam account - $75-100~ + Path of Exile beta account
    By gabemorr in forum Buying Accounts/Keys/Items
    Replies: 5
    Last Post: 12-17-2011, 07:48 PM
  2. WTS Path Of Exile Closed Beta Keys (2)
    By darthbrandon in forum Selling Accounts/Keys/Items
    Replies: 5
    Last Post: 10-22-2011, 06:54 PM
  3. WTT "Path of Exile Beta Key" for "Dota 2 Beta Key".
    By Chakl22 in forum Trade Accounts/Keys/Items
    Replies: 0
    Last Post: 10-19-2011, 10:40 AM
  4. WTT "Path of Exile Beta Account" for "Diablo 3 Key or Account".
    By Chakl22 in forum Trade Accounts/Keys/Items
    Replies: 0
    Last Post: 10-18-2011, 10:58 PM
  5. [Help] Read Pointer Floats
    By wee123 in forum Visual Basic Programming
    Replies: 2
    Last Post: 03-04-2011, 09:13 AM