![]() |
Funktion überschreiben
Wie ist es möglich den Inhalt einer Funktion zu überschreiben?
Sowohl ein Versuch via
Delphi-Quellcode:
führt zu einer EAccessViolation, als auch das Überschreiben durch WriteProcessMemory nach
PByte(@Funktionsname)^:= EIN_WERT;
Delphi-Quellcode:
scheitert (ERROR_NOACCESS
OpenProcess(PROCESS_ALL_ACCESS, FALSE, GetCurrentProcessId());
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. |
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 |
Re: Funktion überschreiben
Es scheint, es wolle an die Adresse der Funktion was anderes hinschreiben.
|
Re: Funktion überschreiben
Zitat:
|
Re: Funktion überschreiben
Was ist der Sinn dahinter?
|
Re: Funktion überschreiben
Wahrscheinlich rechte setzen vergessen. Versuchs mal mit VirtualProtect zuerst aufrufen und danach überschreiben.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:52 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