Results 1 to 3 of 3
  1. #1
    Shady Deal's Avatar
    Join Date
    Sep 2014
    Gender
    male
    Posts
    2
    Reputation
    10
    Thanks
    0

    Unhappy Memory Hacking using pointer and offset(s)

    Hey there . I want to hack memory of 1 game , i found pointer and offset but i have no idea how to change value using vb.net . I parsed mpgh and found some classes which allow to change value of address , but what about pointer and offset ? In google i found code
    Code:
    WriteDMAInteger("Solitaire", &H38F910, Offsets:={&H14}, Value:=TextBox1.Text, Level:=1, nsize:=4)
    but its not work . Can you give hints or working module to hack memory using offset and pointer ? Im soo sry for my bad English =(

  2. #2
    Raydenman's Avatar
    Join Date
    Nov 2013
    Gender
    male
    Location
    Italy
    Posts
    261
    Reputation
    10
    Thanks
    810
    My Mood
    Amused
    Quote Originally Posted by Shady Deal View Post
    Hey there . I want to hack memory of 1 game , i found pointer and offset but i have no idea how to change value using vb.net . I parsed mpgh and found some classes which allow to change value of address , but what about pointer and offset ? In google i found code
    Code:
    WriteDMAInteger("Solitaire", &H38F910, Offsets:={&H14}, Value:=TextBox1.Text, Level:=1, nsize:=4)
    but its not work . Can you give hints or working module to hack memory using offset and pointer ? Im soo sry for my bad English =(
    The code is incomplete.
    You need to put a Sub routine with these arguments like this:
    Code:
    Sub WriteDMAInteger(ByVal Process As String, ByVal ????? As ????, ByVal Offset As ?????, ByVal Input As String, ByVal level As Integer, ByVal ???? As ?????)
    ---
    End Sub
    Get the code and I will try to help you

  3. #3
    Shady Deal's Avatar
    Join Date
    Sep 2014
    Gender
    male
    Posts
    2
    Reputation
    10
    Thanks
    0
    Code:
    Module ReadWritingMemory
        Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
    
        Private Declare Function WriteProcessMemory1 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
        Private Declare Function WriteProcessMemory2 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Single
        Private Declare Function WriteProcessMemory3 Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Private Declare Function ReadProcessMemory1 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Integer, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Integer
        Private Declare Function ReadProcessMemory2 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Single, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Single
        Private Declare Function ReadProcessMemory3 Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As Integer, ByVal lpBaseAddress As Integer, ByRef lpBuffer As Long, ByVal nSize As Integer, ByRef lpNumberOfBytesWritten As Integer) As Long
    
        Const PROCESS_ALL_ACCESS = &H1F0FF
    
    Public Function WriteDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Integer, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1) Next WriteInteger(Process, lvl, Value, nsize) Return True Catch ex As Exception Return False End Try End Function
    Public Function ReadDMAInteger(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Integer Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadInteger(Process, lvl, nsize) + Offsets(i - 1) Next Dim vBuffer As Integer vBuffer = ReadInteger(Process, lvl, nsize) Return vBuffer Catch ex As Exception End Try End Function Public Function WriteDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Single, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1) Next WriteFloat(Process, lvl, Value, nsize) Return True Catch ex As Exception Return False End Try End Function Public Function ReadDMAFloat(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Single Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadFloat(Process, lvl, nsize) + Offsets(i - 1) Next Dim vBuffer As Single vBuffer = ReadFloat(Process, lvl, nsize) Return vBuffer Catch ex As Exception End Try End Function Public Function WriteDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Value As Long, ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Boolean Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1) Next WriteLong(Process, lvl, Value, nsize) Return True Catch ex As Exception Return False End Try End Function Public Function ReadDMALong(ByVal Process As String, ByVal Address As Integer, ByVal Offsets As Integer(), ByVal Level As Integer, Optional ByVal nsize As Integer = 4) As Long Try Dim lvl As Integer = Address For i As Integer = 1 To Level lvl = ReadLong(Process, lvl, nsize) + Offsets(i - 1) Next Dim vBuffer As Long vBuffer = ReadLong(Process, lvl, nsize) Return vBuffer Catch ex As Exception End Try End Function Public Sub WriteNOPs(ByVal ProcessName As String, ByVal Address As Long, ByVal NOPNum As Integer) Dim C As Integer Dim B As Integer If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Sub End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Sub End If B = 0 For C = 1 To NOPNum Call WriteProcessMemory1(hProcess, Address + B, &H90, 1, 0&) B = B + 1 Next C End Sub Public Sub WriteXBytes(ByVal ProcessName As String, ByVal Address As Long, ByVal Value As String) If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Sub End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Sub End If Dim C As Integer Dim B As Integer Dim D As Integer Dim V As Byte B = 0 D = 1 For C = 1 To Math****und((Len(Value) / 2)) V = Val("&H" & Mid$(Value, D, 2)) Call WriteProcessMemory1(hProcess, Address + B, V, 1, 0&) B = B + 1 D = D + 2 Next C End Sub Public Sub WriteInteger(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Integer, Optional ByVal nsize As Integer = 4) If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Sub End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Sub End If Dim hAddress, vBuffer As Integer hAddress = Address vBuffer = Value WriteProcessMemory1(hProcess, hAddress, CInt(vBuffer), nsize, 0) End Sub Public Sub WriteFloat(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Single, Optional ByVal nsize As Integer = 4) If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Sub End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Sub End If Dim hAddress As Integer Dim vBuffer As Single hAddress = Address vBuffer = Value WriteProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0) End Sub Public Sub WriteLong(ByVal ProcessName As String, ByVal Address As Integer, ByVal Value As Long, Optional ByVal nsize As Integer = 4) If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Sub End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Sub End If Dim hAddress As Integer Dim vBuffer As Long hAddress = Address vBuffer = Value WriteProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0) End Sub Public Function ReadInteger(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Integer If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Function End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Function End If Dim hAddress, vBuffer As Integer hAddress = Address ReadProcessMemory1(hProcess, hAddress, vBuffer, nsize, 0) Return vBuffer End Function Public Function ReadFloat(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Single If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Function End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Function End If Dim hAddress As Integer Dim vBuffer As Single hAddress = Address ReadProcessMemory2(hProcess, hAddress, vBuffer, nsize, 0) Return vBuffer End Function Public Function ReadLong(ByVal ProcessName As String, ByVal Address As Integer, Optional ByVal nsize As Integer = 4) As Long If ProcessName.EndsWith(".exe") Then ProcessName = ProcessName.Replace(".exe", "") End If Dim MyP As Process() = Process.GetProcessesByName(ProcessName) If MyP.Length = 0 Then MessageBox.Show(ProcessName & " isn't open!") Exit Function End If Dim hProcess As IntPtr = OpenProcess(PROCESS_ALL_ACCESS, 0, MyP(0).Id) If hProcess = IntPtr.Zero Then MessageBox.Show("Failed to open " & ProcessName & "!") Exit Function End If Dim hAddress As Integer Dim vBuffer As Long hAddress = Address ReadProcessMemory3(hProcess, hAddress, vBuffer, nsize, 0) Return vBuffer End Function End Module
    Here is the module that i use in my project . Im using marked function , have a look pls . I seen this module in some youtube tutorials and they hacking memory by puting this part of code
    Code:
    WriteDMAInteger("Proc", &Haddress, Offsets:={&Hoffset1}, Value:=value, Level:=1, nsize:=4)
    in button click event and the program works for them . For me its just nothing heppen when im click the button . My pointer and offset works fine in CE . As always sry for bad English )

Similar Threads

  1. [Help] Help With Memory Editor Class - Using Pointers And offsets
    By zassadgh2 in forum Visual Basic Programming
    Replies: 10
    Last Post: 12-10-2013, 09:43 AM
  2. [Source Code] Some Latest Pointers and Offsets (After Apocalypse Patch)
    By Ryuzaki™ in forum CrossFire PH Discussions
    Replies: 2
    Last Post: 03-09-2012, 10:42 PM
  3. [Request] Need pointer and offsets
    By badboy3 in forum CrossFire Hack Coding / Programming / Source Code
    Replies: 2
    Last Post: 12-28-2011, 02:17 PM
  4. MapleStory Pointers And Offsets v1.0
    By Dreamer in forum MapleStory Hack Coding/Source Code
    Replies: 2
    Last Post: 08-22-2011, 12:35 AM
  5. Pointers and Offsets
    By aanthonyz in forum C++/C Programming
    Replies: 8
    Last Post: 03-03-2011, 02:37 AM