xposed模块开发

xposed是什么

xposed是注入Zygote进程而实现的hook框架。只可以hook java层不可以hook jni层。

xposed现状

xposed原始库已停止了维护
原始库
SuperSu Root管理
xposed
xposedBridge xposed模块开发库
XposedInstaller 用于与xposed及其模块交互管理

目前有新的库基于原始库在持续更新
Masgisk Root管理,同时也支持类似于Xposed模块的功能
EdXposed Magsiks的xposed支持模块, 基于riru框架实现,从Android 9.0(P)开始开发,利用YAFA(SandHook)hook框架,提供了与原xposed模块一致的api.
EdXposedManager 对标XposedInstaller, 用于与xposed及其模块交互管理
Riru框架 注入Zygote进程,为了使模块代码运行在应用或者系统服务中,EdXposed模块是基于此模块实现。

xposed模块

XposedFrameworkAPI 由 XPosedBridge提供,
官方教程
XDA论坛讨论区

  • xposed模块开发注意事项

官方文档

xposed api目前最新是82, 一般api的版本号是要与xposed的版本号对应的。但如果新发布的api对以前作了兼容,刚可以在新版本的xposed框架中使用旧版本的api, 如xposed90框架可以使用xposed 82 api

如果想使用模块支持Lollipop(Android 4.x) xposed api 及框架必须使用 54 版本。

在app/build.gradle中添加

repositories{
    // 添加阿里云代理
    maven { url "https://maven.aliyun.com/repository/jcenter" }
}
dependencies {
    // 使用provide, 在代码里只会有引用, 真正的实现放在xposed框架里。
    provided 'de.robv.android.xposed:api:82'
    provided 'de.robv.android.xposed:api:82:sources'
}

注意: 必须得关掉InstantRun

在AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="de.robv.android.xposed.mods.tutorial"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="19" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <meta-data
            android:name="xposedmodule"
            android:value="true" />
        <meta-data
            android:name="xposeddescription"
            android:value="此模块的功能描述, 可在XposedManager中的模块里看到" />
        <meta-data
            android:name="xposedminversion"
            android:value="82" />
    </application>
</manifest>

assets文件夹下的xposed_init得标明入口类的引用

xposed框架定制

暂时不必定制XposedBridge, 当前EdXposed 90 与 XPosedBridge api 82 是兼容的, 可以支持到Android 10.0, 至于后面兼不兼容, 持续关注, 后面肯定是要跟着EdXposed 的脚步走, 那个时候的XposedBridge api 肯定也会同时发布的。

后续看逆向需求, 如果app的反xposed情况严重的情况下,再重新定制一套Xposed框架。

版权声明:除特殊说明,博客文章均为Sophimp原创,依据CC BY-SA 4.0许可证进行授权,转载请附上出处链接及本声明。 由于可能会成为AI模型(如chatGPT)的训练样本,本博客禁止将AI自动生成内容作为文章上传(特别声明时除外)。
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