Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 10:39

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

Advertisement



Mit Dll Injection Memory verändern?

Discussion on Mit Dll Injection Memory verändern? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Vulcanraven's Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 7,808
Received Thanks: 4,569
Tag...

Ich habe mir so überlegt ob man eine Dll schrieben könnte die den Memoryinhalt verändert?
Z.b nehmen wir mal Cheatengine und ein Spiel.
Nun Suche ich z.b die Ammoadresse wenn ich sie gefunden habe kann ich die Value ja freezen und natürlich ändern.
Und dies möchte ich halt ohne die Cheatengine machen halt mit einer Dll.
Geht das überhaupt?

Und die 2te Frage...
Wenn ich jetzt ein Trainer erstellt habe, nun ihn im Game benutze aber dann von Gameguard gekickt werde.
Weil er den Trainer erkennt.
Wäre da die Dll Injection ne bessere möglichkeit undect zu bleiben?
Aber es könnte ja auch sein das der Gameguard nach Memory veränderungen sucht und die Dll Injection nicht besser als der Trainer ist.
Vulcanraven is offline  
Old 05/07/2007, 18:13   #2
 
elite*gold: 0
Join Date: Apr 2007
Posts: 66
Received Thanks: 15
Sicher geht das. Ich bin mir nicht 100%ig sicher, aber jeder Memory Searcher arbeitet (vermutlich) wegen der Geschwindigkeit mit Dll-Injection. TSearch hat seine TSearch.dll, GameHack seine gh.dll und die werden vermutlich in den Zielprozess injiziert und können dort ohne die Read/WriteProcessMemory-API im Speicher des Zielprozesses rumspazieren und das bringt ein enormen Geschwindigkeitsvorteil.

Das ist gleichzeitig auch die Schwäche. Ich bastel gerade an Soldats heftiger Anti-Cheat-Protection rum und Soldat checkt, welche DLLs geladen sind und erkennt unteranderem eine geladene TSearchDll.dll sowie eine geladene gh.dll und weiß damit, dass es unter Beobachtung steht und stürzt ab.

Über GameGuard weiß ich gar nichts, aber ich schätze alle gängigen DLLs (bei Bedarf Soldat durchschauen, im Code steckt quasi ein Inhaltsverzeichnis verfügbarer Cheat-Software...) sind auch ihm bekannt.

Da GameGuard Rootkit-ähnlich arbeitet, hat es - vermute ich - die Read- und WriteProcessMemory-API gehooked und erkennt, wenn dein Trainer im zu schützenden Prozess rumwurstet. Entweder du suchst Details, wie du GameGuard los wirst, oder du arbeitest eben per DLL-Injection, wobei ich denke, dass auch CreateRemoteThread() dann unter GameGuards Beobachtung steht.
wiz is offline  
Old 05/07/2007, 18:34   #3
 
Vulcanraven's Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 7,808
Received Thanks: 4,569
Okay mache ich mal...
Wie siehts denn da mit dem Punkbuster aus?
Vulcanraven is offline  
Old 05/07/2007, 19:25   #4
 
elite*gold: 0
Join Date: Jul 2005
Posts: 467
Received Thanks: 8
also punkbuster und ich meine auch gameguard scannen den speicher nach bekannten hacks ob sie den speicher des spiels nach manipulationen checken weiß ich nicht kann ich mir allerdings auch nicht vorstellen
somit koennte also das reine editieren des speichers mit einem selbstgecodeten trainer durchaus ohne weiteres funktionieren wenn der anti-cheat dein trainer nicht auf andere weise aufspuert
eine .dll wirst du nicht einfach so injecten koennen dazu wirst du nen bypass brauchen was bei punkbuster allerdings lausig ist bei gameguard ehr weniger schwierig
den speicher ueber eine injizierte .dll zu manipulieren geht
allerdings stellt sich fuer mich die frage wieso?
ich denke es ist wesentlich einfacher und auch sicherer den speicher einfach zu zu veraendern
ausserdem kenn ich kein ordentliches onlinegame das sich durch memory editing sinnvoll irritieren laesst
Leonino is offline  
Old 05/07/2007, 20:03   #5
 
reijin's Avatar
 
elite*gold: 20
Join Date: Feb 2006
Posts: 3,174
Received Thanks: 1,152
cheatengine hat eine nette Dll Inject funktion.
kannst du vllt mal posten auf welchem wege du die dll injecten willst? (code beispiel) würde mich nämlich auch interessieren
kleine zwischenfrage:
ich denke, dass du mit dem suchen nach codecaves auch erfolg haben wirst, und deinen code so auch ausführen kannst
reijin is offline  
Old 05/07/2007, 20:38   #6
 
elite*gold: 0
Join Date: Oct 2005
Posts: 201
Received Thanks: 23
Quote:
Originally posted by Vulcanraven91@May 7 2007, 18:34
Okay mache ich mal...
Wie siehts denn da mit dem Punkbuster aus?
zum Thema Punkbuster solltest du hier einige infos finden:

