首页
社区
课程
招聘
[求助]关于用Detours Hook CreateFileA的简单问题,困扰啊!!
发表于: 2010-3-18 21:24 7626

[求助]关于用Detours Hook CreateFileA的简单问题,困扰啊!!

2010-3-18 21:24
7626
(已解决)各位兄弟帮我看看这个程序,最简单的用Detours库本进程HOOK,此进程 Hook  Sleep函数事正确无误,但HOOK CreatefileA时总是在HOOK后出现堆栈错误。请求兄弟们帮忙看看,谢谢。。。。
代码如下:(下面有源代码附件)
#include "stdafx.h"
#include "stdio.h"
#include "windows.h"
#include "detours.h"
#pragma comment (lib,"detours.lib")
#pragma comment (lib,"detoured.lib")

static HANDLE (WINAPI *SysCreateFile)(
  LPCTSTR lpFileName,                         // file name
  DWORD dwDesiredAccess,                      // access mode
  DWORD dwShareMode,                          // share mode
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
  DWORD dwCreationDisposition,                // how to create
  DWORD dwFlagsAndAttributes,                 // file attributes
  HANDLE hTemplateFile                        // handle to template file
)=CreateFileA;

HANDLE HookCreateFileA(
  LPCTSTR lpFileName,                         // file name
  DWORD dwDesiredAccess,                      // access mode
  DWORD dwShareMode,                          // share mode
  LPSECURITY_ATTRIBUTES lpSecurityAttributes, // SD
  DWORD dwCreationDisposition,                // how to create
  DWORD dwFlagsAndAttributes,                 // file attributes
  HANDLE hTemplateFile                        // handle to template file
)
{
        char Path[MAX_PATH];
        ::GetModuleFileName(NULL,Path,MAX_PATH);
        ::MessageBox(NULL,"拦截成功",Path,MB_OK);
        return SysCreateFile(lpFileName,
                dwDesiredAccess,
                dwShareMode,
                lpSecurityAttributes,
                dwCreationDisposition,
                dwFlagsAndAttributes,
                hTemplateFile);
}

int main(int argc, char* argv[])
{
        DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());

        DetourAttach(&(PVOID &)SysCreateFile,HookCreateFileA);
       
        DetourTransactionCommit();
       
        CreateFile ("D:\\2.txt",
                GENERIC_READ|GENERIC_WRITE,
                FILE_SHARE_WRITE|FILE_SHARE_READ,
                NULL,
                CREATE_ALWAYS,
                FILE_ATTRIBUTE_NORMAL,
                NULL);
        return 0;
}

[课程]Android-CTF解题方法汇总!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 144
活跃值: (31)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
HANDLE __stdcall HookCreateFileA
2010-3-18 22:57
0
雪    币: 156
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
同意
2010-3-19 11:27
0
雪    币: 175
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
谢谢楼上二位……调试通过。非常感谢……
2010-3-19 12:27
0
游客
登录 | 注册 方可回帖
返回
//