Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin

Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Texte und Ebooks
Autor
Nachricht
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250

[Text] GameTrainer - Statische Adresse Freezen in Vb.Net
Verfasst am: 23.12.2007, 17:02

So ich habe es mir mal erlaubt das Tut von Kaali in Vb.Net umzusetzen Very Happy

Das Vb6-Tut findet ihr hier: http://www.vb-x.org/viewtopic.php?t=1860

Die "as Any" hab ich einfach mal durch Integer ersetzt, vll nicht die eleganteste Lösung aber mit Pinball hats schonmal funtkioniert. Wer nen besseren Vorschlag hat bitte posten. Könnte mir gut vorstellen dass die aktuelle Variante etwas buggy ist :s

Vondaher müssen die Deklarationen so aussehen:

Code:

Public Declare Function ReadProcessMem 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

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

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Integer, ByRef lpdwProcessId As Integer) As Integer

Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Integer, ByVal bInheritHandle As Integer, ByVal dwProcessId As Integer) As Integer

Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Integer) As Integer

Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Integer) As Short

Declare Function Hotkey Lib "user32" Alias "GetAsyncKeyState" (ByVal key As Integer) As Short

Public Function WPM(ByRef gamewindowtext As String, ByRef Address As Integer, ByRef Value As Integer, ByRef bytes As Byte) As Object
        Dim handle As Integer
        Dim processID As Integer
        Dim ProcessHandle As Integer
        handle = FindWindow(vbNullString, gamewindowtext)
        GetWindowThreadProcessId(handle, processID)
        ProcessHandle = OpenProcess(&H1F0FFF, True, processID)
        WriteProcessMemory(ProcessHandle, Address, Value, bytes, 0)
        CloseHandle(ProcessHandle)
End Function

Public Function WPMbuf(ByRef gamewindowtext As String, ByRef Address As Integer, ByRef Value As Byte, ByRef bytes As Byte) As Object
        Dim handle As Integer
        Dim processID As Integer
        Dim ProcessHandle As Integer
        handle = FindWindow(vbNullString, gamewindowtext)
        GetWindowThreadProcessId(handle, processID)
        ProcessHandle = OpenProcess(&H1F0FFF, True, processID)
        WriteProcessMemory(ProcessHandle, Address, Value, bytes, 0)
        CloseHandle(ProcessHandle)
End Function


Public Function RPM(ByRef gamewindowtext As String, ByRef Address As Integer, ByRef Value As Integer, ByRef bytes As Integer) As Object
        Dim handle As Integer
        Dim processID As Integer
        Dim ProcessHandle As Integer
        handle = FindWindow(vbNullString, gamewindowtext)
        GetWindowThreadProcessId(handle, processID)
        ProcessHandle = OpenProcess(&H1F0FFF, True, processID)
        ReadProcessMem(ProcessHandle, Address, Value, bytes, 0)
        CloseHandle(ProcessHandle)
End Function

_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
no.Okie_
Newbie
Newbie

Anmeldedatum: 23.12.2007
Beiträge: 2


Verfasst am: 23.12.2007, 22:39

Unten steht als Warning

Function 'WPM' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.

Soll irgendetwas mit "End Function" sein.

Wenn ich das Programm builde & es ausführe & dann im Game schieße, schließt sich das Game mit der Meldung "Memory Access Violating"
_________________
 
Topmaster_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 15.09.2007
Beiträge: 32


Verfasst am: 03.01.2008, 07:50

DAnke Bahamut das du das in VB.Net umgesetzt hast:)
Nur ne Frage kann ich irgenwie die Interger-variable auslesen??
Weil ich möchte die nicht verändern sondern auslesen.

So z.b ich habe z.b WoW,Silkroad oder irgenwein mmopg wo die lvl,hp,mp anzeige ist(im game) die kann man ja herrauslesen von den dma-adressen die sich nicht verändern.
Kann man das dann auch irgenwie in VB.net umsetzten das z.b in label1.Text = DAs herrausgelesene ist???
IsT das dann auch die Selbe deklaration was für befehle muss man bentzten?

Mfg.TOpmaster
 
Kaali_
Tutorial Leser
Tutorial Leser

Anmeldedatum: 14.12.2007
Beiträge: 42


Verfasst am: 03.01.2008, 09:39

Sehr schön Wink... bald kann jeder selbst seine Game-Trainer bauen Very Happy Wink Mr. Green Mr. Green

Gruß Kaali
 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 03.01.2008, 10:18

Zitat:
Function 'WPM' doesn't return a value on all code paths. A null reference exception could occur at run time when the result is used.


Ist ganz normal, funktioniert deshalb trotzdem.

Zitat:
Wenn ich das Programm builde & es ausführe & dann im Game schieße, schließt sich das Game mit der Meldung "Memory Access Violating"


Hm würd mal sagen dann liegts eher am Spiel, mit Pinball z.b funktionierts wunderbar.

Zitat:
Nur ne Frage kann ich irgenwie die Interger-variable auslesen??
Weil ich möchte die nicht verändern sondern auslesen.


Da musst dich an Kaali wenden, ich habs nur für Vb.Net konvertiert ^^
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
Rausch_
Poster
Poster

Anmeldedatum: 03.11.2007
Beiträge: 164


Verfasst am: 03.01.2008, 11:15

@ bahamut: poste doch bitte mal deinen code und den poke den du für pinnbal nimmst. weil bei mir klappt des irgendwie net.
mfg
_________________


 
Bahamut_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 12.12.2006
Beiträge: 250


Verfasst am: 03.01.2008, 15:42


Code:

'Alle Deklarationen von oben

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Call WPM("3D-Pinball für Windows - Space Cadet", &H101757C, &H90909090, 4)

End Sub


Bezüglich &H90909090 und dem Unfreezen kann ich nur auf den orginal Thread verweisen - es ist eigentlich alles wie in VB6 nur die Deklarationen sind anders.
_________________
VB.Net-Compiler: http://www.microsoft.com/germany/express/download/default.aspx
VB.Net-eBook: http://www.galileocomputing.de/openbook/visual_basic/
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB.NET] Texte und Ebooks

Tags: declare function, byref value, text, byval

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge [suche] Tuturials winsock & daten senden 869 09.06.2011, 12:19
Keine neuen Beiträge [Video] *.dll & *.ocx Installer 2433 06.03.2008, 20:19
Keine neuen Beiträge ListView speichern & laden 1242 05.08.2008, 12:32
Keine neuen Beiträge Registry & Co Fragen 1101 03.05.2007, 09:57
Keine neuen Beiträge Listbox speichern & laden 2047 22.03.2007, 20:25
 



[ Time: 0.2957s ][ Queries: 105 (0.0343s) ][ GZIP on - Debug on ]