mondesser is offline  
Old 05/09/2007, 19:01   #7
 
elite*gold: 0
Join Date: Aug 2005
Posts: 443
Received Thanks: 72
Quote:
Originally posted by Reijin@May 7 2007, 20:03
kannst du vllt mal posten auf welchem wege du die dll injecten willst? (code beispiel) würde mich nämlich auch interessieren
Code:
function InjectLibrary(dwProcessID: DWord; pLibraryName: PChar): Boolean; stdcall;
var
 dwProcessID2 : DWord;
 dwMemSize  : DWord;
 dwWritten  : DWord;
 dwThreadID  : DWord;
 pLLA     : Pointer;
 pTargetMemory: Pointer;
begin
 Result := False;

 dwProcessID2 := OpenProcess(PROCESS_ALL_ACCESS,false,dwProcessID);
 if (dwProcessID2 <> 0) then
  dwProcessID := dwProcessID2;

 dwMemSize := Length(pLibraryName)+1;
 pTargetMemory := VirtualAllocExX(dwProcessID,nil,dwMemSize, MEM_COMMIT or MEM_RESERVE,PAGE_EXECUTE_READWRITE);
 pLLA := GetProcAddress(GetModuleHandleA('kernel32.dll'),'LoadLibraryA');
 if (pLLA <> nil) and (pTargetMemory <> nil) and (pLibraryName <> nil) then
 begin
  if WriteProcessMemory(dwProcessID,pTargetMemory,pLibraryName,dwMemSize,dwWritten) and
   (dwWritten = dwMemSize) then
  Result := CreateRemoteThreadX(dwProcessID,nil,0,pLLA,pTargetMemory,0,dwThreadID) <> 0;
 end;
 if (dwProcessID2 <> 0) then
  CloseHandle(dwProcessID2);
end;
du holst dir ein Handle des Processes durch OpenProcess, allozierst Speicher in diesem Prozess (VirtualAllocEx).
Dann schreibst du an diese Adresse den Namen der DLL die du injecten willst und startest dann einen RemoteThread, der InjectLibrary mit deiner DLL aufruft und sie somit laden lässt.
neji is offline  
Old 05/09/2007, 20:31   #8
 
Vulcanraven's Avatar
 
elite*gold: 0
Join Date: May 2006
Posts: 7,808
Received Thanks: 4,569
Danke danke... ich werde mich gleich mal an die Arbeit machen...
Vulcanraven is offline  
Reply


Similar Threads Similar Threads
AutoIt3 Memory Verändern/Beeinflussen
03/15/2010 - AutoIt - 7 Replies
Hallo erstmal. Heute wollte ich euch zeigen wie man Memory eines anderen Programmes beeinflussen/verändern kann. Erstmal muss man die .rar Datei downloaden die ich Angehängt habe. In der .rar Datei sind enthalten: NomadMemory.au3(da sind die befehle inhalten die man braucht für die Memory veränderung aber dazu später), NomadMemory Anleitung.txt (Darin steht wo man die NomadMemory.au3 Datei hintuhen soll) -1.Download Man downloadet die NomadMemory.rar Datei die ich hier Angehängt....
Injection vs. Memory Write
12/15/2009 - Aion - 11 Replies
Hallo, kann mir einer da mal den genauen Unterschied erklären bitte. Ich weiß nur das Injection hohe Banngefahr hat und Memory Write wohl nicht ? Danke Maxx.
Quick Memory Editor - Alternative Memory Hacking Software
11/21/2009 - Cabal Hacks, Bots, Cheats, Exploits & Macros - 11 Replies
This might be detected or not by GameGuard, I have not tested this on Official servers however it worked perfectly fine on other private servers. http://imagenic.net/images/x0jxwzwpg2zxmkdtcf36.p ng This is just an alternative memory editing tool. Press thanks if this helps. Remember, scan before using this. Cause its 5.5MB.
Habe eine wichtige frage zu write process memory (packete verändern und zurück senden
10/28/2009 - General Coding - 3 Replies
Hey Leute Habe mal eine wichtige frage. Ihr wisst doch bestimmt das man bei einem Spiel sachen bauen kann z.b eine Waffe für seinen charackter. Ist es möglich mittels write memory process... oder auch anders z.b rohstoffe die man bekommt beliebig die anzahl zu verändern und an den server zurück zu schicken? Ich möchte nur wissen ob es möglich ist, soweit bin ich noch nicht, werde erstmal einfache bots schreiben, die Leben auslesen und paar mobs killen können ^^.
[TUT REQUEST] Dynamic Memory Editing via dll injection
01/09/2008 - General Coding - 2 Replies
Hi there im trying to edit the memory of a game via dll injection .. but the adresses arent static, they are dynamic, what means that they change every restart.. and i dont know how to edit dynamic adresses with a dll injection.. could anyone post a tutorial how i could do that?? thanks beforehand greetz eMale



All times are GMT +2. The time now is 10:39.


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.