1. Der genannte Artikel ist ja ein Hit !!!! Danke vielmals !
Soweit ich das jetzt so schnell überblicke, wäre diese Lösung
sogar ohne Patch machbar ?! Indem ich einfach die eigene, neue DLL direkt kernel32.dll benenne, und die originale kernel32.dll umbenenne und auf diesen Namen referenziere (immer unter der Voraussetzung, dass ich ungewünschte Seiteneffekte ausschließen kann)
Habe bereits versucht, ob sich kernel32 umbenennen lässt

Natürlich nicht so einfach - man kann sie zwar umbenennen, aber sofort erzeugt Windows wieder eine neue kernel32.dll mit dem genau gleichen Datum, wie die alte.
=> Das Umbenennen müsste z.B. durch Zugriff auf die Platte über LINUX erfolgen - würde mich interessieren, ob Windows das dann mitbekommt und sich dagegen wehrt ?
(kann das im Moment nicht ausprobieren, da ich dazu ja schon die neue DLL bräuchte)
2. Wie könnte ich unter C, ohne Verwendung von Assembler, auf den Stack der Anwendung zugreifen - um die Aufrufadresse zu checken?
3. Wenn ich die DLL aber nur im Speicher patchen würde, nach dem Laden der Anwendung, hätte das dann auch Auswirkungen auf alle anderen Programme, die diese DLL verwenden? Oder anders gefragt: wird beim Laden eines Programmes eine bereits im Speicher vorhandene DLL richtig in den Speicherbereich kopiert, oder nur das Original "eingeblendet"?