【Android 插件化】VAHunt 检测插件化引擎的具体细节

举报
韩曙亮 发表于 2022/01/14 00:04:13 2022/01/14
【摘要】 文章目录 一、VAHunt 检测插件引擎具体细节 一、VAHunt 检测插件引擎具体细节 上图的执行顺序是 ⑤ -> ④ -> ③ -> ② ...





一、VAHunt 检测插件引擎具体细节



在这里插入图片描述

上图的执行顺序是 ⑤ -> ④ -> ③ -> ② -> ① ;

存在 2 2 2 个 Intent 对象 , StubIntent 是 “桩” 组件对应的 Intent 对象 , TargetIntent 是插件包中的 Intent 对象 ;

StubIntent 对应的组件需要欺骗 AMS , 因此该组件一定在 AndroidManifest.xml 中注册过 ;

如果找到了上述模式 , 可以反向查找找到对应的在 AndroidManifest.xml 清单文件中注册过的 “桩” 组件 ;


在 ① 中启动了 Activity 组件 ;

在 ② 中发现启动的组件 StubIntent 类型 来自内部封装的 TargetIntent 中 , 调用 setType / setClassName ( setComponent ) 设置启动的组件是插件组件 ;

一旦发现了上述模式 , 就直接根据执行路径 , 反向找到 ⑤ 中在 AndroidManifest.xml 中注册的组件信息 ;

插件组件可以以不同的方式存储 , 字符串 , 对象 , 特殊标识 等 ; 可以使用 setData , setDataAndType , putExtraputExtras 等 API 设置插件组件信息 ;

查找 " 桩 " 组件 : 追踪 Intent 的 setComponentsetClassName 方法 , 这是最常用的为 Intent 设置组件的方法 , 如果参数不是直接的字符串和对象 , 而是调用的方法的返回值 , 那么分析该方法的调用链 , 一直找到最终设置的组件类型 ;

匹配 " 桩 " 组件 : 获取到 " 桩 " 组件 , 与 AndroidManifest.xml 清单文件中的组件进行对比 , 如果查到了相应的组件 , 则可以直接判定该应用是插件化应用 ;

文章来源: hanshuliang.blog.csdn.net,作者:韩曙亮,版权归原作者所有,如需转载,请联系作者。

原文链接:hanshuliang.blog.csdn.net/article/details/120593126

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。