Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi api kopieren? (https://www.delphipraxis.net/70680-api-kopieren.html)

smc 2. Jun 2006 16:00


api kopieren?
 
Hallo hab mal wieder eine frage!

gibt es eine möglichkeit eine api zu kopieren um diese getrennt von der originale in meinem programm zu benutzen?

Habe schon danach gesucht aber mit den keywords api und kopieren hat man es echt ziemlich schwer.

gruß
smc

SirThornberry 2. Jun 2006 16:01

Re: api kopieren?
 
kannst du mal genau erleutern was du willst? API heißt ja "Applicaiton Programmer Interface" und da gibts ja eigentlich nix zu kopieren.

NicoDE 2. Jun 2006 16:03

Re: api kopieren?
 
Dann müsstest du die API nachprogrammierem... da die Implementation vom Hersteller geändert werden kann, stellt sich die Frage nach dem Sinn (und Unsinn).

Die übliche Gegenfrage: Was willst du erreichen?

easteregg 2. Jun 2006 16:13

Re: api kopieren?
 
da gibts ganz praktische sachen, zb gibt für foobar2000 ein plugin mit dem man es wie winamp steuern kann, indem es die api von winamp "kopiert"

smc 2. Jun 2006 16:37

Re: api kopieren?
 
ich will readprocessmemory benutzen, für mein gui addon das schön übersichtlich alle werte vom spiel in einer liste anzeigt!

Nun ist das problem das das spiel nachdem es gestartet wird ein 5 byte jmp vor readprocessmemory schreibt

deswegen will ich nun readprocessmemory vor dem spielstart kopieren damit ich nachdem man im spielt ist das ganze benutzen kann

NicoDE 2. Jun 2006 16:43

Re: api kopieren?
 
Wenn du eine DLL in den Zielprozess laden kannst, dann entscheide dich für einen beliebigen IPC-Mechanismus und Read/WriteProcessMemory wird überflüssig...

edit: Schlechtschreibung

Phistev 2. Jun 2006 16:47

Re: api kopieren?
 
Stichworte: Dynamische DLL-Einbindung und Funktionsvariablen, evtl. noch etwas Assembler. Damit sollte sich was machen lassen.

brechi 2. Jun 2006 17:00

Re: api kopieren?
 
ReadProcessMemory ist doch in deinem Prozess vorhanden. Wenn das Spiel ReadProcessMemory überschreibt, dann doch nicht in deinem Prozess. -> Du kannst immer noch ReadProcessMemory benutzen.

smc 7. Jun 2006 10:03

Re: api kopieren?
 
wenn das so einfach wäre, das spiel bzw. die protection installiert sich als treiber im system und hooked erstmal global die externen api calls -_-

brechi 7. Jun 2006 20:13

Re: api kopieren?
 
1) Sicher, dass das nicht die Kerio Firewall ist? (5 Byte jmp in Memory < 0x00100000, dann ein INT2E bzw Sysenter mit der ServiceNummer von NtLoadDriver)

2) Wirds als Treiber geladen, so ist auch sicherlich die SSDT gehookt -> vergiss es wenn du nicht auch einen Treiber schreiben kannst. Um sicher zu gehen, dass des Programm nciht einfach nur einen globalen hook (madCodehook etc) benutzt nimm mal OllyDbg und attache nen neuen Process, der soll aber direkt beim System Breakpoint anhalten. Ist da schon ein jump wirds ein Treiber sein (keine Chance mit ring3 Programm), ansonsten überschreibe den jmp mit den Original Bytes (VirtualProtect + CopyMemory)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz