資源簡介
代碼HOOK技術不管在安全領域還是在木馬病毒方面都運用很廣泛,因為他可以改變程序執行流程,悄無聲息執行我們自己的代碼。
之前我也用過一些hook類,如mhook等,但很多都局限于API HOOK,有的時候無法滿足實際應用。也因此,我自己的hook類就誕生了。
詳細說明:
http://blog.csdn.net/sunflover454/article/details/49029615
代碼片段和文件信息
//?HookDemo.cpp?:?定義應用程序的類行為。
//
#include?“stdafx.h“
#include?“HookDemo.h“
#include?“HookDemoDlg.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#endif
//?CHookDemoApp
BEGIN_MESSAGE_MAP(CHookDemoApp?CWinApp)
ON_COMMAND(ID_HELP?&CWinApp::onhelp)
END_MESSAGE_MAP()
//?CHookDemoApp?構造
CHookDemoApp::CHookDemoApp()
{
//?支持重新啟動管理器
m_dwRestartManagerSupportFlags?=?AFX_RESTART_MANAGER_SUPPORT_RESTART;
//?TODO:?在此處添加構造代碼,
//?將所有重要的初始化放置在?InitInstance?中
}
//?唯一的一個?CHookDemoApp?對象
CHookDemoApp?theApp;
//?CHookDemoApp?初始化
BOOL?CHookDemoApp::InitInstance()
{
//?如果一個運行在?Windows?XP?上的應用程序清單指定要
//?使用?ComCtl32.dll?版本?6?或更高版本來啟用可視化方式,
//則需要?InitCommonControlsEx()。否則,將無法創建窗口。
INITCOMMONCONTROLSEX?InitCtrls;
InitCtrls.dwSize?=?sizeof(InitCtrls);
//?將它設置為包括所有要在應用程序中使用的
//?公共控件類。
InitCtrls.dwICC?=?ICC_WIN95_CLASSES;
InitCommonControlsEx(&InitCtrls);
CWinApp::InitInstance();
AfxEnableControlContainer();
//?創建?shell?管理器,以防對話框包含
//?任何?shell?樹視圖控件或?shell?列表視圖控件。
CShellManager?*pShellManager?=?new?CShellManager;
//?標準初始化
//?如果未使用這些功能并希望減小
//?最終可執行文件的大小,則應移除下列
//?不需要的特定初始化例程
//?更改用于存儲設置的注冊表項
//?TODO:?應適當修改該字符串,
//?例如修改為公司或組織名
SetRegistryKey(_T(“應用程序向導生成的本地應用程序“));
CHookDemoDlg?dlg;
m_pMainWnd?=?&dlg;
INT_PTR?nResponse?=?dlg.DoModal();
if?(nResponse?==?IDOK)
{
//?TODO:?在此放置處理何時用
//??“確定”來關閉對話框的代碼
}
else?if?(nResponse?==?IDCANCEL)
{
//?TODO:?在此放置處理何時用
//??“取消”來關閉對話框的代碼
}
//?刪除上面創建的?shell?管理器。
if?(pShellManager?!=?NULL)
{
delete?pShellManager;
}
//?由于對話框已關閉,所以將返回?FALSE?以便退出應用程序,
//??而不是啟動應用程序的消息泵。
return?FALSE;
}
- 上一篇:J-li
nk驅動5.12 - 下一篇:西北工業大學+運籌學.rar
評論
共有 條評論