Giriş yap
En iyi yollayıcılar
Hello EMO | ||||
EMO | ||||
eMoStyLe | ||||
BesimBICER | ||||
GameKinG | ||||
Crysis | ||||
~>!.DεvιLρяιεsт.!<~ | ||||
MeTaL | ||||
TrueCrime | ||||
djhayal3t |
Istatistikler
Toplam 203 kayıtlı kullanıcımız varSon kaydolan kullanıcımız: crayzboy76
Kullanıcılarımız toplam 1186 mesaj attılar bunda 862 konu
Arama
Sosyal yer imi
Sosyal bookmarking sitesinde Emo, Emo nedir, Emo resimleri, Emo Kıyafetleri, Emo Sözleri, Emo Oyunları, EmoTurkey, Emo Nickler, Emo Avatarları, Punk, Punk Resimleri, Punk Avatarları, Rock, Rock Resimleri, Rock Avatarları, Msn Nickleri, Msn Avatarları, Müzik adresi saklayın ve paylaşın
Sosyal bookmarking sitesinde EMO Style ForumPro - Hos Geldiniz adresi saklayın ve paylaşın
Kimler hatta?
Toplam 1 kullanıcı online :: 0 Kayıtlı, 0 Gizli ve 1 Misafir Yok
Sitede bugüne kadar en çok 217 kişi C.tesi Tem. 29, 2017 1:46 am tarihinde online oldu.
En son konular
Reklam
[Tutorial] GameHacking mit VB.Net [German]
1 sayfadaki 1 sayfası
[Tutorial] GameHacking mit VB.Net [German]
[QUOTE=*GuideMan*;3883468]
[SIZE="7"]GameHacking mit VB.Net[/SIZE] by *GuideMan*
In diesem Tutorial werde ich euch zeigen wie man mit Cheat Engine und anschließend mit Visual Basic die Punkteanzahl in Solitär verändern kann.
Benötigte Software:
- Cheat Engine 5.5
- Visual Basic 2008 Express Edition
Zunächst öffnen wir Solitär (XP: Start > Alle Programme > Spiele > Solitär):
Gut. Als nächstes öffnen wir Cheat Engine und wählen den Prozess "sol.exe" aus. (Dieser steht für "Solitär.exe"):
In Cheat Engine haben wir nun ein umfangreiches Interface.
Ich habe auch das in diesem Bild beschrieben:
So. Da wir jetzt in Solitär 0 Punkte haben, suchen wir jetzt einfach mal nach 0.
Aber wie geht das?
Ihr gebt im Suchfeld "0" ein und klickt auf "First Scan".
Jetzt sucht Cheat Engine im Prozess "sol.exe" (Solitär) nach dem Wert 0.
Oh, jetzt haben wir aber ganz schön viele Adressen im Adress Fenster:
Das sind jetzt alles Adressen die den Wert "0" enthalten.
Jetzt wollen wir aber nur die Punkte Adresse haben.
Das heist wir spielen jetzt in Solitär solange bis wir einige Punkte haben.
Sagen wir, wir spielen solange bis wir 5 Punkte haben.
Das müsste ziemlich schnell gehen.
Jetzt wechseln wir schnell wieder zu Cheat Engine und geben im Suchfeld "5" ein und klicken auf "Next Scan"! Jetzt sucht Cheat Engine nach einem Wert der zuerst 0 war, jetzt aber 5 ist:
Jetzt kann es aber durchaus vorkommen das trotzdem noch sehr viele Adressen da sind.
Jetzt warten wir einfach bis in Solitär die Punkte wieder auf 0 gefallen sind und suchen in Cheat Engine nach 0. Wir klicken natürlich wieder auf "Next Scan".
Cheat Engine sucht jetzt nach einem Wert der zuerst "0" war, dann "5" wurde und jetzt wieder "0" ist.
Jetzt müsste nur noch eine Adresse übrig bleiben:
Das ist jetzt unsere Punkte Adresse.
Wenn wir jetzt doppelt auf die Adresse klicken, wird die Adresse unten hinzugefügt:
Jetzt können wir den Wert bliebig verändern.
Dazu klicken wir mit der Rechten Maustaste auf die Adresse im Unteren Fenster und klicken auf "Change Record" und dann auf "Value".
Jetzt öffnet sich ein kleines Fenster in dem wir einen neuen Wert eingeben können:
Dann klicken wir auf "OK" und wechseln zu Solitär.
Dort ist jetzt der neue Wert übernommen worden:
So, das war jetzt nicht sehr schwer, da die meiste Arbeit von Cheat Engine erledigt wurde.
Doch jetzt wollen wir diese mit Visual Basic.Net erledigen.
Zuerst öffnen wir die Microsoft Visual Basic 2008 Express Edition.
Jetzt haben wir ein noch größeres Interface als in Cheat Engine am Bildschrim.
Dieses werde ich euch auch jetzt wieder erklären:
Jetzt klicken wir oben auf "Datei" und dann auf "Neues Projekt".
Jetzt kommt ein Fenster auf dem wir verschiedene Vorlagen auswählen können.
Unter anderem gibt es dort auch Vorlagen für Hacks (*.dll) Files und ein Normales Programm.
Da wir nur Solitär "hacken" wollen, brauchen wir keine *.dll sondern nur ein Normales Programm.
Dazu wählen wir die "Windows Form-Anwendung" aus.
Jetzt können wir unserem Hack noch einen Namen geben. Nennen wir das Projekt doch "Solitär Hack".
Dann klicken wir auf "OK".
Die Visual Basic Express Edition wird nun unser Projekt vorbereiten.
Das kann einige Sekunden dauern.
Sobald dies geschehen ist, sehen wir wieder ein sehr umfangreiches Interface das ich wieder hier beschrieben habe:
Zunächst ziehen wir einen Button auf die Form.
Dazu klicken wir auf den Toolbox Button der Links neben der Form ist.
Dann öffnet sich ein Fenster in dem wir viele Steuerelemente auswählen können.
Die wichtigsten sind:
- Button
- Label
- Textbox
- Checkbox
- Radiobox
- Listbox
Wir klicken auf den Button und ziehen ihn auf die Form.
Dann klicken wir doppelt auf den Button.
Jetzt öffnet sich ein Codefenster:
Diese wird bei jeder Form benötigt.
Subs und Funktionen können nur ein einer gültigen Klasse (Class) ausgeführt werden.
Auch diese kann nur in einer gültigen Klasse (Class) getätigt werden.
Jetzt schreiben wir zwischen
Mit dieser Zeile ändern wir die Punkte bei Solitär in "500".
"p" ist der Prozess "sol.exe". Dies müssen wir angeben damit das Programm weiß in welchen Prozess die Adresse geändert werden muss.
"&HAA0D8" ist die Adresse des Wertes der Punkte.
"500" ist der Wert in die die Punkte geändert werden.
"4" sind die Bytes. Das ist für uns unwichtig.
So aber nun wird die stelle
"Memory.Write(p, "&HAA0D8", "505", "4")" blau unterringelt.
Warum?
Ganz einfach. Weil Visual Basic nicht weis was "Memory.Write" ist.
Um das Problem zu beheben klicken wir in der Toolleiste auf das 3. Symbol von links.
Dann öffnet sich ein Fenster.
Dort wählen wir das "Modul" aus und nennen es Memory.
Jetzt löschen wir den gesammten Code der in der Memory.vb ist und schreiben folgenden Code hinein:
Diese Code braucht nicht kommentiert werden da er nur eine vereinfachung der Windows API ist.
Er ermöglicht euch das schreiben von Memory Hacking in VB.Net.
Wenn ihr nun F5 drückt, startet das Programm.
Dann startet ihr Solitär und klickt auf den Button im Solitär Hack.
Jetzt müsstet ihr 500 Punkte haben. Oder halt die Punktanzahl die ihr im Code eingegeben habt.
Das war die überarbeitete Version von *GuideMan*
Ich hoffe das ihr das Tutorial verstanden habt. Wenn ja könnt ihr dieses Beispiel jetzt auf alles andere wie Online Games, Flash Games usw. übertragen.
COPYRIGHT BY *Guideman*.
Kopieren nicht erlaubt! Verlinken ist erlaubt.
Liebe Grüße, Michael.[/QUOTE]
[SIZE="7"]GameHacking mit VB.Net[/SIZE] by *GuideMan*
In diesem Tutorial werde ich euch zeigen wie man mit Cheat Engine und anschließend mit Visual Basic die Punkteanzahl in Solitär verändern kann.
Benötigte Software:
- Cheat Engine 5.5
- Visual Basic 2008 Express Edition
Fangen wir an
Zunächst öffnen wir Solitär (XP: Start > Alle Programme > Spiele > Solitär):
Gut. Als nächstes öffnen wir Cheat Engine und wählen den Prozess "sol.exe" aus. (Dieser steht für "Solitär.exe"):
In Cheat Engine haben wir nun ein umfangreiches Interface.
Ich habe auch das in diesem Bild beschrieben:
So. Da wir jetzt in Solitär 0 Punkte haben, suchen wir jetzt einfach mal nach 0.
Aber wie geht das?
Ihr gebt im Suchfeld "0" ein und klickt auf "First Scan".
Jetzt sucht Cheat Engine im Prozess "sol.exe" (Solitär) nach dem Wert 0.
Oh, jetzt haben wir aber ganz schön viele Adressen im Adress Fenster:
Das sind jetzt alles Adressen die den Wert "0" enthalten.
Jetzt wollen wir aber nur die Punkte Adresse haben.
Das heist wir spielen jetzt in Solitär solange bis wir einige Punkte haben.
Sagen wir, wir spielen solange bis wir 5 Punkte haben.
Das müsste ziemlich schnell gehen.
Jetzt wechseln wir schnell wieder zu Cheat Engine und geben im Suchfeld "5" ein und klicken auf "Next Scan"! Jetzt sucht Cheat Engine nach einem Wert der zuerst 0 war, jetzt aber 5 ist:
Jetzt kann es aber durchaus vorkommen das trotzdem noch sehr viele Adressen da sind.
Jetzt warten wir einfach bis in Solitär die Punkte wieder auf 0 gefallen sind und suchen in Cheat Engine nach 0. Wir klicken natürlich wieder auf "Next Scan".
Cheat Engine sucht jetzt nach einem Wert der zuerst "0" war, dann "5" wurde und jetzt wieder "0" ist.
Jetzt müsste nur noch eine Adresse übrig bleiben:
Das ist jetzt unsere Punkte Adresse.
Wenn wir jetzt doppelt auf die Adresse klicken, wird die Adresse unten hinzugefügt:
Jetzt können wir den Wert bliebig verändern.
Dazu klicken wir mit der Rechten Maustaste auf die Adresse im Unteren Fenster und klicken auf "Change Record" und dann auf "Value".
Jetzt öffnet sich ein kleines Fenster in dem wir einen neuen Wert eingeben können:
Dann klicken wir auf "OK" und wechseln zu Solitär.
Dort ist jetzt der neue Wert übernommen worden:
So, das war jetzt nicht sehr schwer, da die meiste Arbeit von Cheat Engine erledigt wurde.
Doch jetzt wollen wir diese mit Visual Basic.Net erledigen.
Zuerst öffnen wir die Microsoft Visual Basic 2008 Express Edition.
Jetzt haben wir ein noch größeres Interface als in Cheat Engine am Bildschrim.
Dieses werde ich euch auch jetzt wieder erklären:
Jetzt klicken wir oben auf "Datei" und dann auf "Neues Projekt".
Jetzt kommt ein Fenster auf dem wir verschiedene Vorlagen auswählen können.
Unter anderem gibt es dort auch Vorlagen für Hacks (*.dll) Files und ein Normales Programm.
Da wir nur Solitär "hacken" wollen, brauchen wir keine *.dll sondern nur ein Normales Programm.
Dazu wählen wir die "Windows Form-Anwendung" aus.
Jetzt können wir unserem Hack noch einen Namen geben. Nennen wir das Projekt doch "Solitär Hack".
Dann klicken wir auf "OK".
Die Visual Basic Express Edition wird nun unser Projekt vorbereiten.
Das kann einige Sekunden dauern.
Sobald dies geschehen ist, sehen wir wieder ein sehr umfangreiches Interface das ich wieder hier beschrieben habe:
Zunächst ziehen wir einen Button auf die Form.
Dazu klicken wir auf den Toolbox Button der Links neben der Form ist.
Dann öffnet sich ein Fenster in dem wir viele Steuerelemente auswählen können.
Die wichtigsten sind:
- Button
- Label
- Textbox
- Checkbox
- Radiobox
- Listbox
Wir klicken auf den Button und ziehen ihn auf die Form.
Dann klicken wir doppelt auf den Button.
Jetzt öffnet sich ein Codefenster:
- Kod:
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
End Sub
End Class
- Kod:
Public Class Form1
Diese wird bei jeder Form benötigt.
Subs und Funktionen können nur ein einer gültigen Klasse (Class) ausgeführt werden.
- Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Auch diese kann nur in einer gültigen Klasse (Class) getätigt werden.
- Kod:
End Sub
- Kod:
End Class
Jetzt schreiben wir zwischen
- Kod:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Kod:
End Sub
- Kod:
Dim p As Process() = Process.GetProcessesByName("sol.exe")
If Not p.Length = 0 Then
Memory.Writememory(p, "&HAA0D8", "505", "4")
Else
MsgBox("Der Prozess sol.exe wurde nicht gefunden!")
End If
- Kod:
Dim p As Process() = Process.GetProcessesByName("sol.exe")
- Kod:
If Not p.Length = 0 Then
- Kod:
Memory.Write(p, "&HAA0D8", "505", "4")
Mit dieser Zeile ändern wir die Punkte bei Solitär in "500".
"p" ist der Prozess "sol.exe". Dies müssen wir angeben damit das Programm weiß in welchen Prozess die Adresse geändert werden muss.
"&HAA0D8" ist die Adresse des Wertes der Punkte.
"500" ist der Wert in die die Punkte geändert werden.
"4" sind die Bytes. Das ist für uns unwichtig.
So aber nun wird die stelle
"Memory.Write(p, "&HAA0D8", "505", "4")" blau unterringelt.
Warum?
Ganz einfach. Weil Visual Basic nicht weis was "Memory.Write" ist.
Um das Problem zu beheben klicken wir in der Toolleiste auf das 3. Symbol von links.
Dann öffnet sich ein Fenster.
Dort wählen wir das "Modul" aus und nennen es Memory.
Jetzt löschen wir den gesammten Code der in der Memory.vb ist und schreiben folgenden Code hinein:
- Kod:
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
Diese Code braucht nicht kommentiert werden da er nur eine vereinfachung der Windows API ist.
Er ermöglicht euch das schreiben von Memory Hacking in VB.Net.
Wenn ihr nun F5 drückt, startet das Programm.
Dann startet ihr Solitär und klickt auf den Button im Solitär Hack.
Jetzt müsstet ihr 500 Punkte haben. Oder halt die Punktanzahl die ihr im Code eingegeben habt.
Das war die überarbeitete Version von *GuideMan*
Ich hoffe das ihr das Tutorial verstanden habt. Wenn ja könnt ihr dieses Beispiel jetzt auf alles andere wie Online Games, Flash Games usw. übertragen.
COPYRIGHT BY *Guideman*.
Kopieren nicht erlaubt! Verlinken ist erlaubt.
Liebe Grüße, Michael.[/QUOTE]
Similar topics
» [Tutorial] Gamehacking Howto I [German]
» [D3D][C++] No fog tutorial
» C++ -- DLL Tutorial { 1 }
» [Tutorial] D3D Crosshairs
» CSS [Tutorial] D3D Wallhack.
» [D3D][C++] No fog tutorial
» C++ -- DLL Tutorial { 1 }
» [Tutorial] D3D Crosshairs
» CSS [Tutorial] D3D Wallhack.
1 sayfadaki 1 sayfası
Bu forumun müsaadesi var:
Bu forumdaki mesajlara cevap veremezsiniz
Cuma Ağus. 29, 2014 8:33 am tarafından Hello EMO
» goldenchase.net maden yaparak para kazanma
Cuma Ağus. 29, 2014 8:18 am tarafından Hello EMO
» etichal hacker görsel egitim seti
Çarş. Ağus. 06, 2014 4:57 am tarafından Hello EMO
» KO TBL Source C#
Ptsi Ara. 09, 2013 6:36 am tarafından Hello EMO
» x86 Registers
C.tesi Ağus. 24, 2013 5:02 am tarafından Hello EMO
» [Tutorial] Pegando Address, Pointers de WYD
Çarş. Tem. 10, 2013 7:25 am tarafından Hello EMO
» [Tutorial] Pegando Address, Pointers de CS Metodo²
Çarş. Tem. 10, 2013 7:23 am tarafından Hello EMO
» [Tutorial] Aprendendo basico deASM OLLYDBG
Çarş. Tem. 10, 2013 7:22 am tarafından Hello EMO
» Basic C# DLL injector
Ptsi Tem. 08, 2013 7:48 am tarafından Hello EMO