Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 04:58

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[VB.net] Pointer verändern

Discussion on [VB.net] Pointer verändern within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
Question [VB.net] Pointer verändern

Hi.
Ich möchte in Visual Basic Pointer verändern.

Wie man Adressen verändert weiss ich:

Quote:
Memory.Writememory(p(0), &H2ED9B0, "16666", "4") 'Adresse, Value, Byte
Nur ändert sich die Adresse halt immer.

Nun möchte ich Pointer verändern.

Mein Modul:

Quote:
Module Memory
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Private Declare Function WriteProcessMemory Lib "kernel32" (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 WriteFloatMemory 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 Integer
Private Declare Function ReadFloat Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Int32, ByRef lpNumberOfBytesRead As Int32) As Boolean
Private Declare Function ReadProcessMemory 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 CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Public RBuff As Long
Public RBuff2 As Single
Public RBuff3 As Integer

Public Function Writememory(ByVal ProcessName As Process, ByVal Address As Integer, ByVal Value As Long, ByVal Bytes As Integer)
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)

WriteProcessMemory(processHandle, Address, Value, Bytes, Nothing)

CloseHandle(processHandle)

End Function

Public Function ReadFloat(ByVal ProcessName As Process, ByVal Address As Single)

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, Address, RBuff, 4, Nothing)

CloseHandle(processHandle)

Return RBuff

End Function

Public Function WriteFloat(ByVal ProcessName As Process, ByVal Address As Integer, ByVal Value As Single)

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)

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

CloseHandle(processHandle)

End Function

Public Function ReadLong(ByVal ProcessName As Process, ByVal Address As Integer)

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, Address, RBuff, 4, Nothing)

CloseHandle(processHandle)

Return RBuff

End Function

Public Function ReadFloatPointer(ByVal ProcessName As Process, ByVal Base As Integer, ByVal Offset As Short)

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

ReadFloat(processHandle, fullAddress, RBuff2, 4, Nothing)

Return RBuff2

CloseHandle(processHandle)

End Function

Public Function ReadLongPointer(ByVal ProcessName As Process, ByVal Base As Integer, ByVal Offset As Short, ByVal Bytes As Integer)

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

ReadProcessMemory(processHandle, fullAddress, RBuff3, Bytes, Nothing)

Return RBuff3

CloseHandle(processHandle)

End Function

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

Public Function WriteLongPointer(ByVal ProcessName As Process, ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Long, ByVal Bytes As Integer)

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

WriteProcessMemory(processHandle, fullAddress, Value, Bytes, Nothing)

CloseHandle(processHandle)

End Function

Public Function NOP(ByVal ProcessName As Process, ByVal Address As Integer, ByVal value As Integer)

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)

WriteProcessMemory(processHandle, Address, value, 1, Nothing)

CloseHandle(processHandle)

End Function


End Module
Geht das damit irgendwie?

Habe schon einen Pointer der auch funktioniert.

So sieht er aus:

Da sind auf dem Foto Fragzeichen, aber der Pointer geht, wenn ich meine CT datei wieder öffne.
Wie mache ich das nun?
Ich hoffe einer kann helfen.
Mfg. EasyFarm
EasyFarm is offline  
Old 11/04/2012, 03:11   #2
 
elite*gold: 0
Join Date: May 2010
Posts: 793
Received Thanks: 268
naja zuerst musst du die baseadresse des mudules(hier metin2.bin) herausfinden das geht mit process.modules, dann das modul metin2.bin suchen.

dann musst du schitt für schitt den pointer lesen also:
plevel1 = wert bei: basadresse + 002e..
plevel2 = wert bei: plevel1 + 420
endwert = wert bei: plevel2 + 66a
nkkk is offline  
Old 11/04/2012, 16:15   #3

 
EasyFarm's Avatar
 
elite*gold: 281
Join Date: May 2011
Posts: 1,552
Received Thanks: 946
So.
Hab jetzt versucht meinen Pointer erstmal auszulesen.

Quote:
MsgBox(Module1.ReadLongPointer(&H367FCB08, "420", 4))
ich habe schon alle Möglich Adressen probiert die da stehen wenn man doppelt auf den Pointer klickt. Immer kommt der Wert "0" raus.
Was mache ich falsch?

