Home of Gamehacking - Archiv
Pointer Schreiben? - Druckversion

+- Home of Gamehacking - Archiv (http://archiv-homeofgamehacking.de)
+-- Forum: Coding (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=15)
+--- Forum: Visual Basic 6, VB.NET (http://archiv-homeofgamehacking.de/forumdisplay.php?fid=19)
+--- Thema: Pointer Schreiben? (/showthread.php?tid=276)

Seiten: 1 2 3 4 5 6


Pointer Schreiben? - chesar - 13.03.2011

Moin Moin,

Wie kann ich eigentlich am besten ein Pointer in VB Schreiben?
Im Trainermodul habe ich nichts passendes gefunden.
z.b. für Adresse vom Poitner 1969AC8 Offset 10


RE: Pointer Schreiben? - DNA - 13.03.2011

Ich überarbeite derweil das Trainermodul und füge eine PointerFunktion hinzu,
dauert allerdings noch ein bisschen.


RE: Pointer Schreiben? - Acubra - 13.03.2011

Hey,
sollte so funktionieren:
[code=vb]
Public Function WritePointer(ByVal Pointer As Int32, ByVal Buffer As Int32, ByVal OffSet() As Int32)
For Each I As Integer In OffSet
ReadProcessMemory(pHandle, Pointer, Pointer)
Pointer += I
Next
WriteProcessMemory(pHandle, Pointer, Buffer, 4, 0)
Return 0
End Function
[/code]


RE: Pointer Schreiben? - chesar - 13.03.2011

Hmm
könntest du mit zeigen wo ich das Offset und die P Adresse rein Schreinen muss?
bekomme bei mir nur Fehler -.-


RE: Pointer Schreiben? - Acubra - 13.03.2011

(13.03.2011, 20:26)chesar schrieb: Hmm
könntest du mit zeigen wo ich das Offset und die P Adresse rein Schreinen muss?
bekomme bei mir nur Fehler -.-

Hey,
du musst einfach nur die Funktion mit den richtigen Parametern aufrufen. Pointer und Buffer sind normale Variablen vom Typ Integer und OffSet ist ein Array vom Typ Integer.


RE: Pointer Schreiben? - chesar - 14.03.2011

Versteh das alles nicht so richtig -.-

Hab hier noch was anderes gefunden.

Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Public Function WriteFloatPointer(ByVal ProcessName As Process, ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Single)

        Dim fullAddress As Long

        Dim GameLookUp As Process() = Process.GetProcessesByName(ProcessName.ProcessName)

        If GameLookUp.Length = 0 Then

            End

        End If

        Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, GameLookUp(0).Id)

        ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)

        fullAddress = RBuff + Offset

        WriteFloatMemory(processHandle, fullAddress, Value, 4, Nothing)

        CloseHandle(processHandle)

    End Function


Wie kann ich das Schreiben?


RE: Pointer Schreiben? - Acubra - 14.03.2011

Hey,
du weisst schon das in deinem Codeschnipsel lediglich gecheckt wird ob das Spiel schon gestartet wurde?

Also musst du jetzt, nachdem du das ProcessHandle via Process.GetProcessesByName bekommen hast, in den Prozess via WriteProcessMemory deinen Wert schreiben. Wenn du also einen Pointer hast dann musst du nach folgendem Schema vorgehen:

Code:
1
2
3
4
5
6
7
ReadProcessMemory(pHandle, StaticAddress, Buffer) ;pHandle == ProcessHandle und StaticAddress == die statische Adresse, Buffer == Variable in der das Gelesene gespeichert wird

Add Buffer, Offset_X
ReadProcessMemory(pHandle, Buffer, Buffer)
Add Buffer, Offset_X+1
ReadProcessMemory(pHandle, Buffer, Buffer)
u.s.w

und dann haste iwan deine Adresse und schreibst dann via WriteProcessMemory deinen Wert dahin.


RE: Pointer Schreiben? - DNA - 14.03.2011

Um mit dem jetztigen VB.Net TrainerModul nen Pointer + Offset (1969AC8 + 10) auszulesen,
gehst du folgendermaßen vor...


[code=VB]
Dim pointer As Int32
Dim value As Int32

pointer = Read_Long(&H1969AC8)
value = Read_Long(pointer + &H10)[/code]


~DNA


RE: Pointer Schreiben? - chesar - 15.03.2011

Und um ein Pointer zu schreiben?

Write_Long geht leider net :(


RE: Pointer Schreiben? - DNA - 15.03.2011

Um wieder etwas zu schreiben folgendes:

[code=VB]
Dim pointer As Int32

pointer = Read_Long(&H1969AC8)
Write_Long(pointer + &H10, WERT)[/code]

wobei WERT natürlich zu ersetzen ist.