Eine 64Bit-Anwendung erfordert zwingend 64Bit-DLLs
Das ist nicht ganz korrekt. Zumindest kann eine 32 Bit Anwendung "ohne Probleme" eine 64 Bit
DLL laden. So funktioniert übrigens auch die ganze WOW64 Emulation. Die System Dlls wie kernel32 sind in einer 64 Bit Anwendung sehr wohl geladen, nur kann die Anwendung diese nicht sehen, da sie in einem Speicherbereich > 32 Bit gemappt werden. Das 32 bittige kernel32 Äquivalent leitet die Aufrufe der Systemfunktionen dann nur noch auf den 64 Bit Code um, während gleichzeitig die CPU kurzzeitig in den 64 Bit Mode geschaltet wird.
Dieses kurzzeitige Umschalten kann man übrigens auch selbst machen:
http://rce.co/knockin-on-heavens-gat...ode-switching/
Ist allerdings nicht ganz trivial und sicherlich ziemlich hacky.