Modul:
Quote:
Module Module1
Public RBuff As Long
Public RBuff2 As Single
Public RBuff3 As Integer
Dim Form1 As Form1
Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Private Declare Function WriteProcessMemory Lib "kernel32" (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 WriteFloatMemory 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 Integer
Private Declare Function ReadFloat Lib "kernel32" Alias "ReadProcessMemory" (ByVal hProcess As IntPtr, ByVal lpBaseAddress As IntPtr, ByRef buffer As Single, ByVal size As Int32, ByRef lpNumberOfBytesRead As Int32) As Boolean
Private Declare Function ReadProcessMemory 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 CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer
Public Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer

Public Function Writememory(ByVal Address As Integer, ByVal Value As Long, ByVal Bytes As Integer)
Dim LOLLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If LOLLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, LOLLookUp(0).Id)
WriteProcessMemory(processHandle, Address, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function

Public Function ReadFloat(ByVal Address As Single)
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff, 4, Nothing)
CloseHandle(processHandle)
Return RBuff
End Function

Public Function WriteFloat(ByVal Address As Integer, ByVal Value As Single)
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
WriteFloatMemory(processHandle, Address, Value, 4, Nothing)
CloseHandle(processHandle)
End Function

Public Function ReadLong(ByVal Address As Integer)
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff, 4, Nothing)
CloseHandle(processHandle)
Return RBuff
End Function

Public Function ReadFloatPointer(ByVal Base As Integer, ByVal Offset As Short)
Dim fullAddress As Long
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
ReadFloat(processHandle, fullAddress, RBuff2, 4, Nothing)
Return RBuff2
CloseHandle(processHandle)

End Function

Public Function ReadLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
ReadProcessMemory(processHandle, fullAddress, RBuff3, Bytes, Nothing)
Return RBuff3
CloseHandle(processHandle)
End Function

Public Function WriteFloatPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Single)
Dim fullAddress As Long
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
WriteFloatMemory(processHandle, fullAddress, Value, 4, Nothing)
CloseHandle(processHandle)
End Function

Public Function WriteLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Long, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff, 4, Nothing)
fullAddress = RBuff + Offset
WriteProcessMemory(processHandle, fullAddress, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function

Public Function NOP(ByVal Address As Integer, ByVal value As Integer)
Dim KnightOnLineLookUp As Process() = Process.GetProcessesByName("metin2.bin")
If KnightOnLineLookUp.Length < 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, KnightOnLineLookUp(0).Id)
WriteProcessMemory(processHandle, Address, value, 1, Nothing)
CloseHandle(processHandle)
End Function
End Module
EasyFarm is offline  
Reply


Similar Threads Similar Threads
C++ Pointer-Wert verändern
07/14/2010 - C/C++ - 6 Replies
Hi, also ich fange grade an mich mit C++ zu beschäftigen und wollte jetzt mal nen kleinen Speedhack für Metin2 machen, nur habe ich leider keine Ahnung wie ich dass mit nem Pointer (lvl 2 Pointer) in C++ mache (mit ner normalen Adresse habe ich es schon geschafft). Per Sufu und Google habe ich auch keine wirkliche Hilfe gefunden.
Frage: Wie findet man zB UG Pointer?Speed pointer?
03/30/2010 - Kal Online - 2 Replies
kann mir einer sagen wie man UG/Speed pointer finden kann usw^^´ß#
Shops Verändern,FileZilla Verbinden, & Map Verändern..
02/26/2010 - Metin2 Private Server - 16 Replies
Hallo Comm. Ich brauche hilfe bei Filezilla Wächter Des Dorfplatzes zu Entbuggen. Ich brauche hilfe bei Maps Verändern. Ich brauche hilfe bei Shops Items zu verändern. Ich brauche hilfe bei Filezilla Zu Verbinden. Mfg Tod<3
Guild Wars Pointer nur lesen nicht verändern!
01/11/2009 - General Coding - 4 Replies
Hi, Ich suche wie viele zuvor auch Pointer oder statische Adressen in Guild Wars. Diese möchte ich nicht verändern ich möchte sie jediglich auslesen. Eigendlich benötige ich nur die Position und eventuel die Energie Kann mir jmd helfen?



All times are GMT +1. The time now is 04:58.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.