|
You last visited: Today at 06:38
Advertisement
MineSweeper Trainer Problem
Discussion on MineSweeper Trainer Problem within the .NET Languages forum part of the Coders Den category.
06/18/2015, 14:26
|
#1
|
elite*gold: 0
Join Date: Jul 2013
Posts: 3
Received Thanks: 0
|
MineSweeper Trainer Problem
Hey Leute,
ich wollte mich mal wieder bisschen in VB einüben und dachte ich mache mal einen MineSweeper Trainer, doch das krieg ich irgendwie nicht mehr zustande ^^.
Ich benutze das Standard Modul, =>
Habe den Static-Pointer, der wie folgt aussieht => "minesweeper.exe"+000AAA38
und die Offsets => 8 und 18.
Was würdet ihr machen?
Ich habe jetzt ein Timer gemacht und in den folgendes rein geschrieben, was offensichtlich nicht funktioniert:
Code:
WriteLongPointer("minesweeper.exe" + &HAAA38, &H18, TextBox1.Text, 4)
WriteLongPointer("minesweeper.exe" + &HAAA38, &H8, TextBox1.Text, 4)
Vielen dank im Voraus
Rick
|
|
|
06/18/2015, 18:03
|
#2
|
elite*gold: 0
Join Date: Jan 2015
Posts: 62
Received Thanks: 13
|
Quote:
Originally Posted by RickRolledYouAre
Hey Leute,
ich wollte mich mal wieder bisschen in VB einüben und dachte ich mache mal einen MineSweeper Trainer, doch das krieg ich irgendwie nicht mehr zustande ^^.
Ich benutze das Standard Modul, =>
Habe den Static-Pointer, der wie folgt aussieht => "minesweeper.exe"+000AAA38
und die Offsets => 8 und 18.
Was würdet ihr machen?
Ich habe jetzt ein Timer gemacht und in den folgendes rein geschrieben, was offensichtlich nicht funktioniert:
Code:
WriteLongPointer("minesweeper.exe" + &HAAA38, &H18, TextBox1.Text, 4)
WriteLongPointer("minesweeper.exe" + &HAAA38, &H8, TextBox1.Text, 4)
Vielen dank im Voraus
Rick
|
Klar funktioniert das nicht, du benutzt die falschen Parameter (e.g. "minesweeper.exe").
Ich würde einfach den Rückgabewert von OpenProcess() nach Long konvertieren, dann hast du die Basisaddresse des Zielprozesses mit der du dann weiterrechnen kannst.
|
|
|
06/19/2015, 18:32
|
#3
|
elite*gold: 0
Join Date: Jun 2015
Posts: 3
Received Thanks: 1
|
Maybe this source code will help you
Quote:
Private Declare Function OpenProcess Lib "kernel32" Alias "OpenProcess" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer
Private Declare Function WriteProcessMemory 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 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" Alias "CloseHandle" (ByVal hObject As Integer) As Integer
Public Declare Function GetAsyncKeyState Lib "user32" Alias "GetAsyncKeyState" (ByVal vKey As Long) As Integer
Public RBuff1 As Long
Public RBuff2 As Single
Public RBuff3 As Integer
'WriteMemory
Public Function WriteMemory(ByVal Address As Integer, ByVal Value As Long, ByVal Bytes As Integer)
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
WriteProcessMemory(processHandle, Address, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function
'ReadFloat
Public Function ReadFloat(ByVal Address As Single)
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff1, 4, Nothing)
CloseHandle(processHandle)
Return RBuff1
End Function
'WriteFloat
Public Function WriteFloat(ByVal Address As Integer, ByVal Value As Single)
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
WriteFloatMemory(processHandle, Address, Value, 4, Nothing)
CloseHandle(processHandle)
End Function
'ReadLong
Public Function ReadLong(ByVal Address As Integer)
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Address, RBuff1, 4, Nothing)
CloseHandle(processHandle)
Return RBuff1
End Function
'ReadFloatPointer
Public Function ReadFloatPointer(ByVal Base As Integer, ByVal Offset As Short)
Dim fullAddress As Long
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff1, 4, Nothing)
fullAddress = RBuff1 + Offset
ReadFloat(processHandle, fullAddress, RBuff2, 4, Nothing)
Return RBuff2
CloseHandle(processHandle)
End Function
'ReadLongPointer
Public Function ReadLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff1, 4, Nothing)
fullAddress = RBuff1 + Offset
ReadProcessMemory(processHandle, fullAddress, RBuff3, Bytes, Nothing)
Return RBuff3
CloseHandle(processHandle)
End Function
'WriteFloatPointer
Public Function WriteFloatPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Single)
Dim fullAddress As Long
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff1, 4, Nothing)
fullAddress = RBuff1 + Offset
WriteFloatMemory(processHandle, fullAddress, Value, 4, Nothing)
CloseHandle(processHandle)
End Function
'WriteLongPointer
Public Function WriteLongPointer(ByVal Base As Integer, ByVal Offset As Short, ByVal Value As Long, ByVal Bytes As Integer)
Dim fullAddress As Long
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
ReadProcessMemory(processHandle, Base, RBuff1, 4, Nothing)
fullAddress = RBuff1 + Offset
WriteProcessMemory(processHandle, fullAddress, Value, Bytes, Nothing)
CloseHandle(processHandle)
End Function
'NOP
Public Function NOP(ByVal Address As Integer, ByVal value As Integer)
Dim warrockLookUp As Process() = Process.GetProcessesByName("WarRock")
If warrockLookUp.Length = 0 Then
End
End If
Dim processHandle As IntPtr = OpenProcess(&H1F0FFF, 0, warrockLookUp(0).Id)
WriteProcessMemory(processHandle, Address, value, 1, Nothing)
CloseHandle(processHandle)
End Function
|
|
|
|
06/20/2015, 16:11
|
#4
|
elite*gold: 0
Join Date: Jul 2013
Posts: 3
Received Thanks: 0
|
Quote:
Originally Posted by hazejp
Klar funktioniert das nicht, du benutzt die falschen Parameter (e.g. "minesweeper.exe").
Ich würde einfach den Rückgabewert von OpenProcess() nach Long konvertieren, dann hast du die Basisaddresse des Zielprozesses mit der du dann weiterrechnen kannst.
|
danke für die schnelle Antwort aber irgendwie komm ich da nicht ganz klar,
schon sehr lange her das ganze, könntest du mir ein beispiel eventuell zeigen, ich bin da eher ein bildlicher Mensch?
Würde mich sehr freuen
Quote:
Originally Posted by H-Cheats
Maybe this source code will help you
|
is it the "VB.Net_UMM" Modul?
LG
Rick
|
|
|
06/22/2015, 15:38
|
#5
|
elite*gold: 0
Join Date: Jan 2015
Posts: 62
Received Thanks: 13
|
Quote:
Originally Posted by RickRolledYouAre
danke für die schnelle Antwort aber irgendwie komm ich da nicht ganz klar,
schon sehr lange her das ganze, könntest du mir ein beispiel eventuell zeigen, ich bin da eher ein bildlicher Mensch?
Würde mich sehr freuen
is it the "VB.Net_UMM" Modul?
LG
Rick
|
Ich könnte dir höchstens ein Beispiel in C# geben, da ich VB eigentlich nie benutze
|
|
|
 |
Similar Threads
|
Minesweeper für Desktop bei Windows 8?
05/04/2014 - Off Topic - 3 Replies
Hey,
wusste nicht, wo ich es reinstellen sollte, deshalb stell ich hier die Frage:
Gibt es bei Windows 8 Minesweeper auch für Desktop oder nur als App?
|
Minesweeper Bot
02/06/2014 - AutoIt - 11 Replies
OK, für manche (oder alle) dürfte ein Minesweeper Bot wohl "witzlos" sein, aber ich amüsiere mich köstlich.
Mein Bot arbeitet bisher mit MouseMove und macht was er soll, doch ich will mehr :p
Ich versuche die Mausklicks zu tätigen ohne das die Maus sich Visuel auf dem Bildschirm bewegt.
Ich bin auf meiner Suche über zwei doch etwas ältere Ansätze zu dem Thema gestolperte, aber so ganz "fällt der Groschen noch nicht"
Link1
Link2
|
[Tuturial] einen Minesweeper "wallhack" erstellen
08/31/2010 - Coding Tutorials - 10 Replies
Hallo leute
heute zeig ich euch wie ihr ein minesweeper "wallhack" erstellt.
da dies mein erstes Tuturial ist nicht wundern wenn es nicht so gut erklärt ist. ;)
Was ihr braucht:
-AutoIt v3 den editor (am besten noch Koda fürs design)
-Cheat Engine am besten v5.6
-Minesweeper (start ->alle Programme ->spiele -> minesweeper ( müsste bei den meisten windows PCs drauf sein ;) )
-"NomadMemory.au3" (downloadet es euch geht in euren AutoIt ordner geht dort auf den Ordner "Include" und fügt...
|
[question] minesweeper with cheat engine
06/04/2010 - General Coding - 1 Replies
i understand how to find the address for changeing the flags...and changing the time...but how do i figure out what address stores the values of the bombs? if the value never changes?
|
[C++] Source: Minesweeper Bot
01/08/2009 - C/C++ - 0 Replies
Moin,
Hier mal einen Minesweeper Bot den ich geschrieben habe. Wer sich ein bisschen mit ReadProcessMemory beschäftigen möchte, kann, denke ich, etwas aus dem Source lernen.
100% von mir geschrieben ;). Bei Fragen -> PM oder hier im Thread.
|
All times are GMT +1. The time now is 06:39.
|
|