吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8162|回复: 18
收起左侧

[C&C++ 转载] 菜鸟记录InLineHook以及远程线程注入(纯属YY)

[复制链接]
JoyChou 发表于 2013-6-9 16:58
本帖最后由 JoyChou 于 2013-6-9 17:03 编辑

注入思路:
1、打开目的进程(OpenProcss)
2、在目的进程的地址空间中申请一块dll完整路径长度 + sizeof(char)的地址(VirtualAllocEx)
3、在刚申请的目的进程的地址空间中,写入xxx.dll的完整路径(WriteProcessMermory)
4、获取LoadLibrary的地址
5、创建远程线程函数,达到LoadLibrary("xxx.dll")加载自己dll的功能(CreateRemoteThread)


卸载思路:
1、遍历目的进程的所有模块完整路径,和xxx.dll的完整路径比较
2、获取到当前模块的句柄
3、创建远程线程函数,达到FreeLibrary(hModule)

InLine Hook注意事项:
在定义类似下面这个函数的时候,如果不添加WINAPI函数调用方式,
在堆栈平衡的时候就会出错。
关于调用方式可以看下       http://hi.baidu.com/viarus_zxx/item/e6190f13a7b6abdc86ad4e77
原理就是恢复堆栈,返回到原来调用的地方。
[C++] 纯文本查看 复制代码
int /*WINAPI*/ MyMessageBox(  HWND hWnd,          
                           LPCTSTR lpText,    
                           LPCTSTR lpCaption,  
                                 UINT uType ) 
{
        MsgHook.UnHook();
        MessageBox(NULL, "现在可以调用了", "结果", MB_OK);
        MessageBox(hWnd, lpText, lpCaption, uType);
        MsgHook.ReHook();
        __asm
        {
                pop edi
                pop esi
                pop ebx
                add esp, 0x40  //release版本注释掉这句话
                pop ebp
                ret 0x10    //4个参数(4*4)根据函数的具体参数而定
        }
        return 0;
}

Hook CreateProcessW原理:
用InlineHook Hook掉CreateProcessW函数(写在dll)
我们用dll注入工具,注入到Explorer.exe桌面进程
这样,当我们打开noteapd,calc等程序explorer进程都会创建notepad等子进程,explorer是其父进程,
可以用process explorer软件查看,然后都会执行我们自己定义的函数

代码见附件,DLL注入是VS08的工程,HookCreateProcessWDll是VC6的工程

附件1: Dll注入.rar (66.37 KB, 下载次数: 84)
附件2: HookCreateProcessWDll.rar (10.79 KB, 下载次数: 72)

PS:菜鸟记录InLineHook以及远程线程注入(纯属YY),无任何实际意义。XP测试成功。


免费评分

参与人数 1热心值 +1 收起 理由
Thend + 1 膜拜joychou老师。什么时候出视频教程哦?

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Thend 发表于 2013-6-9 18:47
Hook是个好东西。。。楼主思路很清晰明了,让小菜学习了啊/
 楼主| JoyChou 发表于 2013-6-9 18:06
1354669803 发表于 2013-6-9 17:53
膜拜会Hook的大牛

纯属YY~~~
高山流沙 发表于 2013-6-9 18:03
1354669803 发表于 2013-6-9 17:53
膜拜会Hook的大牛
这只猪 发表于 2013-6-9 17:30
好帖子,好思路,顶了!
cici21212 发表于 2013-6-14 12:48
看看是森马啊
cici21212 发表于 2013-6-14 12:49
吾爱币不够,呵呵
Some 发表于 2013-6-16 08:42
Hook具体的原理是什么?看不懂。
 楼主| JoyChou 发表于 2013-6-16 23:58
Some 发表于 2013-6-16 08:42
Hook具体的原理是什么?看不懂。

要看什么hook,InlineHook原理应该是修改API在内存中的地址,修改为jmp XXXX,,xxxx为自己定义的函数。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-15 18:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表