首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
社区
编程技术
发新帖
0
0
[求助] SwapContext 到底是什么功能那?
发表于: 2013-4-1 18:17
5528
[求助] SwapContext 到底是什么功能那?
smabl
2013-4-1 18:17
5528
按照论坛上各位大大的说法,线程切换等都要经过 SwapContext 函数,那么我就想了她应该和驱动入口函数KifastCallEntry一样的,只不过一个是管理线程切换的,一个是调度内核API调用的,我HOOK了 SwapContext函数实现了下面的功能:
在多核CPU的情况下,我限定我自己的程序只能在CPU 0上运行,然后发现是我自己的程序访问IDT表就把CPU 0上的IDT表恢复了, 如果是别的程序通过CPU 0访问IDT表,就把他恢复成原始被HOOK的状态,按我自己的理解应该没错吧,因为检测的话也要通过SwapContext 这里切换到CPU 0才可以检测HOOK有没有被修改, 但是为啥我失败了那? 检测还是能检测到CPU 0上的HOOK让恢复了那????? 不明白,想不通................................
那个大大能给点思路,或者解释下,是不是我的理解错了
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
收藏
・
0
免费
・
0
支持
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
5
)
exediy
雪 币:
228
活跃值:
(115)
能力值:
( LV5,RANK:70 )
在线值:
发帖
10
回帖
652
粉丝
2
关注
私信
exediy
1
2
楼
只为了限定自己的程序在CPU0?话说何必这么复杂...MS有标准的处理方式啊.
SetProcessAffinityMask;
2013-4-1 19:21
0
smabl
雪 币:
282
活跃值:
(31)
能力值:
( LV2,RANK:10 )
在线值:
发帖
16
回帖
53
粉丝
0
关注
私信
smabl
3
楼
我就是这样做的啊, HOOK了 SwapContext 后 发现CPU 0上调用 SwapContext进行线程切换的不是自己保护的 就把IDT给恢复了啊,为啥 检测还能检测到哪?
2013-4-1 19:58
0
cvcvxk
雪 币:
8865
活跃值:
(2379)
能力值:
( LV12,RANK:760 )
在线值:
发帖
125
回帖
3095
粉丝
233
关注
私信
cvcvxk
10
4
楼
DPCTimer可以位于任意线程上下文。
2013-4-1 20:51
0
smabl
雪 币:
282
活跃值:
(31)
能力值:
( LV2,RANK:10 )
在线值:
发帖
16
回帖
53
粉丝
0
关注
私信
smabl
5
楼
明白了,谢谢楼上的大大,真是高手,呵呵,我再想想怎么处理
2013-4-1 22:18
0
smabl
雪 币:
282
活跃值:
(31)
能力值:
( LV2,RANK:10 )
在线值:
发帖
16
回帖
53
粉丝
0
关注
私信
smabl
6
楼
如果是这样的话,我直接HOOK KeSetTimer修改它的延迟时间大一点,这样是不是就可以逃过检测了那?
2013-4-1 23:54
0
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
smabl
16
发帖
53
回帖
10
RANK
关注
私信
他的文章
[求助]Delphi怎么判断一个Word类型的数据的高位和低位
4981
[求助]关于获取IAT表的问题
4130
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部