AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Handle einer geladenen DLL in einem anderen Process finden
Thema durchsuchen
Ansicht
Themen-Optionen

Handle einer geladenen DLL in einem anderen Process finden

Ein Thema von Reddog · begonnen am 25. Jul 2004 · letzter Beitrag vom 31. Jul 2004
 
Benutzerbild von Reddog
Reddog

Registriert seit: 18. Jul 2004
Ort: Würzburg
56 Beiträge
 
#22

Re: Handle einer geladenen DLL in einem anderen Process find

  Alt 26. Jul 2004, 20:33
Es wäre tatsächlich echt hilfreich diesen Quelltext zu lesen. Kannst du ihn mir zukommen lassen?

Außerdem habe ich in dem Quellcode von einem Hack() zu einem anderen Spiel die von mir angesprochene Möglichkeit gefunden, es mit Hilfe von ASM-Injection zu machen.

Um genauer zu sein ermittelt das Programm ersteinmal die Adresse der Funktionen GetModuleHandleA, LoadLibraryA und FreeLibrary in der kernel32.dll. Diese sind ja für alle Processe gleich. Dann wird eine kleine ASM Sequenz geschrieben, die GetModuleHandle aufruft um festzustellen, ob die DLL geladen ist, und wenn nicht, dann wird sie mit LoadLibrary geladen, wenn ja dann wird sie wieder entladen. Diese ganze Sequenz wird per WriteProcessMemory an eine Stelle in den Memory Space des Spiel-Process geschrieben, und in der WndProc wird ein Call-Befehl hineingeschrieben, der diese Stelle aufruft.(Der Original-Code wird am Ende von dieser Stelle auch noch ausgeführt, so dass sich eigentlich nichts verändert). Die eigene DLL wird also von dem Spiel geladen, ohne dass es was merkt.

Ist leider in C++ und ASM, deswegen hat'S gedauert bis ichS' gecheckt habe. Außerdem bin ich grad noch beim rumprobieren, und weiß nicht ob ich's so anwenden kann. Eigentlich wollte ich ja ohne DLL-Injection auskommen. Aber , wenn's nicht anders geht mach ich's eben so.

Wie gesagt, wenn es irgendwie geht seine DLL von sem Spiel laden zu lassen ohne dieses ASM Zeug, würde ich das natürlich vorziehen.

Reddog.
All prime numbers are odd with the exception of two, which is an odd prime
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:31 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz