Systemweiter "Detour"

08/23/2012 20:29 ehauser#1
Hi, gibt es denn eine Möglichkeit z.B die MessageBox Funktion systemweit zu verändern, sodass jedes Mal wenn ein Programm sie aufruft eine eigene Funktion aufgerufen wird?
08/23/2012 21:59 Nightblizard#2
Jup, schreib die User32.dll entsprechend um und tausche sie mit deiner aus. Das ist so ziemlich die einfachste Variante.
08/24/2012 00:08 MrSm!th#3
Ob das leichter ist, sich Systemfiles zu überschreiben...sicherer ist es auf jeden Fall nicht.

Ich würde über einen Weg deiner Wahl jeden Prozess dazu zwingen, eine eigene Dll zu laden und die detoured dann in jedem Prozess die entsprechende Funktion. Am leichtesten wäre es da wohl, einfach immer die IAT aller bereits geladenen Module und die EAT der User32.dll für noch folgende Module zu überschreiben.

Als Injection Methode bieten sich da zb. Windows Hooks an. Es gibt doch afaik auch eine Systemeinstellung von Windows (ein Registry Key oder so), in der man festlegen kann, welche Dlls bei jedem Prozess Startup geladen werden sollen (wird aber erst nach nem Reboot wirksam).