首页
社区
课程
招聘
[求助]这段代码哪错了? 求助
发表于: 2007-9-4 19:23 3453

[求助]这段代码哪错了? 求助

2007-9-4 19:23
3453
用HOOK 实现的 dll 注入 没道理错啊 麻烦各位看下 谢谢

dll  code:

#include <windows.h>

LRESULT CALLBACK MyProc(int nCode, WPARAM wParam, LPARAM lParam);

#pragma data_seg("Share")
static HHOOK hHook = NULL; // 钩子句柄
static HINSTANCE hInst=NULL; // 当前DLL句柄
#pragma data_seg()

#pragma comment(linker,"/SECTION:Share,RWS")

int WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID lpReserved)
{
    hInst = hinst;
        return 1;
}
//---------------------------------------------------------------------------
// 安装钩子函数
bool __stdcall SetHook(DWORD dwThreadId)
{
        if (dwThreadId)
        {
               
                hHook = SetWindowsHookEx(WH_GETMESSAGE, (HOOKPROC)MyProc,hInst,dwThreadId);

                if (hHook)
                        return true;
                                else
                                                return false;
        }
        else
        {
                MessageBox(NULL, "DLL即将从记事本进程空间中撤出!","DLL",
                        MB_ICONINFORMATION + MB_OK);
                return (UnhookWindowsHookEx(hHook));
        }
        return true;
}

// 钩子函数
LRESULT CALLBACK  MyProc(int nCode, WPARAM wParam, LPARAM lParam)
{
        MessageBox(NULL,"Fun","Fun",0);
        return (CallNextHookEx(hHook, nCode, wParam, lParam));
}

def code:

LIBRARY HookInjectDll
EXPORTS
SetHook

exe code:
        STARTUPINFO Stat;
        PROCESS_INFORMATION Proce;
        memset(&Stat,0,sizeof(Stat));

        MyHook MyHookH;
        HMODULE h_mod= LoadLibrary("d:\\HookInjectDll.Dll");
        if(h_mod)
        {
                MyHookH=(MyHook)(GetProcAddress(h_mod,"SetHook"));
                BOOL hret=CreateProcess(NULL,"c:\\windows\\system32\\notepad.exe",NULL,NULL,false,0,NULL,NULL,&Stat,&Proce);
               
                if(hret)       
                {  
                        char szmsg[MAX_PATH];
                        sprintf(szmsg,"%d",Proce.dwProcessId);
                    MyHookH(Proce.dwThreadId);
                        MessageBox(szmsg);
                                          
                }
                else
                        MessageBox("Wrong");


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回