Salve ospite, se leggi questo messaggio vuol dire che non sei registrato, cosa aspetti ? Premi qui per registrarti La registrazione è completamente gratuita e ti permetterà di usufruire di tutte le funzionalità del nostro forum. Buona navigazione.


Vendo, Compro, Scambio NosTale! Riapre il Black Market, concludi i tuoi scambi NosTale gratuitamente! Più info  -   Accedi alla sezione
Download file Server : File Retro Server NosTale
Visita la nuova sezione di BorderGame dedicata a Blade & Soul! Sezione Blade and Soul

 
Valutazione discussione:
  • 2 voti - 1.5 media
  • 1
  • 2
  • 3
  • 4
  • 5
Aiuto pointer autoit!!!
27-12-2011 01:44 AM
Messaggio: #1
Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



Salve raga è da poco che programmo in autoit... e volevo sapere come leggere un pointer in autoit. ad esempio io ho:
address: "nostalex.dat"+003D345C
off1: 4C
off2: 420

potete darmi il suorce?
grazie in anticipo :DDD
İmage
Torna al primo messaggio
Email WWW Cerca Rispondi
27-12-2011 12:35 PM
Messaggio: #2
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Devi aggiungere il base address di nostale a 003D345C(Il base address di nostale è 00400000)

Funzione da usare:
_MemoryPointerRead(Address, Processo, Offset, "DWORD")
Torna al primo messaggio
Email Cerca Rispondi
28-12-2011 01:21 PM
Messaggio: #3
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



(27-12-2011 12:35 PM)Narutomega96 Ha scritto:  Devi aggiungere il base address di nostale a 003D345C(Il base address di nostale è 00400000)

Funzione da usare:
_MemoryPointerRead(Address, Processo, Offset, "DWORD")

si ma se gli offset sono 2?? pazzo
Edit:
e un'altra domanda se l'offset è 4c come lo trasformo?
@[Narutomega96]
İmage
(Questo messaggio è stato modificato l'ultima volta il: 28-12-2011 01:44 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
28-12-2011 04:07 PM
Messaggio: #4
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



$Offset[3] = [0x0, 0x4c, 0x420]

_MemoryPointerRead(0xAddress,Processo,$Offset)
(Questo messaggio è stato modificato l'ultima volta il: 28-12-2011 04:07 PM da Narutomega96.)
Torna al primo messaggio
Email Cerca Rispondi
28-12-2011 04:11 PM
Messaggio: #5
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



Grazie provo subito vediamo come va ;D
Edit------------------------
Non va Sad dove sbaglio????

Codice:
#include <NomadMemory.au3>
  $iv_Pid      = ProcessExists ( "NostaleX.dat" )
    $MemoryOpen = _MemoryOpen($iv_Pid)
dim $Offset[3] = [0x0, 0x2E8, 0x6FC]


$add  =   _MemoryPointerRead("0x007D3BA0",$iv_Pid,$Offset)

ToolTip($add,0,0)
İmage
(Questo messaggio è stato modificato l'ultima volta il: 28-12-2011 04:20 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
28-12-2011 04:32 PM
Messaggio: #6
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



(28-12-2011 04:11 PM)~Shacker Ha scritto:  Grazie provo subito vediamo come va ;D
Edit------------------------
Non va Sad dove sbaglio????

Codice:
#include <NomadMemory.au3>
  $iv_Pid      = ProcessExists ( "NostaleX.dat" )
    $MemoryOpen = _MemoryOpen($iv_Pid)
dim $Offset[3] = [0x0, 0x2E8, 0x6FC]


$add  =   _MemoryPointerRead("0x007D3BA0",$iv_Pid,$Offset)

ToolTip($add,0,0)

Codice:
#include <NomadMemory.au3>
  $iv_Pid      = ProcessExists ( "NostaleX.dat" )
    $MemoryOpen = _MemoryOpen($iv_Pid)
dim $Offset[3] = [0x0, 0x2E8, 0x6FC]


$add  =   _MemoryPointerRead("0x007D3BA0",$iv_Pid,$Offset)

ToolTip($add[1],0,0)
[/quote]
Torna al primo messaggio
Email Cerca Rispondi
28-12-2011 04:38 PM
Messaggio: #7
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



mi da errore quando legge il pointer
İmage
Torna al primo messaggio
Email WWW Cerca Rispondi
28-12-2011 04:39 PM
Messaggio: #8
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



che errore?
Torna al primo messaggio
Email Cerca Rispondi
28-12-2011 04:48 PM
Messaggio: #9
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



Line 22 (File "C:\Documents and Settings\$utente\Desktop\Nuovo AutoIt v3 Script (2).au3"):

$add = _MemoryPointerRead("0x007D3BA0",$iv_Pid,$Offset)
$add = ^ ERROR

Error: Unknown function name.
İmage
(Questo messaggio è stato modificato l'ultima volta il: 28-12-2011 04:49 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
28-12-2011 05:03 PM
Messaggio: #10
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Non ti trova la funzione...
Usa questa libreria: http://pastebin.com/CmrdsByW
Salvala e chiamala Pointer.au3.

Poi includila nel progetto.
Poi devi togliere le "" dall'address.($add = _MemoryPointerRead("0x007D3BA0",$iv_Pid,$Offset) -----> $add = _MemoryPointerRead(0x007D3BA0,$iv_Pid,$Offset)
Torna al primo messaggio
Email Cerca Rispondi
28-12-2011 11:26 PM
Messaggio: #11
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



Sempre un'errore Sad
Line 43 (File "C:\Programmi\AutoIt3\Include\NomadMemory.au3"):

Func _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_InheritHandle = 1)

Error: Duplicate function name.

edit:-------------
ho fatto così non credo ci siano errori.. ma mi da come valore 0 .-.
Codice:
#include <NomadMemory.au3>

$Adresse = 0x007D345C
Dim $Offset[3] = [0, 0x344,0x594]

while 1
    $Process = _MemoryOpen(ProcessExists("NostaleX.dat"))
    If Not @error Then
            $Value = _MemoryPointerRead($Adresse, $Process, $Offset)
            If Not @error Then ToolTip($Value[1],0,0)

            _MemoryClose($Process)
    EndIf

    Sleep(100);
WEnd
İmage
(Questo messaggio è stato modificato l'ultima volta il: 29-12-2011 11:50 AM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
29-12-2011 12:35 AM
Messaggio: #12
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Elimina la stringa

#include <Nomadmemory.au3>
Torna al primo messaggio
Email Cerca Rispondi
29-12-2011 11:53 AM
Messaggio: #13
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



senza nomad memory non mi apre il processo... comunque funziona però mi legge sempre come valore 0..
___________
@[Gafra96] Dai aiutami anke tu che sono messo malissimo xD
İmage
(Questo messaggio è stato modificato l'ultima volta il: 29-12-2011 12:12 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
29-12-2011 12:22 PM
Messaggio: #14
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Togli le librerie NomadMemory.au3 e Pointer.au3

A fine source metti queste funzioni:

Codice:
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 _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 _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_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', $iv_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 _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


Per aprire il processo usa:

$Process = _MemoryOpen("Processo")

Per scrivere nel pointer:

_MemoryPointerWrite(0xAddress, $Processo, $Offset, Value da modificare)

Per leggere il pointer:

_MemoryPointerRead(0xAddress,$Processo,$Offset)

Per scrivere in un address statico:

_MemoryWrite(0xAddress,$Processo,Value da modificare)
Torna al primo messaggio
Email Cerca Rispondi
29-12-2011 01:35 PM
Messaggio: #15
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



ho fatto così:
Codice:
$Process = _MemoryOpen("NostaleX.dat")
$Adresse = 0x007CF224
Dim $Offset[3] = [0x0, 0x18,0x9C8]
While 1
$indirizzoletto =_MemoryPointerRead($Adresse,$Process,$Offset)
ToolTip("1" & $indirizzoletto,0,0)
WEnd
;--------------------- MODULO ----------------------------

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 _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 _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_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', $iv_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 _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

Dove sbaglio?? Sad
İmage
Torna al primo messaggio
Email WWW Cerca Rispondi
29-12-2011 02:19 PM
Messaggio: #16
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Codice:
#RequireAdmin
$Process = _MemoryOpen("NostaleX.dat")
$Adresse = 0x007CF224
Dim $Offset[3] = [0x0, 0x18,0x9C8]
While 1
$indirizzoletto =_MemoryPointerRead($Adresse,$Process,$Offset)
ToolTip("1" & $indirizzoletto[1],0,0)
WEnd
;--------------------- MODULO ----------------------------

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 _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 _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_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', $iv_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 _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


Ora funziona
Torna al primo messaggio
Email Cerca Rispondi
29-12-2011 03:40 PM
Messaggio: #17
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



Mi da come valore 0 costante... mentre invece CE con gli stessi dati mi da il valore corretto... cosa può essere?
İmage
(Questo messaggio è stato modificato l'ultima volta il: 29-12-2011 03:41 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
29-12-2011 04:00 PM
Messaggio: #18
RE: Aiuto pointer autoit!!!
~Shacker
Elite Coder
Utente Saggio
Utente Storico

Hackig is not a crime

Messaggi : 520

Registrato dal : Apr 2011

Reputazione : 85

Stato : Offline


Premi :



ho provato a fare così:
Codice:
#include <NomadMemory.au3>

dim $Nome_Processo_Del_Gioco = "NostaleX.dat"
dim $pointer = 0x007CF224
dim $primo_offset = 18
dim $secondo_offset = 9128
TrayTip("","waiting for game")
Do;fai
    ;niente
until not ProcessExists($Nome_Processo_Del_Gioco);finchè il processo $Nome_Processo_Del_Gioco non esiste
dim $MemHandle = _MemoryOpen(ProcessExists($Nome_Processo_Del_Gioco));nota: processexists ritorna il pid del processo specificato
dim $value_pointer=_MemoryRead($pointer, $MemHandle)
dim $address = $value_pointer + $secondo_offset
dim $value_address = _MemoryRead($address, $MemHandle)
dim $address = $value_address + $primo_offset
while 1


    while 1
        $Mem_Read    = _MemoryRead($address, $MemHandle)

        ToolTip($Mem_Read,0,0)

        Sleep(100)
    WEnd

_MemoryClose($MemoryOpen)
wend
valore costante 10 invece deve essere 0...

Ecco il pointer che devo leggere forse può servirti:
İmage
İmage
(Questo messaggio è stato modificato l'ultima volta il: 29-12-2011 04:02 PM da ~Shacker.)
Torna al primo messaggio
Email WWW Cerca Rispondi
29-12-2011 05:23 PM
Messaggio: #19
RE: Aiuto pointer autoit!!!
Narutomega96
Moderatori
Elite Coder
Rynn
Spammer
Utente Saggio
Utente Storico
Vip

Moderatore

Messaggi : 1,084

Registrato dal : Nov 2010

Reputazione : 213

Stato : Offline


Premi :



Codice:
#RequireAdmin

Global $Offset[3] = [0x0, 0x18,0x9C8]

$Process = _MemoryOpen(WinGetProcess("NosTale"))
While 1
$a =_MemoryPointerRead(0x007CF224, $Process, $Offset)
ToolTip($a[1],0,0)
sleep(10)
WEnd
;--------------------- MODULO ----------------------------

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 _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 _MemoryOpen($iv_Pid, $iv_DesiredAccess = 0x1F0FFF, $iv_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', $iv_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 _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

A me così mostra il punteggio Big Grin
Torna al primo messaggio
Email Cerca Rispondi
29-12-2011 05:58 PM
Messaggio: #20
RE: Aiuto pointer autoit!!!
Lawliet
Bannati
Utente Saggio
Utente Storico

Saccente Mode == ONLINE

Messaggi : 908

Registrato dal : Dec 2011


Stato : Offline


Premi :



<.<
Includi la libreria pointer..

#include <Pointer.au3>
Torna al primo messaggio
Email WWW Cerca Rispondi

PubblicitàLa tua pubblicità qui, clicca per informazioni e per le offerte!

Stanno visualizzando la discussione : 1 Ospite(i)

  • Versione stampabile
  • Invia ad un amico
  • Sottoscrivi questa discussione