首页
课程
问答
CTF
社区
招聘
峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
峰会
看雪商城
证书查询
社区
经典问答
发新帖
1
0
还是关于 HOOK 全局API
发表于: 2010-2-22 12:17
7642
还是关于 HOOK 全局API
blueapplez
14
2010-2-22 12:17
7642
HOOK本进程的API很简单 直接修改IAT就可以了
全局的貌似就不是那么简单了,当然这里不讨论内核级的东西,默认是在Ring3下
网上查了下全局的API HOOK 大都是用dll注入进程来实现的
但是看《Windows 核心编程》 22.8.3一节 Last MessageBox Info 示例程序
简单看了下代码实现 他里面却是没有用到dll注入
那么有一个问题 既然没有用到dll注入 那修改完其他进程的IAT后(修改IAT本质上是修改API的地址) 如何做到其他进程调用我们自己写的API(这是指hook中用到的自己写的api,里面应该会调用真正的api。这段代码一般是在我们写的一个dll里面)呢? 我认为肯定会造成内存访问违规。
还有这一节的源文件我编译运行后没有得到预期的效果 应该是Hook没成功,谁弄个编译好的附件发上来 看看
期待大侠指点一二
附件是 《Windows核心编程》全部的源代码
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课
上传的附件:
Windows核心编程源码.rar
(439.67kb,51次下载)
收藏
・
1
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
感谢分享~
最新回复
(
7
)
寒冰心结
雪 币:
8333
活跃值:
(2911)
能力值:
( LV3,RANK:20 )
在线值:
发帖
15
回帖
239
粉丝
0
关注
私信
寒冰心结
2
楼
你看错了吧..
注入其他进程.有N个办法.
他采用的方式是.安装一个全局消息钩子.
关于消息钩子的运行原理.
可以简单的说.(为了通俗.并不代表书上的正规观点仅是个人理解).
当操作系统回调目标窗体的消息回调函数的时候(或者更简单的说.操作系统通知目标窗体发生了某个消息之前).会先检查是否有Hook存在.若存在.则调用之.而调用Hook的时候会检查.这个Hook处理函数所在DLL.是否已经映射入了目标进程地址空间.若没有.则回调ClientLoadLibrary来加载这个DLL..就是因为这个机制..他的DLL也就轻松的进入了其他进程的地址空间...进入之后.就可以随意替换IAT或者InLine Hook了.这你已经没 疑问了就不多说了.
附上一个图..
说个题外话.这种方式进入其他进程地址空间虽然容易.但对像控制台程序这类CUI程序是无效的.因为消息总是针对某个窗口才有意义...
上传的附件:
1.jpg
(79.11kb,294次下载)
2010-2-22 12:27
0
blueapplez
雪 币:
458
活跃值:
(421)
能力值:
( LV9,RANK:610 )
在线值:
发帖
90
回帖
1047
粉丝
6
关注
私信
blueapplez
14
3
楼
感谢楼上解释 原来Hook msg 也是一种dll注入啊 学习了
另外
这一节的源文件我编译运行后没有得到预期的效果 应该是Hook没成功,谁弄个编译好的附件发上来 看看
2010-2-22 12:43
0
skypismire
雪 币:
75
活跃值:
(803)
能力值:
( LV6,RANK:90 )
在线值:
发帖
95
回帖
706
粉丝
1
关注
私信
skypismire
1
4
楼
长知识了
玩不转C++,呵呵
2010-2-22 12:45
0
寒冰心结
雪 币:
8333
活跃值:
(2911)
能力值:
( LV3,RANK:20 )
在线值:
发帖
15
回帖
239
粉丝
0
关注
私信
寒冰心结
5
楼
我也编译了一个.效果是出来了.运行成功了.
但是它这种方式有很多因素会干扰的.比如你装有杀软.等..
先看这个图片.显示DLL的确注入了其他进程..
再看这个图片..
貌似管用了..
最后提供一个编译好的...
桌面.rar
上传的附件:
桌面.rar
(10.27kb,30次下载)
2.jpg
(43.75kb,287次下载)
3.jpg
(25.93kb,287次下载)
2010-2-22 12:56
0
blueapplez
雪 币:
458
活跃值:
(421)
能力值:
( LV9,RANK:610 )
在线值:
发帖
90
回帖
1047
粉丝
6
关注
私信
blueapplez
14
6
楼
帅呆了 学习了 多谢!我编译出来的对explorer.exe进程确实可以
但是对我自己写的一个exe程序就不行了 如图 我点完 确定 按钮后那个LastMsgBoxInfo.exe程序的框里的内容还是那样不会发生变化 仍然是“Waiting for a Message Box to be dismissed” 不知道是什么原因
上传的附件:
未命名.JPG
(43.00kb,282次下载)
2010-2-22 13:08
0
zjwone
雪 币:
204
活跃值:
(12)
能力值:
( LV2,RANK:10 )
在线值:
发帖
1
回帖
22
粉丝
0
关注
私信
zjwone
7
楼
最近想学习HOOK
2010-2-23 21:38
0
justforvb
雪 币:
207
活跃值:
(10)
能力值:
( LV2,RANK:10 )
在线值:
发帖
11
回帖
46
粉丝
0
关注
私信
justforvb
8
楼
原来是这个道理导致注入到其他进程...
2011-3-5 17:14
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
blueapplez
14
90
发帖
1047
回帖
610
RANK
关注
私信
他的文章
[求助] HideToolz3.0 x64驱动是用什么混淆的?
6604
[原创]放一个扭曲CrackMe
11672
[求助]win7下管理员权限的进程如何创建一个非管理员权限进程
11156
[原创]A-Protect的一个BSOD
6600
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
谁下载
×
sharenpk
alan113
wangjietx
swqswq
kevinmhw
ppanger
asasj
NeteLife
xxsj
ftbk
boainfall
zenix
chanyao
justforvb
stonevx
dongjingya
bobohack
iceway
寒冰心结
DuoLaMMeng
清茶
blueapplez
longkuis
月の废墟
咚咚呛
影卡卡西
YangCoCol
sunshing
cooseasy
yzxdev
lxmls
二零二零
wxlkaly
心如止境
donpenfei
七七qyy
fateyeah
korayxd
fzzzh
看原图
赞赏
×
雪币:
+
留言:
快捷留言
为你点赞!
返回
顶部