-
-
[求助]如何检测恶意BHO插件
-
发表于:
2011-9-1 14:02
5673
-
如标题,想搞个恶意BHO检测的Activex。防止恶意BHO篡改信息!(只是建立在应用层的)
思路现在还是没搞清,求带。
首先我想的是BHO 通过IObjectWithSite接口SetSite函数来让浏览器调用,然后我想Hook 此接口来判断,不过发现困难重重,也不知从哪里下手。
然后我又想为Invoke下钩子,hook是可以实现,但是我怎么判断是否是恶意的呢?哎~~愁死我了,小白啊我!
PROC* GetOrgAddr(IDispatchEx* pDispEx)
{
DispStr* pStr = (DispStr*)pDispEx;
LPDWORD lpVtabl = pStr->lpVtbl;
PROC* ppfn = (PROC* )(lpVtabl + 8);
return ppfn;
}
void Hook(IDispatchEx* pDispEx)
{
PROC* ppfn = GetOrgAddr(pDispEx);
if(*ppfn != (PROC )Hook_InvokeEx)
{
m_pfnOrg = (PROC )(*ppfn);
PROC pfnNew = (PROC )Hook_InvokeEx;
WriteProcessMemory(GetCurrentProcess(), ppfn, &pfnNew, sizeof(PROC), NULL);
m_pDispEx = pDispEx;
}
}
HRESULT Hook_InvokeEx(...)
{
...
}
之后我又在见网上说可以Hook CoCreateInstance函数。。
求教大牛告诉我一点思路啊。。。有源码提供源码最好,给思路也可以的!
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课