kxsystem
驱动牛犊
驱动牛犊
  • 注册日期2006-11-25
  • 最后登录2011-08-29
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望56点
  • 贡献值0点
  • 好评度48点
  • 原创分0分
  • 专家分0分
阅读:1662回复:1

求助HOOK_CreateProcess函数的问题

楼主#
更多 发布于:2007-01-12 12:45
  写了一个DLL,想HOOK掉目标进程对CreateProcess的调用。结果注入DLL后出错如图

代码:
//DLL Demo

//////////
#include "stdafx.h"
#include <tlhelp32.h>
#include <CAPIHook.h> //一个CAPIHOOK的类


extern CAPIHook g_CreateProcessW;

//在钩子函数中先不做任何处理,直接传递。

BOOL WINAPI Hook_CreateProcessW(LPCTSTR lpApplicationName,LPTSTR lpCommandLine,LPSECURITY_ATTRIBUTES lpProcessAttributes,  
    LPSECURITY_ATTRIBUTES lpThreadAttributes,BOOL bInheritHandles,DWORD dwCreationFlags,LPVOID lpEnvironment,  
    LPCTSTR lpCurrentDirectory,LPSTARTUPINFO lpStartupInfo,LPPROCESS_INFORMATION lpProcessInformation)
{
    typedef    BOOL (WINAPI* PFN)(LPCTSTR,LPTSTR,LPSECURITY_ATTRIBUTES,LPSECURITY_ATTRIBUTES,BOOL,DWORD,
                LPVOID,LPCTSTR,LPSTARTUPINFO,LPPROCESS_INFORMATION);


    BOOL bRet=((PFN)(PROC)g_CreateProcessA)(lpApplicationName,lpCommandLine, lpProcessAttributes,       lpThreadAttributes,bInheritHandles,dwCreationFlags,lpEnvironment,  
        lpCurrentDirectory,lpStartupInfo,lpProcessInformation);

                //Other code
                //lpApplicationName的值竟然为"C",lpCommandLine值为"\""

    return bRet;
}


CAPIHook g_CreateProcess("kernel32.dll","CreateProcessW",(PROC)Hook_CreateProcessW);


//请问各位高手,错出在哪儿?
jwihack
驱动牛犊
驱动牛犊
  • 注册日期2007-01-11
  • 最后登录2010-12-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望20点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-01-24 17:09
好象是反木马类的东西。当然不允许你这么轻易的实现了~

HOOK到函数里面,不要在入口处
游客

返回顶部