首页锁定功能是通过PGFltMgr.sys(包含劫持与自保功能)和PGFltMgrLib.dll(与驱动进行通讯)来实现的,PGFltMgrLib.dll为ring3层调用PGFltMgr.sys驱动的唯一接口。在调用PGFltMgrLib.dll导出函数SetHomePageLockerW后,PGFltMgr.sys驱动的会在映像加载时,将BrowserInjectDll.dll注入到指定进程中。BrowserInjectDll.dll镜像内容可以通过远程服务器进行下载,现阶段其中代码会Hook GetCommandLineA和GetCommandLineW,最后通过篡改命令行参数达到首页锁定目的。PageGuard.exe中的首页锁定功能相关代码,如下图所示:
劫持功能相关代码
BrowserInjectDll.dll中的Hook代码,如下图所示:
Hook代码
除了首页锁定功能外,还会根据配置调用Downloader.exe利用迅雷的下载组件下载推送其他程序,但是相关功能配置暂时为空,暂时不会进行软件推送。软件推送配置文件内容,如下图所示:
软件推广配置信息
软件推送相关代码逻辑,如下图所示:
执行推送程序代码
软件推送下载代码
该流氓软件除了上述功能外,还有具有一定的自保能力,可以对与自身软件相关的启动项进行保护。被保护的键值包括:PageGuard主程序启动项、PageGuard服务启动项和IE首页项。相关代码,如下图所示:
注册表保护代码逻辑
五、 附录
文中涉及样本SHA256: