我写了一个非常简单的Dll注入到IE11中。即使这个Dll不包含任何的Hook代码,只要这个Dll依赖ComDlg32.dll,IE11出现异常。异常的表现是“Internet选项-常规选项卡”下的浏览历史记录的”删除“按钮,点击没有任何反应。正常的现象是应该要弹出一个窗体出来勾选需要删除的内容。
当这个Dll文件在IE11已经初始化完后,采用远程线程注入的时候,没有问题。
当这个Dll注入得比较早的时候(我测试的时候采用注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs的方式),就会有问题。
完全不清楚点击按钮没反应的原因,只好求各路大神支招了。下面是Dll文件的测试代码。
#include <Windows.h>
typedef BOOL (__stdcall* Api_GetOpenFileNameW)(LPOPENFILENAMEW lpofn);
Api_GetOpenFileNameW true_GetOpenFileNameW = GetOpenFileNameW;
BOOL APIENTRY DllMain( HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
if (ul_reason_for_call == DLL_PROCESS_ATTACH)
{
}
return TRUE;
}
[培训]科锐逆向工程师培训第53期2025年7月8日开班!