Simples Gamehacking via Memoryediting

03/11/2010 15:49 HardCore.1337#16
Write steht für schreiben
Wenn du was lesen willst gibt es Read ;)
03/11/2010 17:43 Bruno1212#17
Ich muss ja erst die memory schreiben bevor ich sie auslesen kann!


Mfg Bruo1212
03/26/2010 13:54 Shishidump#18
Hey,

Wie mach ich das mit dem Pointer?

Habe das jetzt so versucht, aber es geht nicht, da mein Offsetkein Short ist..
Aber ich weis nicht wie ich es anders hinbekomm.

Quote:
Label2.Text = ReadLongPointer(Prozess1, &H105F1A58, &HFC46C, 4)
03/31/2010 18:03 LemoniscooL#19
Hi!

@Shishidump mach es so:
Code:
Dim BaseAdress As Integer = &H105F1A58
Dim Offset As Integer = &HFC46C
Label2.Text = ReadLongPointer(Prozess1, BaseAdress, Offset, 255)
so funktionierts bei mir..

greetz
04/09/2010 22:24 Elite-1337#20
Quote:
Originally Posted by LemoniscooL View Post
Hi!

@Shishidump mach es so:
Code:
Dim BaseAdress As Integer = &H105F1A58
Dim Offset As Integer = &HFC46C
Label2.Text = ReadLongPointer(Prozess1, BaseAdress, Offset, [COLOR="Red"]255[/COLOR])
so funktionierts bei mir..

greetz
wieso 255? sind doch i.d.R 4 Byte die man lesen will?

P.S.: das Ganze wird auf 64Bit ohne Änderungen wahrscheinlich nicht mehr funktionieren, da die Speicherverwaltung anders ist
04/18/2010 14:08 Rapante#21
Da ich noch neu bin im bereich der Coder habe ich mal eine frage: wie finde ich die Adresse der Leben in Cheat Engine raus?

Mfg Rapante
05/01/2010 23:28 KnifeHunter#22
Quote:
Originally Posted by Rapante View Post
Da ich noch neu bin im bereich der Coder habe ich mal eine frage: wie finde ich die Adresse der Leben in Cheat Engine raus?

Mfg Rapante
hi,

ich habe gerade erst mit dem memory editing angefangen.
das tutorial ist etwas unübersichtlich aber mit etwas vorkenntnissen durchaus verständlich.

was cheatengine angeht bin ich nicht besonders begeistert.
ich hingegen empfehle ArtMoney (Download: [Only registered and activated users can see links. Click Here To Register...])
dazu wählt man in der prozessliste das game und sucht nach dem entsprechenden wert.
dann filtert man so lange bis man nur noch einen speicherwert übrig hat.
diesen benutzt man dann.

für eine genaue beschreibung bitte PN an mich ;)

ansonsten ein großes THX für das TUT

KnifeHunter
05/02/2010 00:20 .Spongebob#23
wirkich nice tutorial
05/10/2010 20:49 germanhacker#24
Hab das hier probiert:
Code:
Public Class Form1
    Dim ExeName As String = "Tutorial"
    Dim Prozess1 As Process
    Dim pList() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses
    Dim MyLives As String

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        LabelActive.Text = "Game not found!"
        LabelActive.ForeColor = Color.Red
        TimerActualize.Enabled = True
        TimerActualize.Start()
    End Sub

    Private Sub TextBoxLives_Enter(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxLives.TextChanged
        TimerActualize.Stop()
        TimerActualize.Enabled = False
    End Sub
    Private Sub TextBoxLives_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxLives.TextChanged
        MyLives = TextBoxLives.Text
        TimerActualize.Start()
        TimerActualize.Enabled = True
    End Sub

    Private Sub TimerActualize_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TimerActualize.Tick
        pList = System.Diagnostics.Process.GetProcesses
        For Each proc As System.Diagnostics.Process In pList
            If proc.ProcessName = ExeName Then
                Prozess1 = proc
                LabelActive.ForeColor = Color.Green
                LabelActive.Text = "Game found!"
                TextBoxLives.Text = ReadLong(Prozess1, &HCD22720) 'Lebenszahl
                Exit Sub
            End If
            LabelActive.ForeColor = Color.Red
            LabelActive.Text = "Game not found!"
            TextBoxLives.Text = Nothing
        Next
    End Sub
    Private Sub SetLives()
        Writememory(Prozess1, &HCD22720, MyLives, "4")
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        pList = System.Diagnostics.Process.GetProcesses
        For Each proc As System.Diagnostics.Process In pList
            If proc.ProcessName = ExeName Then
                Prozess1 = proc
                LabelActive.ForeColor = Color.Green
                LabelActive.Text = "Game found!"
                If TextBoxLives.Text = Nothing Then
                    TextBoxLives.Text = "0"
                End If
                Call SetLives()
                Exit Sub
            Else
                LabelActive.ForeColor = Color.Red
                LabelActive.Text = "Game not found!"
            End If
        Next
    End Sub
End Class
Aber hat sich leider nichts getan...
Tutorial.exe konnte er finden, aber als ich in die Textbox "2" geschrieben habe und den Button betätigte, tat sich nichts >.<
08/06/2010 15:09 Nepumug#25
Klappt bei mir (Win7 64 bit) auch nicht :(
08/07/2010 16:49 Saberrider#26
Public Class Form1

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
LabelActive.Text = "Game not found!"
LabelActive.ForeColor = Color.Red
TimerActualize.Enabled = True
TimerActualize.Start()

Dim ExeName As String = Nksp
Dim Prozess1 As Process
Dim pList() As System.Diagnostics.Process = System.Diagnostics.Process.GetProcesses
Dim MyLives As String
End Sub
End Class




Fehler 1 Der Name "Nksp" wurde nicht deklariert.



was mach ich denn jetzt schon falsch?
08/08/2010 22:04 Mi4uric3#27
Du musst nksp in Anführungsstriche setzen.. :Facepalm:
Befass dich erstmal mit den VB.NET Grundlagen bevor du sowas hier probierst...
08/09/2010 18:12 Nepumug#28
Kannste bitte mal die Quelle für den Memory Editing Code posten?
08/13/2010 21:29 Mi4uric3#29
Quelle: Google. :awesome:
08/20/2010 16:50 monstaaa22#30
Quote:
Private Sub SetLives()
Writememory(Prozess1, &HCD22720, MyLives, "4")
End Sub
statt die 4 die 8 nehmen für 64 bit..