主要观点总结
本文介绍了在Android系统中使用注入技术进行内存操作的方法,包括概念、应用场景、常见注入方式以及具体实现细节。文章还讨论了使用开源面具模块进行编译和使用的步骤,并给出了一些额外的信息和未来框架的更新方向。
关键观点总结
关键观点1: 概念
在Android系统中,进程之间是相互隔离的,注入技术可以将指定模块或代码注入到目标进程中,实现访问和篡改目标进程空间内的信息。
关键观点2: 应用场景
注入技术适用于算法还原、APP的RPC算法调用等场景,但在实际使用时需要注意工具特征检测和厂商对注入的拦截策略。
关键观点3: 常见注入方式
文章介绍了静态注入、动态注入和zygote注入等多种注入方式,并给出了实现细节和案例。
关键观点4: 具体实现细节
详细描述了zygisk自定义注入so(dex)插件的实现,包括模块开发的前置知识、实现原理和具体代码。
关键观点5: 使用方法
提供了使用方法的概述,包括修改目标app的包名、编译插件so和手动加载等步骤。
关键观点6: 番外篇
讨论了dlopen的加载流程和定植AOSP进行so的注入等额外信息。
关键观点7: 未来更新方向
提出了增加第二种注入方式、隐藏落地文件特征、借鉴Riru的注入方式等未来框架的更新方向。
文章预览
一 概念 在android系统中,进程之间是 相互隔离 的,两个进程之间是没办法直接跨进程访问其他进程的空间信息的。那么在android平台中要对某个app进程进行内存操作,并获取目标进程的地址空间内信息或者修改目标进程的地址空间内的私有信息,就需要涉及到注入技术。 通过 注入技术可以将指定so模块或代码注入到目标进程 中,只要注入成功后,就可以进行访问和篡改目标进程空间内的信息,包括数据和代码。 写这篇文章的初衷: 在我们进行算法还原再或者进行APP的RPC算法调用的时候, 都有对APP注入的需求 。 只不过目前的工具比较成熟,大家都 忽略了 注入的这个过程。 随着厂商对常见注入工具Frida、Xposed的 特征检测 ,注入后APP会发生崩溃不可运行的问题。 众所周知:游戏安全对抗领域往往要比常见的应用安全领先多个领域,当然很 多大厂
………………………………