首页
课程
问答
CTF
社区
招聘
看雪峰会
发现
排行榜
知识库
工具下载
看雪20年
看雪商城
证书查询
登录
注册
首页
社区
课程
招聘
发现
问答
CTF
排行榜
知识库
工具下载
看雪峰会
看雪商城
证书查询
看雪社区
编程技术
发新帖
1
0
[讨论]关于64位的ssdt HOOK
2018-11-22 01:58
4389
[讨论]关于64位的ssdt HOOK
wx_clay
1
2018-11-22 01:58
4389
当我打算用KeBugCheckEx去作为跳板跳到我自己的TerminalProcess函数的时候,发现了一个问题。根据公式 真实函数地址 = ssdt(基址) + ssdt[nIndex]>>4
那么我的函数地址是KeBugCheckEx函数的时候算出ssdt表中的偏移地址的公式应该是 偏移地址=(真实函数地址-ssdt基址) << 4,如果当真实函数地址小于ssdt基址时就会出现一个问题,负数前面是有f的,那么当我们进行左移的时候就会丢失前面的f。导致系统在进行寻址的时候找到的是错误的地址,ssdt hook失败。
下面是我测试的结果。如图:
ssdt基址为03ed5b00,但是 KeBugCheckEx函数的地址是03ed4f00。后者减去前者差值为fffff400。进行左移 ffff4000就会丢失最前面的f。如果这个数值作为偏移的话,那么照前面的公式进行计算出的跳转地址就会是0ffff400+ 03ed5b00并不是KeBugCheckEx的地址,请问各位前辈应该如何解决这个问题呢
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法
收藏
・
1
免费
・
0
打赏
分享
分享到微信
分享到QQ
分享到微博
赞赏记录
参与人
雪币
留言
时间
查看更多
赞赏
×
1 雪花
5 雪花
10 雪花
20 雪花
50 雪花
80 雪花
100 雪花
150 雪花
200 雪花
支付方式:
微信支付
赞赏留言:
快捷留言
感谢分享~
精品文章~
原创内容~
精彩转帖~
助人为乐~
最新回复
(
2
)
HadesW
雪 币:
9210
活跃值:
(1871)
能力值:
( LV6,RANK:90 )
在线值:
发帖
2
回帖
54
粉丝
83
关注
私信
HadesW
2
2018-11-22 11:38
2
楼
1
FFFFF800041AC2EC - FFFFF80003EDA300 = 2D1FEC
还是花钱买吧。
wx_clay
雪 币:
854
活跃值:
(69)
能力值:
( LV4,RANK:50 )
在线值:
发帖
7
回帖
34
粉丝
1
关注
私信
wx_clay
1
2018-11-22 13:17
3
楼
1
问题已经解决。感谢吉林小伙的指导。操作系统在进行右移的时候用的是sar,不是shr,所以也不存在上面的问题。。
游客
登录
|
注册
方可回帖
回帖
表情
雪币赚取及消费
高级回复
返回
wx_clay
1
7
发帖
34
回帖
50
RANK
关注
私信
他的文章
[讨论]注入dll hook ReadProcessMemory
3539
[讨论] 在某个函数中一调用WPONx64就会BSOD.
2865
[讨论]关于64位的ssdt HOOK
4390
[原创]一次逆向fb寻找密码的记录及还原相关算法
7077
小白分析main函数入口之路
6702
关于我们
联系我们
企业服务
看雪公众号
专注于PC、移动、智能设备安全研究及逆向工程的开发者社区
看原图
赞赏
×
雪币:
+
留言:
快捷留言
返回
顶部