|
KitlDllMain-kitl.dll的入口地址,kernel.dll是怎么找到的?
[复制链接]
问个可能很简单的问题,但我有点困惑了!
在OEMMAIN目录的oemglobal.c文件中有OemGlobal结构里面有
#ifdef KITLOEM
KitlDllMain, // KITL entry point (KITL is part of OEM)
#else
其在之前有声明。
#ifdef KITLOEM
extern BOOL WINAPI KitlDllMain (HINSTANCE DllInstance, DWORD dwReason, LPVOID Reserved);
#endif
在Ce6.0中,oal.exe、kernel.dll和kitl.dll三个模块是独立的
模块相互访问需要找到对方入口地址后,得到其函数指针集合
kernel.dll运行到NKStartup函数中,调用
(* pfnKitlEntry) (NULL, DLL_PROCESS_ATTACH, (DWORD) NKKernelLibIoControl);
实际上就是用oal的OemGlobal结构变量里面的KitlDllMain了。
oal.exe与kitl.dll互相独立
虽然kitl.dll的入口地址确实是KitlDllMain
其怎么知道KitlDllMain的地址?
|
|