吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

搜索
查看: 6185|回复: 47
上一主题 下一主题
收起左侧

[系统底层] 360Safe驱动学习笔记和实现源码

  [复制链接]
跳转到指定楼层
楼主
鱼无论次 发表于 2021-6-3 11:06 回帖奖励
本帖最后由 鱼无论次 于 2021-6-3 14:30 编辑

参考文档:
1、发一个可编译,可替换的hookport代码
网址:https://bbs.pediy.com/thread-157472.htm
2、腾讯管家攻防驱动分析-TsFltMgr
网址:https://www.jianshu.com/p/718dd8a1dd27
3、总结一把,较为精确判断SCM加载

网址:https://bbs.pediy.com/thread-135988.htm

资料代码:
https://github.com/WINGS2709/360Safe

环境:
编译器:VS2013 + WDK8.1
版本:Win7(32位)
中断:sxe ld XXXXX.sys + lmvm XXXXX

驱动使用:
先加载HookPort再加载SelfProtection


前言:
1、HookPort看achillis分析即可,新旧版本区别在于新增两个地方:INT 4中断、过滤函数的优化(感兴趣的单独处理,不感兴趣的通用Hook框架)  
2、SelfProtection实现对应的Fake函数模板然后再返回给HookPort执行  
3、SelfProtection绝大部分原理翻看MJ0011和V校帖子基本有解答
4、简单介绍下HookPort和SelfProtection流程,具体实现看附件  
5、有错误欢迎大家告诉我  
6、建议用OneNote打开附件  
7、项目仅供参考,代码自己都快忘记了  
8、代码ShaodwSSDT部分有BUG,SSDT只分析了感兴趣的部分。很多嫌麻烦就没看了  

原理介绍:
1、Hook前后对比图

2、HookPort的工作流程
HookPort负责构造一份空白的Hook模板(不负责编写对应的Fake函数,导出给SalfProtectionX使用)
可以理解为老板(HookPort)小弟(SelfProtectionX)
HookPort负责循环执行SalfProtectionX返回的Fake函数

理论上我们是可以有无数个SelfProtectionX,但是大数字最大限制16个
Hook模板结构如下(单向链表结构):

举个例子:
假设我们一共有SelfProtection1、SelfProtection2两个驱动设置了对应的Fake_CraeteProcess函数


原始CreateProcess->KiFastCallEntry->Filter_CreateProcess代{过}{滤}理函数->HookPort_DoFilter
循环将链表中所有Fake函数取出来并执行,直到链表下一个为零终止
必须全部所有Fake函数合法返回才算正确,其中一个返回错误都算错误



测试例子
例如我们要拦截SCM加载(Fake_ZwAlpcSendWaitReceivePort + Fake_ZwLoadDriver)
Safe_Initialize_SetFilterSwitchFunction:设置对应的Fake函数
Safe_Initialize_SetFilterRule:设置对应的Fake函数开关


大致原理:
Fake_ZwAlpcSendWaitReceivePort获取真实的PID(这个技术好像是360在2011年左右提出来的理论)

然后Fake_ZwLoadDriver函数打印出来

设置完毕,我们先加载HookPort 然后加载 SelfProtection,我们随意加载一个驱动。

免费评分

参与人数 15吾爱币 +14 热心值 +13 收起 理由
weiye588 + 1 我很赞同!
越简单越好 + 1 + 1 热心回复!
人行竖道 + 2 + 1 学习,得好好学
宅の士 + 1 我很赞同!
Bizhi-1024 + 1 用心讨论,共获提升!
chuxia12 + 1 我很赞同!
奈何不得 + 1 + 1 我很赞同!
没事路过 + 1 + 1 谢谢@Thanks!
victos + 1 + 1 谢谢@Thanks!
就是那个秋 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
fengbolee + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
yixi + 1 + 1 我很赞同!
13171595977 + 1 + 1 热心回复!
sam喵喵 + 1 + 1 谢谢@Thanks!期待更精彩作品
shiina0831 + 1 + 1 谢谢@Thanks!

查看全部评分

本帖被以下淘专辑推荐:

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

推荐
 楼主| 鱼无论次 发表于 2021-6-17 14:04 |楼主
本帖最后由 鱼无论次 于 2021-6-17 14:08 编辑

hejian1w 发表于 2021-6-17 11:24
有点东西,我12-13年也逆向过这玩意。

腾讯安全管家跟360驱动都是大热门,好多人逆
360驱动写的很棒,框架通俗易懂 易扩展 易操作。
推荐
Hmily 发表于 2021-6-3 13:33
鱼无论次 发表于 2021-6-3 11:43
改好了,要把所有X60的代码里的字眼删了吗?

这个无所谓,360也没事,主要是完善下标题描述,具体做什么的。
沙发
efujin 发表于 2021-6-3 11:20
不明觉厉,从头到尾的字我都认识,可是为什么看完啥都不懂
3#
xiaohong0827 发表于 2021-6-3 11:23
向技术员致敬!
4#
Hmily 发表于 2021-6-3 11:28
@鱼无论次 标题改改?
5#
 楼主| 鱼无论次 发表于 2021-6-3 11:43 |楼主
Hmily 发表于 2021-6-3 11:28
@鱼无论次 标题改改?

改好了,要把所有X60的代码里的字眼删了吗?

点评

这个无所谓,360也没事,主要是完善下标题描述,具体做什么的。  详情 回复 发表于 2021-6-3 13:33
6#
ZLJ13697750126 发表于 2021-6-3 13:05
很厉害,赞一个
7#
xixicoco 发表于 2021-6-3 13:25
不是360吗???
9#
shiina0831 发表于 2021-6-3 13:54
这东西感觉好强
10#
陈先生20030701 发表于 2021-6-3 14:48
还是没有搞懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2021-7-24 11:16

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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