首页
社区
课程
招聘
[旧帖] 求助关于detours的问题 0.00雪花
发表于: 2012-11-5 18:09 3531

[旧帖] 求助关于detours的问题 0.00雪花

2012-11-5 18:09
3531
用detours对GetClipboardData()函数进行HOOK
自己的代码如下:
static HANDLE (__stdcall *TRUE_GetClipboardData) (UINT uFormat) = GetClipboardData;
HANDLE My_GetClipboardData(
                                                   UINT uFormat
                                                   )
{
        return TRUE_GetClipboardData(uFormat);
}

然后调用detours:
VOID Hook()
{
        DetourRestoreAfterWith();
        DetourTransactionBegin();
        DetourUpdateThread(GetCurrentThread());

        //这里可以连续多次调用DetourAttach,表明HOOK多个函数
        DetourAttach(&(PVOID&)TRUE_GetClipboardData, My_GetClipboardData);  

        DetourTransactionCommit();

}
写成一个DLL,在DllMain里面调用HOOK
把这个DLL注入到notepad++,发现粘贴的时候直接导致notepad++崩了

看detours的代码,表示看不太懂
现在时间有点急,请问各位之前有木有人碰到类似的问题啊
请问碰到这种该怎么调呢?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 14
活跃值: (50)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
调试DLL的话:
在dll的工程里面直接F5调试,选择进程notepad,注入后就可以调了。
notepad崩溃后,弹出来的错误信息估计就可以初步知道错误原因了。

--
想象一个:
你注入调用dll函数后,dll是不是被卸载掉了,
2012-11-5 18:40
0
雪    币: 221
活跃值: (2311)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
作啥用?难道是搞破坏?盗密码?
2012-11-5 19:34
0
雪    币: 45
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
我按照你的方法试了,notepad是弹出来了,但是根本断不下来啊
用工具发现我写的DLL根本没注入进去notepad的进程
2012-11-5 19:38
0
雪    币: 45
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
不是的,要实现一个功能,不能让某些信息被复制走
我想把GetClipboardData给HOOK下来做
2012-11-5 19:39
0
雪    币: 10
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我是用手动加载dll的方法让dll注入到其他进程空间的。把函数的前5个字节改为JMP指令...

detours正常。detours版本为2.1
2012-11-19 17:39
0
雪    币: 30
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主是怎么创建exe的,参照自带的sleep的demo。
2012-11-23 17:04
0
游客
登录 | 注册 方可回帖
返回
//