吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5112|回复: 40
收起左侧

[Android 原创] 对Android Hook技术的一些浅谈

  [复制链接]
LivedForward 发表于 2022-12-7 09:44
本帖最后由 LivedForward 于 2023-2-26 21:00 编辑

Android Hook技术发展到今天,可以说是登峰造极了。差不多在五六年前,那个时候还是刚刚出来PMS Hook,
用的动态代{过}{滤}理技术,fourbrother大咖出品的kstools。在那个时候,我针对这个出了一个检测,
就是任何被Java动态代{过}{滤}理的接口,它的父类都是Proxy。还有直接到native层去获取Apk路径,然后手动
解析签名信息。kstools机制就是在attachBaseContext函数里面优先替换掉系统PMS服务。


大概2-3年前,又有了更先进的Hook技术,爱加密的加固机制除了壳以外,还有一层工厂类AppComponentFactory,
在Apk整个解密运行的生命周期中,都会对其进行监控。


到了今天,我看到了终极Hook方案:Hook系统调用。应用seccomp机制,像proot、VirtualApp、Ratel平头哥等等。
我们知道,Hook方式有root和免root,root可以做到全局Hook,免重打包。免root可以做到单进程Hook,需要重打包,
但重打包最重要的就是IO Redirect,要过掉各种文件校验和签名校验。涉及到open函数,它们底层都是openat系统调用,
seccomp可以拦截系统调用,然后把path参数改一下就行了。


其实发展到今天,文件校验最安全的也就做到内联svc,后面是检测Hook与防检测的对抗的舞台了,理论上做到了系统调用
级别的Hook,可以完全过掉所有的检测,只是更新迭代的问题和时间问题了。


但是在所有的检测方案中,只有一种是最难过掉和Mock的,那就是不直接依赖系统API的检测方式。
比如反调试:我们可以检测一段代码的执行时间,然后另外开启一个子线程去计时,监控。这种
反调试方法在360加固里面有所体现,它的检测时间是3S,这个我记忆犹新。


当然这里也有兼容性的问题了,安全做到一定层级,肯定会丢失一定的稳定性与兼容性。
Hook做到一定的层级,也丢失一定的稳定性与兼容性。就是采用它们之间的平衡交叉点。


我是一位做IT技术支持的(运维),Android安全与逆向始终是我的爱好,可以说只懂一些上层的东西,
也学了一些皮毛的汇编知识,也就是一个玩家的身份,在这里也向各位小伙伴和大咖学习到了很多技术与知识。


如果你有任何建议意见或者想法都可以提出来和我交流进步。




参考:
检测PMS是否被Hook

对Inline Hook,Got Hook和SVC Hook一些检测的浅谈

一种可以规避大部分去签名校验的方法


IO重定向检测,APK签名校验



另外附上一个测试Demo:
https://www.123pan.com/s/lN7UVv-pbYJ
IMG_20230226_205533.jpg Screenshot_2023-02-26-20-54-54-533_com.ysh.hookap.jpg Screenshot_2023-02-26-20-54-56-500_com.ysh.hookap.jpg





免费评分

参与人数 17吾爱币 +23 热心值 +15 收起 理由
WZYang + 1 + 1 我很赞同!
Lu1ursy + 1 + 1 狠狠地学习了
Golive180 + 1 我很赞同!
21MyCode + 1 + 1 热心回复!
chinawolf2000 + 1 + 1 热心回复!
XXXXXXXXMMMM + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
debug_cat + 1 + 1 用心讨论,共获提升!
安道尔的鱼 + 1 + 1 我很赞同!
fengshengshou + 1 + 1 我很赞同!
story1 + 1 + 1 热心回复!
yuweb + 1 + 1 我很赞同!
allspark + 1 + 1 用心讨论,共获提升!
xiaotian35 + 1 + 1 谢谢@Thanks!
1lifedo1thing + 1 + 1 热心回复!
Bob5230 + 1 用心讨论,共获提升!
woyucheng + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
qtfreet00 + 7 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

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

lichao890427 发表于 2022-12-7 17:54
说白了,移动端安全防护就是把Windows端那一系列从应用层防护到内核层防护的发展过程,重复了一次,只不过移动端一般到了驱动就终止了,做不了更底层
windows不同的是驱动层还可以继续往下做安全。
最开始不重视安全,到安全做到位,大概也得经历10年左右,pc端,移动端,都一样的
什么hook,加壳保护,二进制混淆,vmp,其实都一样的
WAITME66 发表于 2022-12-7 09:53
wan456 发表于 2022-12-7 10:01
jasonA 发表于 2022-12-7 10:15
谢谢分享学习了
雨落惊鸿, 发表于 2022-12-7 10:52
感谢分享
hsctest 发表于 2022-12-7 11:25
总结的不错,我有个红米10a,没找到方法root进行后续研究,实在不知道买什么新手机做root比较好。
LeiSir 发表于 2022-12-7 11:39
我想学无从入手
lzy1983 发表于 2022-12-7 11:48
谢谢楼主,又了解了一个技术
feiyu361 发表于 2022-12-7 12:43
谢谢分享学习了
dofu05jj7uu 发表于 2022-12-7 12:57
感谢分享谢谢!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 11:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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