![]() |
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 |
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.
|
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? |
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"
|
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 |
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 |
Re: api kopieren?
Stichworte: Dynamische DLL-Einbindung und Funktionsvariablen, evtl. noch etwas Assembler. Damit sollte sich was machen lassen.
|
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.
|
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 -_-
|
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 21:22 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