Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 23:32

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

Advertisement



[VB10] gamehacking via MemoryEditing (cheat Engine)

Discussion on [VB10] gamehacking via MemoryEditing (cheat Engine) within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
[VB10] gamehacking via MemoryEditing (cheat Engine)

hey com

ich habe ein tut hier im forum befolgt, wie man einfache vorteile im spiel erreichen kann wenn man adressen im Spiel mit Cheat Engine ändert
(z.B. unl. ammo)
Das konnte ich auch von meinem VB10 gecodeten Tool aus ändern, die Memory/Adressen Werte.

das sich jedoch die adressen bei jedem neustart des spiels ändern, wollte ich fragen:

ob man nicht gezielte adressen nehmen kann, die auch nach einem neustart des spiels gleich bleiben ( ohne Pointer ?, ich check das nicht mit dem pointer..)

PS: das spielt heist AssaultCube , richtig oldSkool

vielen dank schon mal für kommentare
crackMagic is offline  
Old 05/05/2011, 14:26   #2
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Ich glaub du musst den Pointer finden (wenn nicht, dann sry für die Aussage)..schau dir einfach mal ein paar mehr Tutorials zum Finden des Pointers an, gibt genügend in Google.
Kraizy​ is offline  
Thanks
1 User
Old 05/05/2011, 15:58   #3
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
das mit dem pointer hab ich jetzt drauf, aber von meinem VB10 tool kann ich sie nicht ändern..
crackMagic is offline  
Old 05/05/2011, 15:59   #4
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Wie meinst du ändern? Den Wert? Zeig mal wie du das machst.
Kraizy​ is offline  
Old 05/05/2011, 16:44   #5
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
Code:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        Dim p As Process() = Process.GetProcessesByName("cube")
        Try
            If Not p.Length = 0 Then ' ShotGun
                Memory.Writememory(p(0), "[COLOR="Red"]&H01E71E94[/COLOR]", "[COLOR="Purple"]999[/COLOR]", "4")
            Else

            End If
        Catch ex As Exception
        End Try
das in Rot das ist die die adresse die ich ändern deren wer bearbeiten will, und die sich immer ändert.

das in Lila ist der wert

meine ponter adresse lautet: 01E71E08
nur zeigt er mir unter der pointer adresse, gleich 2 ! eine normal und eine in grüne schrift

edit: ich habe das spiel gewechelt auf CubePortable




quasi:
ich will über meinen gecodeten tool, über den Pointer die aktuelle adresse finden und den wert bearbeiten ?!
crackMagic is offline  
Old 05/05/2011, 19:49   #6
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Grün bedeutet normal, dass sich die Adresse nicht ändert...
Leider bringt dein geposteter Code nichts, da wir nicht wissen wie die "Writememory"-Funktion aussieht..
Ich kann mich noch erinnern, sowas ähnliches auch mal gemacht zu haben, jedenfalls nur Werte aus einem Online-Spiel ausgelesen (ReadProcessMemory-API), nicht verändert und da war es so, dass man an den Wert kommt, indem man den Pointer mit dem Offset addiert...
Kraizy​ is offline  
Old 05/05/2011, 22:25   #7
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
sry, aber ich bin zwischen fortgeschritten und mehr anfänger, ich kann mit diesen begriffen etwas wenig anfangen

hier ist mein projekt bis jetzt, vllt kannst du was damit anfangen oder auch nicht :P

Attached Files
File Type: zip Projekt AssaultCube cheat.zip (138.6 KB, 16 views)
crackMagic is offline  
Old 05/06/2011, 19:09   #8
 
elite*gold: 0
Join Date: Nov 2008
Posts: 28
Received Thanks: 4
Das Thema wäre auch für mich Interessant, da ich finde das VB.net für das Gamehacking reicht, und auch mächtiger ist als die meisten denken...
Mbcool is offline  
Thanks
1 User
Old 05/06/2011, 21:33   #9
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Werde mir das mal morgen anschauen, aber ich kann nicht versprechen, dass ich eine passende Lösung finde, hab das vor einem Jahr oder so gemacht..^^
Kraizy​ is offline  
Thanks
1 User
Old 05/07/2011, 00:07   #10
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
wenn du's versuchst - kann man nur scheitern
wenn nicht - ist man schon gescheitert

damits kein spamm ist :P

assaultCube, die neuste version stüuzr immer ab wenn CE neben bei aktiv ist

edit:
habe diesen link hier gefunden und hasb überflogen, und sah ein paar begriffe mit denen wir glaub weiter kommen
crackMagic is offline  
Old 05/07/2011, 12:33   #11
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Hallo,
hab das mal mit dem Windows-Spiel SpiderSolitär versucht und da klappt es bei mir..
PHP Code:
Imports System.Runtime.InteropServices

Public Class Form1
    
<DllImport("kernel32.dll")> _
    
Private Shared Function OpenProcess(ByVal dwDesiredAccess As UInt32ByVal bInheritHandle As BooleanByVal dwProcessId As UInt32) As IntPtr
    End 
Function

    Private Declare Function 
WriteProcessMemory Lib "kernel32.dll" (ByVal hProcess As IntegerByVal lpBaseAddress As IntegerByRef lpBuffer As IntegerByVal nSize As IntegerByRef lpNumberOfBytesWritten As Integer) As Integer

    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load
        
//Prozess des Spiels finden
        
Dim gameProc As Process Process.GetProcessesByName("SpiderSolitaire")(0)
        
//Handle finden
        
Dim gameHandle As IntPtr OpenProcess(&H1F0FFFalseCUInt(gameProc.Id))
        
//Wert in die Adresse 0x879E9C schreiben
        
WriteProcessMemory(CInt(gameHandle), &H879E9C, &H351Nothing)
    
End Sub
End 
Class 
Den Wert &H879E9C musst du jedoch jedes mal neu suchen und ersetzen, oder du findest den Pointer und das Offset für den Wert, dann klappt das immer. In dem Beispiel wird der Wert &H35= 53 (um die Zahl in einen Hexwert zu wandeln kannst du diese Seite benutzen trägst dann z.B. bei Integer 53 ein und als Hexwert bekommst du dann 35, in VB.NET also &H35) genommen und bei "Züge" reingeschrieben.
Kraizy​ is offline  
Thanks
1 User
Old 05/07/2011, 22:50   #12
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
werde es mal in angriff nehmen ..

EDIT:
also habe es mit dem normalem solitär probiert und da gings nicht ..

könntest du nicht vllt. deine mappe hochladen ?

LG
crackMagic is offline  
Old 05/08/2011, 10:44   #13
 
Kraizy​'s Avatar
 
elite*gold: 0
The Black Market: 471/0/0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,810
Das würde nichts bringen, denn ich hab bereits den gesamten Code gepostet..
Hast du denn die Adresse geändert? Ich zeig dir mal kurz, wie ich das bei Spider-Solitär gemacht habe:
Unten siehst du ja die zwei Werte Spielstand: 500 und Spielzüge: 0 (am Anfang).
Dann machst du halt einen Zug, startest CheatEngine, wählst SpiderSolitaire.exe aus und gibst "1" bei Value ein und drückst auf First Scan. So, danach nochmal einen Zug machen, "2" eingeben und auf Next Scan. Wenn da noch einige Werte sind, dann das gleiche nochmal. Irgendwann bleibt noch eine Adresse übrig, bei mir ist es diesmal 004A9E9C und in VB.NET schreibst du dann also &H4A9E9C. Führ dann den Code mit WriteProcessMemory(...) aus. Ich habe z.B. 8 Züge. Nachdem ich meinen Code ausgeführt habe (wo ich den Wert z.B. auf 53 (= &H35) setzen will) passiert erstmal nichts, erst wenn ich meinen nächsten Zug mache, sehe ich meinen Wert, aber warum das so ist, keine Ahnung..
Naja das wars, jedoch musst du so jedesmal, wenn du das Spiel startest diese Adresse suchen, oder du findest den Pointer und das Offset, dann wird aus der Zeile:
PHP Code:
WriteProcessMemory(CInt(gameHandle), &H4A9E9C, &H351Nothing
Sowas:
PHP Code:
WriteProcessMemory(CInt(gameHandle), Pointer Offset, &H351Nothing
So müsstest du nicht jedesmal die Adresse suchen..
Achja, bei Online Spielen wird sowas in den meisten Fällen nicht funktionieren, also es wird dann z.B. 9999999 HP angezeigt, aber wenn du in Wirklichheit nur 100 hast und jemand klatscht dir mit 500 eine bist du auch tot.
Kraizy​ is offline  
Thanks
1 User
Old 05/08/2011, 16:44   #14
 
crackMagic's Avatar
 
elite*gold: 0
Join Date: Jan 2011
Posts: 107
Received Thanks: 50
ich gebs auf, danke für die hilfe
crackMagic is offline  
Reply


Similar Threads Similar Threads
[VB.NET] Simples Gamehacking via Memoryediting
06/02/2015 - Coding Tutorials - 64 Replies
Vorwort: In diesem Tutorial wird erklärt, wie mit VB.Net auf den Arbeitsspeicher eines (Spiele-)Prozesses zugegriffen und dieser modifiziert werden kann. Dabei werde ich keinen kompletten Sourcecode zur Verfügung stellen, da ich möchte, dass hier was gelernt wird. Kopieren kann schon jeder, dafür muss ich mir für das Tutorial keine Mühe geben. Basics: Microsoft stellt elementare Systemfunktionen bereit, die es einem ermöglichen, auf den Arbeitsspeicher des (Spiele-)Prozesses zuzugreifen....



All times are GMT +2. The time now is 23:32.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.