Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Funktion überschreiben (https://www.delphipraxis.net/131572-funktion-ueberschreiben.html)

Cyf 26. Mär 2009 20:55


Funktion überschreiben
 
Wie ist es möglich den Inhalt einer Funktion zu überschreiben?
Sowohl ein Versuch via

Delphi-Quellcode:
PByte(@Funktionsname)^:= EIN_WERT;
führt zu einer EAccessViolation, als auch das Überschreiben durch WriteProcessMemory nach
Delphi-Quellcode:
OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
scheitert (ERROR_NOACCESS
998 (0x3E6), Invalid access to memory location.), obwohl sich andere Speicherwerte (globale Variablen etwa) ändern lassen. Hierbei scheint es keine Rolle zu spielen, ob der Prozess mit oder ohne Admin-Rechte gestartet wurde.

oki 26. Mär 2009 21:02

Re: Funktion überschreiben
 
vielleicht versteh ich dich nicht richtig, aber das tut man doch ständig im Bereich Vererbung einerseits oder bei der Zuweisung von Ereignisproceduren. Beide müssen nur gleichlautend definiert sein.
Ich denk mal, du meinst etwas anderes. Vielleicht kannst du noch mal genauer sagen, was du machen willst.

Gruß oki

Die Muhkuh 26. Mär 2009 21:07

Re: Funktion überschreiben
 
Es scheint, es wolle an die Adresse der Funktion was anderes hinschreiben.

Cyf 26. Mär 2009 21:09

Re: Funktion überschreiben
 
Zitat:

Zitat von Die Muhkuh
Es scheint, es wolle an die Adresse der Funktion was anderes hinschreiben.

Ja. :)

oki 26. Mär 2009 21:10

Re: Funktion überschreiben
 
Was ist der Sinn dahinter?

ErazerZ 26. Mär 2009 21:25

Re: Funktion überschreiben
 
Wahrscheinlich rechte setzen vergessen. Versuchs mal mit VirtualProtect zuerst aufrufen und danach überschreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:39 Uhr.

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