Ok, sagen Sie, dass meine Anwendung (x86) Befehle in den Speicher ausgibt, so dass die Seite ausführbar wird, usw. Gibt es eine Möglichkeit, den Methoden-Stub einer un-JITted-Methode auf meinen ausgegebenen Befehlsstrom zu zeigen?Gibt es eine Möglichkeit, den .net-JIT-Compiler dazu zu bringen, eine andere Methode auszuführen?
Z. B .:
Angenommen, ich habe einen x86-Befehlsstrom im Speicher erzeugt, die etwas willkürlich tut. Angenommen, ich habe eine Methode 'int Target()'. Ich habe es noch nicht aufgerufen, also wurde es nicht kompiliert. Gibt es eine Möglichkeit zu:
- Holen Sie sich den Zeiger auf Ziel-Stub
- Machen Sie es zu meinem emittierten Befehlsstrom zeigen.
Mir ist klar, dass praktisch jede einzelne Sicherheitsfunktion von .Net entwickelt, um Hijacking wie dies zu verhindern. Aber ist es möglich durch, sagen wir, die Hosting-API?
Ich erinnerte mich, dass es irgendwo 'IL rewriting' hatte. – leppie
Ja. Ich wollte das gerade sagen. Es sieht so aus als wäre es nur IL. – TraumaPony