vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
SEPA-Dateien erstellen inkl. IBAN-, BLZ-/Kontonummernprüfung  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
WriteProcessMemory -> Zugriff verweigert? 
Autor: ccman32
Datum: 05.12.12 20:11

Hallo,

ich bin momentan dabei, einen hack trainer mit VB.NET für ein Spiel zu erstellen. Nun habe ich es zum Testen an ein paar Leute geschickt und ungefähr 50% sagen mir, sie würden als Fehlermeldung "Zugriff verweigert" bekommen. Hier der Code der Memory write Funktionen:
<DllImport("kernel32.dll")> _
    Public Function ReadProcessMemory(ByVal hProcess As IntPtr, ByVal _
    lpBaseAddress As IntPtr, <[In](), Out()> ByVal buffer As Byte(), ByVal _
    size As UInt32, ByRef lpNumberOfBytesRead As IntPtr) As Int32
    End Function
 
    <DllImport("kernel32.dll")> _
    Public Function WriteProcessMemory(ByVal hProcess As IntPtr, ByVal _
    lpBaseAddress As IntPtr, <[In](), Out()> ByVal buffer As Byte(), ByVal _
    size As UInt32, ByRef lpNumberOfBytesWritten As IntPtr) As Int32
    End Function
 
    Public Function WriteInt32(ByVal P As Process, ByVal memAdr As Int32, ByVal _
      value As Integer) As Boolean
        Return WriteBytes(P, memAdr, BitConverter.GetBytes(value), 4)
    End Function
 
    Public Function ReadInt32(ByVal P As Process, ByVal memAdr As Int32) As _
      Integer
        Return BitConverter.ToInt32(ReadBytes(P, memAdr, 4), 0)
    End Function
 
    Private Function ReadBytes(ByVal P As Process, ByVal memAdr As Long, ByVal _
      bytesToRead As UInteger) As Byte()
        Dim ptrBytesRead As IntPtr
        Dim buffer As Byte() = New Byte(bytesToRead - 1) {}
        ReadProcessMemory(P.Handle, New IntPtr(memAdr), buffer, bytesToRead, _
          ptrBytesRead)
        Return buffer
    End Function
 
    Private Function WriteBytes(ByVal P As Process, ByVal memAdr As Long, ByVal _
      bytes As Byte(), ByVal length As UInteger) As Boolean
        Dim bytesWritten As IntPtr
        Dim result As Integer = WriteProcessMemory(P.Handle, New IntPtr( _
          memAdr), bytes, length, bytesWritten)
        Return result <> 0
    End Function
Brauche ich irgendwelche besonderen Rechte, die manch ein User nicht hat, um Variablen im Arbeitsspeicher zu verändern (Hauptsächlich benutze ich die WriteInt32 - Funktion)?

Beitrag wurde zuletzt am 05.12.12 um 20:12:55 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
WriteProcessMemory -> Zugriff verweigert?1.357ccman3205.12.12 20:11

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel