Disable Security Windows (禁用安全窗口)
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:14
基于Xposed,去除一加系统锁屏,AOD和状态栏时钟红色字体样式的模块。
An Xposed module to prevent Oneplus from making red "1" digits on the keyguard, AOD (Always-On Display), and status bar clocks.
If you hate the red "1" characters on the clocks like me, you may try this Xposed module to get rid of it.
Supports OOS 11, OOS 12, OOS 13, and OOS 14.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:25
I don't update my apps too often. Please let me know if this module stops working on the latest version, and I'll update it.
Up till now Google Voice does not provide the basic feature to mark messages as read in the notifications. Tired of going into the app and clicking on each unread message every time, I made this Xposed module to add a "mark as read" option to the Google Voice message notifications.
This module has been tested working for the current Google Voice version. It may stop working for the future versions since the package structure may change. However, it shouldn't be hard to tweak the module to support the new versions as long as there's no major change on the notification logics in Google Voice.
The "mark as read" option utilizes a hidden notification action provided by Google Voice, which is highly likely to be used by Android Auto, since it's inside a bundle named android.car.EXTENSIONS
. It is possible to implement the module without relying on this hidden action, but there definitely will be more reverse engineering work to do.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:28
An Xposed/LSPosed module to enable double tap to sleep functionality on Pixel Launcher.
Works on every Pixel Launcher versions, tested on Pixel Launcher 12 (906) on Android 12.1.
LSPosed Manager
, and enable the module.Pixel Launcher
in the app list, and tap Force stop.Pixel Launcher
, double tap anywhere and wait for superuser permission dialog then grant it.Note: You need to grant superuser access to Pixel Launcher in order to work.
Copyright 2022 Agung Watanabe
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:13
应用伪装
QQ: 2272017501
E-mail: 2272017501@qq.com、xposedtaichu@gmail.com
QQ交流群:
①:742185295
②:867458735
③:853825328
④:561233802
⑤:213388634
⑥:441260380
入群答案:应用伪装
功能与 应用变量 模块相似,但闭源.
为你选择的应用程序传递你伪造的手机信息
此模块现已收费,最后一个免费版本为 1.9.8
最新付费版(源计划)模块下载链接: https://wwz.lanzouy.com/b09bhrioh (密码:fake)
https://www.123pan.com/s/3CSxjv-cMpVv.html
原作者并没有解释用法,以下的使用教程取自应用变量模块的描述:
首先,你需要选择你想要传递手机伪装信息给哪些 APP,
(不仅仅在模块中选取,还需要添加到模块作用域中以确保模块可以作用于 APP)
然后在模块里填写手机的伪装信息,最后,只需单独重启这些 APP 即可.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:106
Xposed Module to Disable FLAG_SECURE
, enabling screenshots, screen sharing and recording in apps that normally
wouldn't allow it.
System Framework
This app does not prevent apps from detecting that you've taken a screenshot or recorded it like Snap or Instagram. This only enables it in apps that prohibit screenshots and recording. So don't screenshot your girlfriend's nudes. (You probably don't have one since you're reading this anyway)
Apps Tested on:
This module may work on other apps too with or
without liboemcrypto.so disabler
.
(Read Additional Instructions)
You can contribute names of apps here that are working and are not listed here, so I can add it to the list.
If you face any issue or have a suggestion then feel free to open an issue here.
This app is a fork of the existing apps but with better compatibility:
This is applicable only for some apps on some devices. If you aren't facing any issues, you can ignore these instructions.
When playing DRM encrypted content, most devices will use hardware decryption capabilities. This hardware decryption will push the video directly onto the screen, bypassing any screenshots/screenshare/recording functionality.
One possible solution is to disable this hardware decryption by installing the Magisk
module liboemcrypto.so disabler
. This will force the
device to not use hardware decryption and in combination with this module will enable screenshots, screen sharing and
recording.
Installing this module might have unintended consequences, such as lowered video quality. Read more
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:17
哔哩哔哩B站, 推特X, 抖音, 小红书, IG, TG, 微信视频号, 微博默认播放速度调节,可以任意倍数:)
Bilibili, Twitter X, Douyin, XHS, Instagram, Telegram, Wechat, Weibo Playback Default Speed Tuner
哔哩哔哩B站基于7.25.0适配,兼容适配新老版本,PLAY版本
推特Twitter,基于9.85.0-release.0适配,兼容适配新版本, 包括X
抖音Douyin,基于25.6.0适配,兼容适配新版本,极速版等
小红书, 基于8.23.0.5适配, 兼容新老版本
IG Instagram, 基于315.0.0.29.109, 兼容新老版本, 包括Instander
电报Telegram, 不上混淆兼容
微信视频号Wechat Finger Video, 基于8.0.43, 不上混淆兼容
微博Weibo, 基于14.6.0, 理论上兼容新老版本
如有不兼容,issue里反馈或提交PR到 https://github.com/V-E-O/biliSpeed/
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:23
启用模块 --> 冻结app --> mipush通知 (--> 打开app --> 点击进入通知)
众所周知,为了防止app后台通过恶意行为驻留内存,部分用户选择使用冻结类软件停用(pm disable) App,当App处于停用状态时其package或component不可用。然而,在这种情况下,一些必要的通知将会受到影响(Alipay,DingTalk,Bank,Stock,etc...)
完全兼容冰箱、黑白门等冻结类App!
注意:
目前仅仅支持adb shell pm disable停用方式的冻结类App,对于挂起方式(变灰)的冻结(scene应用偏见...),其应用状态可能留有后台,此方式冻结不彻底,不推荐使用,且此状态下push消息已经推送到通知栏,由于某些限制导致通知栏不能正常展示,后期视情况适配。
时间及技术有限,目前只能实现接收消息,暂时不能通过点击通知无法拉起已经冻结的App,需要手动进入App再点击通知查看。
本模块完全免费且开源,一切开发仅供学习参考,请勿用于非法用途。
适配机型/环境:小米MIUI系列机型ROM+Magisk。
测试机型和进度:
Mi10 Ultra/Pro 开发板每天跟随官方更新 小米服务框架版本如下:
5.3.1 已测试,冻结不自动注册,最新版已修复
5.3.3 已测试,(部分用户未能正常接收push,官方已确认bug,不建议使用)
5.3.6 已测试,(部分用户未能正常接收push,官方已确认bug,不建议使用)
5.3.8 已测试,未发现问题(20211026-now),(安卓12已于20211116测试,推荐使用)
5.3.9 已测试,未发现问题(20211111-20211112)
~~1. 确认应用列表中"小米服务框架" 版本为:5.3.1及以上。 (低版本请自行尝试,不保证可以正常使用)~~ 1. 目前已经适配低版本(5.0+)小米服务框架,仅非修改/精简/冻结/卸载状态即可。 2. 作用域已经默认勾选:系统框架 、小米服务框架。(com.xiaomi.xmsf)。 3. 修改系统框架需要重启手机,单独修改小米服务框架停止其运行即可。 4. 手机管家App处于正常状态(非冻结/卸载/版本过低)
Thanks @Soulpursuit for providing the project requirements and completing the testing of each version
# Xiaomi push enhancement module
Enable module -- > freeze app -- > mipush notification (- - > Open app -- > Click to enter notification)
As we all know, in order to prevent the app background from residing in memory through malicious behavior, some users choose to use frozen software to disable the app. When the app is disabled, its package or component is unavailable. However, in this case, some necessary notifications will be affected (Alipay, dingtalk, bank, stock, etc...)
Fully compatible pm disable and other frozen apps!
Note: time and technology are limited. At present, we can only receive messages. For the time being, we can't click the notification to pull up the frozen app. We need to manually enter the app and click the notification to view it. We welcome all great gods PR and good people to give advice~
Note: This module is completely free and open source. All development is for learning reference only. Do not use it for illegal purposes.
Applicable model / environment: Xiaomi MIUI series model ROM + magisk.
~~1. Confirm that the version of "Xiaomi service framework" in the application list is 5.3.1 and above. (please try the lower version by yourself, and it is not guaranteed that it can be used normally)~~
Scope check: system framework and Xiaomi service framework. (com.xiaomi.xmsf)
To modify the system framework, you need to restart the mobile phone, modify the Xiaomi service framework separately and stop its operation.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:38
传感器滤镜
降低传感器采样率(所有传感器降低到50HZ及以下)和采样深度(对加速度传感器取整)
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:12
阻止应用常亮,按照系统屏幕超时时间息屏
作用域选择需要阻止常亮的应用
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:14
这是一个适用于MIUI 13/14/HyperOS的基带增强型Xposed模块
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:69
YouTube去广告,后台播放,息屏播放
1- 告诉我您的手机型号,系统版本,YouTube版本 2- 创建一个issue,并上传错误日志,https://github.com/ohyeah521/NoAds-For-YouTube/issues/new
请使用低调, 为了避免去除广告的方法是被针对, 所以源代码暂时不是开源的。
这是一个体力型技术劳动,需要花一些时间和经历在上面,之前很多人因为没有经历继续做,所以大部分YouTube去广告的插件都不能使用了。这个项目或者我个人可以帮助到你, 你可以自愿的支付一部分费用来支持它。
捐赠的费用将用于购买域名和服务器,这样后续的版本升级会高效很多,当然,也包括我累了买一杯咖啡 coffee。
PayPal捐赠 https://paypal.me/wovow
微信二维码:
支付宝二维码:
红包:
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:36
!!! NOT RECOMMAND TO INSTALL ON DAILY USE DEVICES !!!
A LSPosed/Xposed module for hooking framework system services debug variable. In order to get more useful log messages for security research or other purpose.
Enable FwDebug
module in your LSPosed or Xposed app, select system framework
(only for LSPosed) then reboot phone.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:13
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:15
获取部分软件会员与去广告弹窗的模块
中文|English
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:105
XChat?
仰天大笑出门去,我辈岂是蓬蒿人。 ——李白
作者上班族,对模块开发只是有兴趣,本来想着通过参与已有模块的共建来消磨时间,奈何被拒之门外。因此只能独自扛起大旗,甚是心酸... 目前只有一些本人刚需功能,其他功能可以根据反馈逐步增加,切莫着急,还望理解。 被采纳的需求将会列到下面的更新计划中。 若插件存在问题,欢迎Telegram积极反馈,或在此仓库创建信息尽可能丰富的issue。在此感谢。 有关play版本适配问题,目前本人未了解到play版本相较于普通市场版本的优势与价值,并且精力有限,暂时不会主动适配,建议使用普通市场版本,请您谅解。
1、1r可修改消息详细时间的背景颜色,直到下一个人修改前可一直生效,所有人同时生效哦~
2、1r可修改设置弹层的背景图片,直到下一个人修改前可一直生效,所有人同时生效哦~
快来体验操控别人的快感吧! 欢迎老板骚扰~??
会适配最新包,但一切以小米商店更新为准,小米商店提示更新则适配,否则不适配,请理解。 - [x] 8.0.55 - [x] 8.0.56
1. 第一次打开app,提示"配置异常"或"responseCode:xxx"、"responseCode:connection reset" ?
检查网络是否能正常打开github,网络通畅后杀进程重启,如依旧提示错误,重复此步骤。
1.0.9提示很友好,能迅速定位问题,建议更新到此版本。
2. 打开app后,功能无法使用且无任何提示?
前往模块设置弹层查看配置加载状态,弹层打开时会主动获取最新配置,读取配置成功之后会保存到本地,不会再请求网络读取配置了。
3. 打开app后,设置弹层无法正常弹出?
查看设置选项是否为简体中文或正常文案,否则无法识别,1.0.9版本兼容了一些繁体字。
4. 语音消息发送时一直转圈?
更新模块到1.0.10版本或关闭消息禁止撤回。
感谢所有支持的老板!您的支持使这个项目得以持续发展。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:114
VAvatar 自动更换微信头像
https://github.com/NoonieBao/VAvatar/releases
8.0.47、8.0.48、8.0.49、~~8.0.50~~、8.0.51、8.0.53、8.0.54、8.0.55、8.0.56
强调:vx每次发布都会混淆,如果你的vx版本号正确,Vavatar却不能工作,请查看额外说明
https://avatar.corosy.com/
【默认使用】https://uglyavatar.corosy.com
https://avatar.corosy.com/ 可以返回一张远古的潮流头像
https://uglyavatar.corosy.com/ 可以返回一张丑陋头像。丑陋头像的生成依赖于txstc55的项目ugly-avatar
Vavatar总是尝试从上传默认头像路径
的图片到用户头像 (这个默认头像路径
会被打印在Vavatar的设置界面)。
可以手动拷贝 1:1 的 jpg或png到默认头像路径
,但请设置正确权限(如660)。
Vavatar提供了自动下载
头像功能,填入相应头像源url即可。亦可自己构建远程头像源,总之,确保直填入可信的URL。自动下载功能默认禁用,可手动开启。
Vavatar的上传和下载受到冷却时间控制,可以设置相应的冷却时间。
com.tencent.mm.ui.LauncherUI#onResume()
方法执行时。
即:每次启动打开vx主界面或切屏回到vx主界面会执行Vavatar的逻辑。
在这些环境下通过测试:
phone | API | lsposed_api | os | VX_version |
---|---|---|---|---|
Mi 10 Ultra | Android 11 | 1.9.2(7024) | MIUI12.5 12.5.10 | 8.0.48 |
Xiaomi Note3 | Android 11 | 1.9.2(7024) | crDroid 7.21 | 上述所有版本 |
源代码仓库 https://github.com/NoonieBao/vavatar
接受建议和反馈。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:60
已经开源,欢迎交流 https://github.com/1248774172/WaterMark
1.下载模块并在LSPosed中激活本模块 作用域需要勾选”系统框架“ 第一次激活需要重启一次手机
2.LSPosed中 模块作用域勾选要增加水印的app
3.进入模块 右下角增加配置 设置水印名称、大小、旋转角度、应用APP等信息
4.杀死目标应用进程,重新启动即可使用
LSposed和模块配置中都需要勾选要增加水印的app
比如想在微信上增加水印,lsposed中模块设置里勾选微信,模块里增加配置时在”生效应用“中也勾选微信
如果有问题,欢迎反馈!如果有想要增加的功能,也可以提一下 感谢!
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:28
模块无设置界面,勾选即生效。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
解锁 MIUI 全面屏优化限制
LSPosed v1.2.2(API 93.0)
MUI 12.5
Android 11(R,API 30)
Xposed API Version >= 93
在作用域勾选需要解除限制的输入法即可,小米定制版也要勾上
v1.08
删除一个hook函数,解决重复hook
整理代码
v1.07
增加检查prop ro.miui.support_miui_ime_bottom
底部按钮改为反色按钮
尝试在安卓9使用与安卓10相同的hook方法
v1.06
更换检查MIUI版本为检查Android版本
删除旧方法依赖的代码
v1.05
感谢 @ketal178 帮忙删除无用的代码
删除一些非必要的Hook
删除一些过时的代码
尝试修复小爱语音输入按钮失效问题
v1.04
对 MIUI12 改回使用旧的hook点
v1.03
加入对 MIUI 版本的检查
修复 MIUI12 输入法切换菜单不全的问题
现在仅对 MIUI12、MIUI12.5 生效
v1.02
优化执行逻辑
部分hook方法不会对定制版进行hook
增加对底视图颜色的修改,颜色完全由输入法控制
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:14
Optimize notification icons for ColorOS and adapt to native notification icon specifications.
为 ColorOS 优化通知图标以及适配原生通知图标规范,理论支持 OxygenOS 和 RealmeUI。
由于本人同时维护 MIUI 与 ColorOS 两个系统需要同时维护两个模块,十分不方便,所以我决定在后期逐渐合并两个项目并解耦合为一个新项目并计划适配更多系统与设备,例如原生与类原生系统。
在新的项目确定后,会在这里添加新项目的链接,届时我会终止维护这个项目并建议大家转移到新项目。
目前仅在 ColorOS 12、12.1、13 for OnePlus 上测试通过,如有问题请提交 issues
建议在不低于 ColorOS 11 的版本上使用
GitHub CI | CI 自动构建 (测试版) | |
---|---|---|
Telegram CI 频道 | CI 自动构建 (测试版) | |
---|---|---|
GitHub Releases | 正式版 (稳定版) | |
---|---|---|
Xposed-Modules-Repo | 正式版 (稳定版) | |
---|---|---|
123 云盘 (密码:al5u) | 正式版 (稳定版) | |
---|---|---|
本模块发布地址仅限于上述所列出的地址,从其他非正规渠道下载到的版本或对您造成任何影响均与我们无关。
1. 本软件免费、由兴趣使然、仅供学习交流而开发,如果你是从其他不明来源的渠道付费得到本软件,则你已上当受骗,若发现欢迎向我们举报。 2. 未经本人许可,禁止转载、搬运本软件的安装包及源代码到 GitHub 以外的平台并提供下载链接。
嘿,还请君留步!? 这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。 如果下方的项目能为你提供帮助,不妨为我点个 star 吧! 所有项目免费、开源,遵循对应开源许可协议。 → 查看更多关于我的项目,请点击这里 ←
本模块使用 YukiHookAPI 构建
YukiHookAPI 是一个使用 Kotlin 重构的高效 Hook API 构建工具,让你的 Xposed 模块开发变得更加简单。
版权所有 © 2017 Fankes Studio(qzmmcn@163.com)
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
Fix the native notification bar icon function abandoned by the MIUI development team.
修复被 MIUI 开发组丢弃的原生通知图标,支持 MIUI 11~14 以及 HyperOS 1.0。
由于本人同时维护 MIUI 与 ColorOS 两个系统需要同时维护两个模块,十分不方便,所以我决定在后期逐渐合并两个项目并解耦合为一个新项目并计划适配更多系统与设备,例如原生与类原生系统。
在新的项目确定后,会在这里添加新项目的链接,届时我会终止维护这个项目并建议大家转移到新项目。
请确保你使用的是 MIUI 官方版本,任何第三方官改包发生的问题,开发者没有义务去解决和修复,请自求多福
目前最低支持基于 Android 9 版本的 MIUI 11 或 MIUI 12、12.5 (最低建议)
建议最低从 MIUI 12.5 2021-5-18
开发版以后开始使用模块,之前的版本可能或多或少存在 MIUI 自身 BUG 不生效、图标黑白块的问题
请始终保持最新版本的 LSPosed,旧版本可能会出现 Hook 不生效的问题,若最新版本依然不生效请在作用域中长按“系统界面” (“系统 UI”) 选择重新优化
GitHub CI | CI 自动构建 (测试版) | |
---|---|---|
Telegram CI 频道 | CI 自动构建 (测试版) | |
---|---|---|
GitHub Releases | 正式版 (稳定版) | |
---|---|---|
Xposed-Modules-Repo | 正式版 (稳定版) | |
---|---|---|
123 云盘 (密码:62ll) | 正式版 (稳定版) | |
---|---|---|
本模块发布地址仅限于上述所列出的地址,从其他非正规渠道下载到的版本或对您造成任何影响均与我们无关。
1. 本软件免费、由兴趣使然、仅供学习交流而开发,如果你是从其他不明来源的渠道付费得到本软件,则你已上当受骗,若发现欢迎向我们举报。 2. 未经本人许可,禁止转载、搬运本软件的安装包及源代码到 GitHub 以外的平台并提供下载链接。
嘿,还请君留步!? 这里有 Android 开发工具、UI 设计、Gradle 插件、Xposed 模块和实用软件等相关项目。 如果下方的项目能为你提供帮助,不妨为我点个 star 吧! 所有项目免费、开源,遵循对应开源许可协议。 → 查看更多关于我的项目,请点击这里 ←
本模块使用 YukiHookAPI 构建
YukiHookAPI 是一个使用 Kotlin 重构的高效 Hook API 构建工具,让你的 Xposed 模块开发变得更加简单。
版权所有 © 2017 Fankes Studio(qzmmcn@163.com)
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
一个自定义全局电池电量保护值的 Xposed 模块
[!WARNING]
如因使用本模块造成的一切后果, 项目组概不负责, 包括但不限于设备损坏、数据丢失等, 使用者需自行承担风险。
本项目不对任何任何衍生项目负责。
目前仅测试了 HyperOS 2, 其他版本可能会有问题
在省电与电池-电池保护
页面中, 必须有电池健康保护
选项
安装 Xposed 模块后, 进入省电与电池-电池保护
页面, 启用电池健康保护
, 重启作用域或手机即可
如果配置为 75%
全部 80% 的地方都改为 75%
充电电量最高到 75%, 电池保护
页面 UI 显示 75%, 通知提示显示 75%
无配置文件默认为 75%
如需调整充电限制, 需要修改 /Android/data/com.miui.securitycenter/files/ChargeProtectSetter/charge_level
文件, 不存在需要创建一个
直接填写电量数字, 没有百分号,没有换行
比如 调整至 75%, 则文件内容为 75
为了保持电池安全/健康, 限制范围不低于 15%, 不超过 95%
电池健康的循环范围是 20%-80%, 超出范围导致的一切问题 由使用者自行承担责任, 项目组概不负责
特此感谢 焕晨的 AutoSEffSwitch 项目, 这是本人的第一个 Xposed 模块, 整体代码结构参考了 AutoSEffSwitch, 由衷感谢
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
AutoSEffSwitch
是一个在连接蓝牙耳机或有线耳机自动切换音效为原声状态的模块!
Miui
, HyperOS
)模块具体功能如下
详细:
模块需要使用的作用域: 音质音效
。
项目名称 | 项目链接 |
---|---|
HookTool | HookTool |
LSPosed | LSPosed |
DexKit | DexKit |
翻译提供 | 提供者 |
简体中文 | 焕晨HChen |
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
HMS Core 是华为提供的一套服务,其中包含了推送功能,可以在华为和非华为设备上使用,
但是在非华为设备上由于缺乏系统服务配合,只能唤醒目标应用让其自己弹出通知
同时大部分应用在非华为设备上不会主动启用 HMS 推送服务
该模块借助 LSPosed 为 HMS Core 提供发送系统通知的能力, 同时支持将应用运行环境伪装成华为设备,以此来实现无后台系统级别的推送通道。
Warning 对应用进行设备伪装会导致应用环境异常,从而导致封号等后果,请自行承担使用风险!
下载最新版本 HMS Push 安装,在 LSPosed 中启用 HMSPush 模块,并勾选 「系统框架」、「HMS Core 」作用域,然后重启设备,下载地址
LSPosed 里 HMSPush 模块里勾选你需要支持推送的目标应用(这一步目的是将应用环境伪装成华为设备,如果你使用了其他方式伪装设备,可以不进行这一步),然后重启一到两次目标应用使其注册上推送通道
杀掉应用测试推送是否生效(可以使用QQ测试)
并不是所有应用都支持 HMS 推送,目前测试已支持大部分应用,比如 QQ、抖音、知乎、酷安等,闲鱼、淘宝、饿了么等 v0.0.13 起已支持
微信不支持,因为微信没有接入 HMS 服务
请保证 HMS Core 在后台运行,不要禁用其自启权限和访问目标推送应用的权限
如遇到点击通知未能进入目标应用,可尝试将 HMS Core 转为系统应用,不知道如何操作可直接刷入此 Magisk 模块
反馈问题请带上 LSP 日志,到 Github 提 Issue 或者加入 Telegram 群组,或者发送至我的邮箱 Email
包括但不限于: - LSPosed XPosed 框架 - XposedBridge Xposed framework APIs - LSPatch 免 Root Xposed 框架 - AndroidNotifyIconAdapt 图标库
Github Issues、Telegram Group、Email
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
请尽量不要在作用域中勾选系统应用,这有可能使您的手机无法启动。正确的使用方式为勾选您想对其生效模块功能的应用。
Please try not to select any system apps in the scope, this may make your phone unbootable. The correct way to use is to select the application which you want the functions of this module to take effect.
miui usb安装无需sim卡、安装时不会弹框提示了
适配LSPosed,勾选‘手机管家’。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
在MIUI上干掉视频彩铃
Hide crbt(Coloring Ring Back Tone) in incallui for MIUI
不影响视频通话
首次启用后请重启手机
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
反馈问题可点击以上地址,发起issues
抓取 app 运行中的图片,并保存的sdcard/Picture目录下,方便取用和查看。
作者开发初衷只是用来抓表情包
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
模块无设置界面,勾选即生效。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
为各种 MIUI / HyperOS 设备解除多小窗限制
Unlock multi freeform limits for MIUI / HyperOS devices
GNU General Public License v3.0
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
# FunJni
在分析Apk的时候难免去分析So层,大多数native层都需要IDA调试,特别是分析数量很多的Apk的时候。我之前就想着,能不能对各种Naitive层进行监听。Apk放进去就可以实现自动化分析,包括调用了哪些方法,每个Java类里面保存了哪些数据。做了什么事情。特别是分析设备指纹的时候,Apk会采集非常多的设备信息。但是这些设备信息,无从下手,不知道应该从哪里改起,加上很多Apk都有混淆,分析起来是一件很费劲的事情。我们完全可以把一些关键信息,进行快速序列化,保存起来,对里面的东西直接搜索我们需要的内容即可即可 。
现在市面上有很多Java层的自吐工具,比如Hook,Java层的常见加密信息,以实现自吐,现在很多大厂基本都不会走Java层基础加密,大多数都是自己实现的加密方式,Java层最多只能算是辅助作用。几年之前还很好用,现在看起来有点鸡肋 。那么有没有什么比较好的分析Native的工具呢?
现在市面上常见的hook基本就是Frida和Xposed占大头,Frida常见的分析工具,比如Frida 的Jnitrace,Unidbg之类的 就很好用,根据Unidbg 的实现逻辑,targetSdk版本号检测,或者检测某个字符串的Hash的返回值 。
检测Frida的方法就更多了,各种反调试都是可以检测出来,比如文件,端口号,特征都是常见的anti点。
但是针对Xposed的检测却很难,需要先拿到Classloader,和一些特征才能判断是否被注入。特别是Lsposed,在Hunter里面也只能通过检测Libart的CRC,内存文件和本地文件的指令累加,判断是否相等,以检测Libart是否被修改,但是这种方式一般大厂也不敢轻易去上,很容易SIGN11。Lsposed因为是系统层注入,加上命名空间,还有本身Lsp的Classloader被隐藏了,在应用层很难去拿到比较好的特征点。这篇文章主要是介绍一下之前几年搞的各种小工具,做了个合计 。也方便各位以后能快速对各种Apk进行分析 。这篇文章读下来也会有不少收获 。
另外代码会开源,还希望各位老板多多start !
第一版本我只做了6个功能 。
第一版本算是搭了个架子,后面有时间的话会慢慢完善 。当然也欢迎各位大佬进行push和pull ,有好的建议可以在issues提想法 。
使用的话也很简单,Xposed模块,先选择需要Hook的Apk ,内存序列化和Native层Hook只能选一个 。如果没开启内存序列化的话,会弹窗。
推荐根据自己的需求去Hook指定的So 。比如libaaa.so ,只需要输入libaaa或者libaaa.so 即可,如果需要Hook监听多个So的话可以用|分割 。
如 libaaa.so|libbbb.so 即可 。下面会分别介绍一下具体的实现过程,不然只看代码学习效率很低。下面主要是一些实现的细节 。
这个很简单,直接把So注入即可,不同版本调用的api不同 。具体代码如下 。
public static void LoadSoForPath(String path, Object object) {
try {
CLog.e("load so path -> " + path);
if (Build.VERSION.SDK_INT >= 28) {
String nativeLoad = (String) XposedHelpers.callMethod(Runtime.getRuntime(), "nativeLoad", path, object);
CLog.e(nativeLoad == null ? "" : nativeLoad);
} else {
String doLoad = (String) XposedHelpers.callMethod(Runtime.getRuntime(), "doLoad", path, object);
CLog.e(doLoad == null ? "" : doLoad);
}
CLog.i("load so for path success "+path);
} catch (Throwable e) {
CLog.e("load so for path " + e.getMessage());
}
}
第一个参数是SO路径,这块有一个细节,卡住了不少人,就是这个方法的参数2,他是一个Classloader,这Classloader 表示当前注入So的Classloader ,在Native层不同的Classloader的作用域是不一样的,跟Dex一样,每个SO也是有属于自己的Classloader,因为Xposed的Classloader和当前进程Context的Classloader是不一样的。
如果你用当前进程的Context的Classloader进行注入,他会找不到Xposed加载的类,因为Classloader不一样 ,会一直提示class not find ,导致无法在Naitive层注册一个Native方法 。解决办法也很简单,直接用XposedHook类的.class.getClassLoader()即可 。
还有就是如何自动化区分被HookApk是64位还是32位。这块代码里面都会很详细的介绍和实现逻辑 ,具体参考代码。
什么是Java内存序列化,就是讲Java层整个虚拟机的全部Java实例转换成JSON字符串,保存到本地 。这个也是我经常用的功能之一 。
他有什么作用?比如一个很简单的CASE场景,我想知道一个大厂Apk设备指纹都保存在哪些Java类里面 ?都保存了什么东西 ?
直接让软件运行30秒以后( 这个时间可以根据自己的业务场景去控制),扫描一下内存即可 。遍历的时间和Apk的大小有关系,Apk越大保存的对象越多,耗时越长 。
获取内存实例,实现原理也很简单,之前文章介绍过如何获取 https://bbs.kanxue.com/thread-269094.htm
这个Api是一个隐藏api ,目前只做了 android 9- 11支持 。9-11是系统自带Api , 其他版本需要自己实现,我尝试在 5 - 9实现发现稳定性存在问题,所以在XposedJni里面做了判断,所以这个功能只有9-11支持 。
代码如下:
private void startSerialization(Context context) {
try {
//手动触发gc,清空多余实例
System.gc();
final File file = new File("/data/data/"
+ mTagPackageName + "/" + mProcessName + "_MemorySerializationInfo.txt");
if (file.exists()) {
file.delete();
}
file.createNewFile();
//子线程和主线程共享数据
ThreadUtils.runOnNonUIThread(() -> {
ArrayList choose = ChooseUtils.choose(Object.class, true);
int size = choose.size();
CLog.e("memory object size -> " + size);
for (int index = 0; index < size; index++) {
Object obj = choose.get(index);
String objStr = GsonUtils.obj2str(obj);
if (objStr != null) {
String objClassName = obj.getClass().getName();
String infoStr = index + "/" + size + "[" + mProcessName + "]" + objClassName + " " + objStr + "\n";
//增加效率暂不打印进度
//printfProgress(size,index,context);
//ToastUtils.showToast(context,"MemorySerialization["+index+"/"+size+"]");
CLog.i(infoStr);
FileUtils.saveStringNoClose(infoStr, file);
}
}
FileUtils.saveStringClose();
}, 30 * 1000);
} catch (Throwable e) {
CLog.e("startSerialization error " + e);
}
}
在子线程开启,将内存全部的Object实例拿到手以后,对每一个Object进行JSON字符串的转换,然后将转换以后的内容保存到本地 。包括Class的类名 。内容的JSON传等信息 。当然也可以根据自己需求取来,只获取需要的类即可 。比如我想查看内存里面全部的String变量 。可以将Object.class换成String.class即可 。方便快速分析和定位 。
效果如下基本一个大一点的Apk对象数量都超过15W以上,大约10分钟左右就可以遍历完毕,和手机配置有关系 。
2023-04-01 23:44:34.749 18522-19106/? I/Zhenxi: [Zhenxi] 287/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.749 18522-19106/? I/Zhenxi: [Zhenxi] 288/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.750 18522-19106/? I/Zhenxi: [Zhenxi] 289/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.752 18522-19106/? I/Zhenxi: [Zhenxi] 290/204804[进程名]android.system.StructStat {"st_atim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_atime":1680363817,"st_blksize":4096,"st_blocks":8,"st_ctim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_ctime":1680363817,"st_dev":64522,"st_gid":10236,"st_ino":137495,"st_mode":33200,"st_mtim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_mtime":1680363817,"st_nlink":1,"st_rdev":0,"st_size":148,"st_uid":10236}
2023-04-01 23:44:34.755 18522-19106/? I/Zhenxi: [Zhenxi] 291/204804[进程名]java.io.BufferedInputStream {"count":148,"marklimit":0,"markpos":-1,"pos":148}
2023-04-01 23:44:34.759 18522-19106/? I/Zhenxi: [Zhenxi] 292/204804[进程名]java.io.FileInputStream {"closeLock":{},"closed":true,"fd":{"descriptor":-1,"ownerId":0},"guard":{},"isFdOwner":true,"path":"/data/user/0/进程名/shared_prefs/RDeliveryHitSubTaskTagFile.xml","tracker":{"isOpen":true,"mode":"READ","opCount":1,"totalByteCount":16384}}
2023-04-01 23:44:34.772 18522-19106/? I/Zhenxi: [Zhenxi] 294/204804[进程名]java.lang.Object {}
2023-04-01 23:44:34.773 18522-19106/? I/Zhenxi: [Zhenxi] 295/204804[进程名]dalvik.system.CloseGuard {}
2023-04-01 23:44:34.774 18522-19106/? I/Zhenxi: [Zhenxi] 296/204804[进程名]libcore.io.IoTracker {"isOpen":true,"mode":"READ","opCount":1,"totalByteCount":16384}
2023-04-01 23:44:34.775 18522-19106/? I/Zhenxi: [Zhenxi] 297/204804[进程名]java.io.FileDescriptor {"descriptor":-1,"ownerId":0}
2023-04-01 23:44:34.776 18522-19106/? I/Zhenxi: [Zhenxi] 298/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.777 18522-19106/? I/Zhenxi: [Zhenxi] 299/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.778 18522-19106/? I/Zhenxi: [Zhenxi] 300/204804[进程名]android.system.StructTimespec {"tv_nsec":288510927,"tv_sec":1680363817}
2023-04-01 23:44:34.779 18522-19106/? I/Zhenxi: [Zhenxi] 301/204804[进程名]android.system.StructStat {"st_atim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_atime":1680363817,"st_blksize":4096,"st_blocks":8,"st_ctim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_ctime":1680363817,"st_dev":64522,"st_gid":10236,"st_ino":137495,"st_mode":33200,"st_mtim":{"tv_nsec":288510927,"tv_sec":1680363817},"st_mtime":1680363817,"st_nlink":1,"st_rdev":0,"st_size":148,"st_uid":10236}
... ...
这个是我之前写的一个小工具,地址如下。
https://github.com/w296488320/JnitraceForCpp
代码直接粘过来的 。今天有时间顺便改了改一些之前错误和多余的逻辑 。
主要监听的函数列表如下 。
HOOK_JNITRACE(env, CallObjectMethodV)
HOOK_JNITRACE(env, CallBooleanMethodV)
HOOK_JNITRACE(env, CallByteMethodV)
HOOK_JNITRACE(env, CallCharMethodV)
HOOK_JNITRACE(env, CallShortMethodV)
HOOK_JNITRACE(env, CallIntMethodV)
HOOK_JNITRACE(env, CallLongMethodV)
HOOK_JNITRACE(env, CallFloatMethodV)
HOOK_JNITRACE(env, CallDoubleMethodV)
HOOK_JNITRACE(env, CallVoidMethodV)
HOOK_JNITRACE(env, CallStaticObjectMethodV)
HOOK_JNITRACE(env, CallStaticBooleanMethodV)
HOOK_JNITRACE(env, CallStaticByteMethodV)
HOOK_JNITRACE(env, CallStaticCharMethodV)
HOOK_JNITRACE(env, CallStaticShortMethodV)
HOOK_JNITRACE(env, CallStaticIntMethodV)
HOOK_JNITRACE(env, CallStaticLongMethodV)
HOOK_JNITRACE(env, CallStaticFloatMethodV)
HOOK_JNITRACE(env, CallStaticDoubleMethodV)
HOOK_JNITRACE(env, CallStaticVoidMethodV)
HOOK_JNITRACE(env, GetObjectField)
HOOK_JNITRACE(env, GetBooleanField)
HOOK_JNITRACE(env, GetByteField)
HOOK_JNITRACE(env, GetCharField)
HOOK_JNITRACE(env, GetShortField)
HOOK_JNITRACE(env, GetIntField)
HOOK_JNITRACE(env, GetLongField)
HOOK_JNITRACE(env, GetFloatField)
HOOK_JNITRACE(env, GetDoubleField)
HOOK_JNITRACE(env, GetStaticObjectField)
HOOK_JNITRACE(env, GetStaticBooleanField)
HOOK_JNITRACE(env, GetStaticByteField)
HOOK_JNITRACE(env, GetStaticCharField)
HOOK_JNITRACE(env, GetStaticShortField)
HOOK_JNITRACE(env, GetStaticIntField)
HOOK_JNITRACE(env, GetStaticLongField)
HOOK_JNITRACE(env, GetStaticFloatField)
HOOK_JNITRACE(env, GetStaticDoubleField)
HOOK_JNITRACE(env, NewStringUTF)
HOOK_JNITRACE(env, GetStringUTFChars)
HOOK_JNITRACE(env, FindClass)
HOOK_JNITRACE(env, ToReflectedMethod)
HOOK_JNITRACE(env, FromReflectedMethod)
HOOK_JNITRACE(env, GetFieldID)
HOOK_JNITRACE(env, GetStaticFieldID)
HOOK_JNITRACE(env, NewObjectV)
都是一些常见的JNI交互函数,Hook以后在调用之前和调用之后将jobject 进行toString打印即可。这块需要注意的是打印可变参数和栈溢出问题,
因为我们也需要调用JNI函数,需要判断哪些SO监听,哪些不需要监听 ,剩下的就是代码细节实现了 。因为打印日志量比较多,所以需要将Log一些信息保存到本地文件里面 。代码实现也很简单,封装了大量的宏,减少工作量 。
//jobject CallObjectMethod(JNIEnv*, jobject, jmethodID, va_list args);
JNI_HOOK_DEF(jobject, CallObjectMethodV, JNIEnv *env, jobject obj, jmethodID jmethodId,
va_list args)
DL_INFO
IS_MATCH
GET_JOBJECT_INFO(env, obj, "CallObjectMethodV")
GET_METHOD_INFO_ARGS(env, obj, jmethodId, args, false)
jobject ret = orig_CallObjectMethodV(env, obj, jmethodId, args);
getJObjectInfoInternal(env, ret, "result object :", true, nullptr);
return ret;
}
}
return orig_CallObjectMethodV(env, obj, jmethodId, args);
}
//void CallVoidMethod(jobject obj, jmethodID methodID, va_list args)
JNI_HOOK_DEF(void, CallVoidMethodV, JNIEnv *env, jobject obj, jmethodID jmethodId,
va_list args)
DL_INFO
IS_MATCH
GET_JOBJECT_INFO(env, obj, "CallVoidMethodV")
GET_METHOD_INFO_ARGS(env, obj, jmethodId, args, false)
}
}
return orig_CallVoidMethodV(env, obj, jmethodId, args);
}
...
打印效果截取如下 :
2023-04-01 23:47:27.494 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : vb_platformInfo_channel_id
2023-04-01 23:47:27.494 21432-21457/? I/Zhenxi: [文件名] args 0 1 1
2023-04-01 23:47:27.495 21432-21432/? I/Zhenxi: [文件名] GetStringUTFChars : android.hardware.Sensor
2023-04-01 23:47:27.495 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : key_guid
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBIPExchanger_InnerInitTask
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : isMainProc proc:包名:cache packageName:包名
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBPBService-6447
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : NXNetwork_Transport_HttpImpl
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : [GetCarrierIPRequest]-1 connectStart():/60.28.219.101:443
2023-04-01 23:47:27.495 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBPBService-6447
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : QAD
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : setQAdMediaPlayerCreator() QAD_TVKPlayer注册成功
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : TVK-HighPriorityThread1
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBNetStateService_VBNetTypeHelper
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : getNetworkInfo network capability validated:true
2023-04-01 23:47:27.496 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBPBService-6447
2023-04-01 23:47:27.496 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : creator_account_info_key
2023-04-01 23:47:27.497 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : vb_platformInfo_channel_id
2023-04-01 23:47:27.497 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : key_guid
2023-04-01 23:47:27.498 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : creator_account_info_key
2023-04-01 23:47:27.498 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : vb_platformInfo_channel_id
2023-04-01 23:47:27.500 21432-21709/? I/Zhenxi: [文件名] GetStringUTFChars : key_guid
2023-04-01 23:47:27.502 21432-21486/? I/Zhenxi: [文件名] GetStringUTFChars : public_io_pool-6479
2023-04-01 23:47:27.503 21432-21796/? I/Zhenxi: [文件名] args 3 17 17
2023-04-01 23:47:27.503 21432-21796/? I/Zhenxi: [文件名] invoke method result Boolean : true
2023-04-01 23:47:27.504 21432-21432/? I/Zhenxi: <<<<<------------------CallBooleanMethodV start--------------------->>>>>
2023-04-01 23:47:27.506 21432-21432/? I/Zhenxi: [文件名] invoke this object android.hardware.Sensor {Sensor name="linear_acceleration", vendor="qualcomm", version=1, type=0, maxRange=156.98999, resolution=0.01, power=0.515, minDelay=5000}
2023-04-01 23:47:27.507 21432-21432/? I/Zhenxi: [文件名] invoke method private boolean android.hardware.Sensor.setType(int)
2023-04-01 23:47:27.508 21432-21432/? I/Zhenxi: [文件名] args 0 10 10
2023-04-01 23:47:27.508 21432-21432/? I/Zhenxi: [文件名] invoke method result Boolean : true
2023-04-01 23:47:27.509 21543-21672/? I/Zhenxi: [文件名] GetStringUTFChars : VBNetStateService_VBNetTypeHelper
2023-04-01 23:47:27.509 21432-21459/? I/Zhenxi: [文件名] invoke this object android.view.ViewRootImpl$W android.view.ViewRootImpl$W@43c430d
...
主要处理函数如下
void stringHandler::init() {
void *handle = dlopen("libc.so", RTLD_NOW);
if (handle == nullptr) {
LOG(ERROR) << "strhadler get handle == null ";
return;
}
HOOK_SYMBOL_DOBBY(handle, strstr)
HOOK_SYMBOL_DOBBY(handle, strcmp)
HOOK_SYMBOL_DOBBY(handle, strcpy)
HOOK_SYMBOL_DOBBY(handle, strdup)
HOOK_SYMBOL_DOBBY(handle, strxfrm)
HOOK_SYMBOL_DOBBY(handle, strtok)
// HOOK_SYMBOL_DOBBY(handle, memcpy)
// HOOK_SYMBOL_DOBBY(handle, read)
// HOOK_SYMBOL_DOBBY(handle, write)
// HOOK_SYMBOL_DOBBY(handle, sprintf);
// HOOK_SYMBOL_DOBBY(handle, printf);
// HOOK_SYMBOL_DOBBY(handle, snprintf);
// HOOK_SYMBOL_DOBBY(handle, vsnprintf);
其他大部分底层都是这几个函数,也是将不同函数的参数进行hook和拦截 。在处理之前和处理之后进行打印 。一般不注重安全的程序员,都会用系统的函数进行比较和替换,而非自己去实现,比如比较当前进程是否正在被调试,我们只需要打印比较传入的参数的内容 。找到以后直接打印调用栈和函数地址 。
可以很快速的定位反调试的位置 。还有其他地方, 也可以通过这些函数也可以获取到很多有用的信息 。
这块我想处理一下C++ STD里面的string ,因为string 会被inline ,所以只能去宿主so里面去hook 。就一直没来得及时间去处理后面有时间补上 。
打印效果如下:
2023-04-01 23:51:02.119 22893-22970/? I/Zhenxi: [文件名]strcmp() arg1 -> /storage/emulated/0/DCIM/.tmfs/.turing.dat arg2-> /storage/emulated/0/.turing.dat
2023-04-01 23:51:02.119 22893-22970/? I/Zhenxi: [文件名]strcmp() arg1 -> /storage/emulated/0/DCIM/.tmfs/.turing.dat arg2-> /storage/emulated/0/DCIM/.tmfs/.turing.dat
2023-04-01 23:51:02.119 22893-22970/? I/Zhenxi: [文件名]strcmp() arg1 -> /storage/emulated/0/.turing.dat arg2-> /storage/emulated/0/.turing.dat
2023-04-01 23:51:02.120 22893-22970/? I/Zhenxi: [文件名]strcmp() arg1 -> /data/user/0/com.xxxxxx.vvvv/app_turingdfp/1/.turing.dat arg2-> /storage/emulated/0/.turing.dat
2023-04-01 23:51:02.120 22893-22970/? I/Zhenxi: [文件名]strcmp() arg1 -> /data/user/0/com.xxxxxx.vvvv/app_turingdfp/1/.turing.dat arg2-> /storage/emulated/0/DCIM/.tmfs/.turing.dat
2023-04-01 23:51:02.136 23013-23041/? I/Zhenxi: [文件名]strcpy() arg1 -> android.os.Handler$MessengerImpl arg2-> android.os.Handler$MessengerImplresult -> android.os.Handler$MessengerImpl
2023-04-01 23:51:02.136 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> org.chromium.android_webview.AwContents arg2-> android.os.Handler$MessengerImpl
2023-04-01 23:51:02.136 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> android.app.ActivityThread$ApplicationThread arg2-> android.os.Handler$MessengerImpl
2023-04-01 23:51:02.136 23013-23041/? I/Zhenxi: [文件名]strcpy() arg1 -> android.os.IMessenger$Stub arg2-> android.os.IMessenger$Stubresult -> android.os.IMessenger$Stub
2023-04-01 23:51:02.137 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> org.chromium.android_webview.AwContents arg2-> android.os.IMessenger$Stub
2023-04-01 23:51:02.137 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> android.app.ActivityThread$ApplicationThread arg2-> android.os.IMessenger$Stub
2023-04-01 23:51:02.137 23013-23041/? I/Zhenxi: [文件名]strcpy() arg1 -> android.os.Binder arg2-> android.os.Binderresult -> android.os.Binder
2023-04-01 23:51:02.137 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> org.chromium.android_webview.AwContents arg2-> android.os.Binder
2023-04-01 23:51:02.138 23013-23041/? I/Zhenxi: [文件名]strcmp() arg1 -> android.app.ActivityThread$ApplicationThread arg2-> android.os.Binder
....
这个实现也很简单,直接hook artmethod里面的RegisterNative ,然后调用prettyMethod函数指针打印artmethod信息 。
我这块在在回调里面打印了,方法基础签名信息 ,绝对地址,相对地址,所属efl文件 。这个方法里面没做判断,会打印注册全部的信息 。
HOOK_DEF(void*, RegisterNative, void *thiz, void *native_method) {
string basicString = invokePrintf_org_PrettyMethodSym(thiz, true);
if (isSave) {
*invokeOs << basicString.append("\n");
}
Dl_info info;
dladdr(native_method, &info);
size_t relative_offset =
reinterpret_cast(native_method) - reinterpret_cast(info.dli_fbase);
LOG(INFO) <<"REGISTER_NATIVE " << basicString.c_str() << " absolute address(内存地址) -> "
<< native_method << " relative offset(相对地址) "<<(void*)relative_offset
<<"所属ELF文件 ["< 0x77787377fc relative offset(相对地址) 0x3357fc所属ELF文件 [mmmm.so]
2023-04-01 23:53:12.617 24017-24247/? I/Zhenxi: REGISTER_NATIVE long com.xxxxxx.bbbb.core.downloadproxy.jni.TPDownloadProxyNative.verifyOfflineCacheSync(java.lang.String, int, java.lang.String, java.lang.String)
absolute address(内存地址) -> 0x7778737908 relative offset(相对地址) 0x335908所属ELF文件 [mmmm.so]
2023-04-01 23:53:12.617 24017-24247/? I/Zhenxi: REGISTER_NATIVE void com.xxxxxx.bbbb.core.downloadproxy.jni.TPDownloadProxyNative.setPlayerState(int, int)
absolute address(内存地址) -> 0x7778737a68 relative offset(相对地址) 0x335a68所属ELF文件 [mmmm.so]
2023-04-01 23:53:12.617 24017-24247/? I/Zhenxi: REGISTER_NATIVE void com.xxxxxx.bbbb.core.downloadproxy.jni.TPDownloadProxyNative.updateTaskInfo(int, java.lang.String, java.lang.String)
absolute address(内存地址) -> 0x7778737a74 relative offset(相对地址) 0x335a74所属ELF文件 [mmmm.so]
2023-04-01 23:53:12.617 24017-24247/? I/Zhenxi: REGISTER_NATIVE void com.xxxxxx.bbbb.core.downloadproxy.jni.TPDownloadProxyNative.updatePlayerPlayMsg(int, int, int, int)
absolute address(内存地址) -> 0x7778737b78 relative offset(相对地址) 0x335b78所属ELF文件 [mmmm.so]
2023-04-01 23:53:12.617 24017-24247/? I/Zhenxi: REGISTER_NATIVE boolean com.xxxxxx.bbbb.core.downloadproxy.jni.TPDownloadProxyNative.isNativeReadyForWork()
absolute address(内存地址) -> 0x7778737b8c relative offset(相对地址) 0x335b8c所属ELF文件 [mmmm.so]
...
这个方法里面主要是Hook了 linker 底层open的方法,在Linker刚刚将内存加载到内存里还没有进行初始化的时候,得到一个回调。
也是详细打印了各种信息 ,比如SO开始地址,结束地址,ELF的长度。可以在这块进行SO的dump和保存,这个时机点还有一个作用就是做监听和资源文件。
举个栗子,在对游戏源码进行脱壳和修复的时候,比如LUA文件的dump修复,是需要先Hook buffloader函数的 ,也就是在这这个时机点进行Hook 。So刚刚加载到内存里面,还没有进行源码的加载,即刻进行Hook ,这么一来他加载的文件都会被拦截。实际太早或者太晚,都可能导致dump的不全 。
这块也是暴露出来一个时机点,方便Hook 。
void onSoLoadedAfter(const char *filename,void *ret){
auto mapInfo = getSoBaseAddress(filename);
char buffer[PATH_MAX];
sprintf(buffer, "linker load %s start-> 0x%zx end-> 0x%zx size -> %lu",
filename, mapInfo.start, mapInfo.end, (mapInfo.end - mapInfo.start));
if (isSave) {
if (hookStrHandlerOs != nullptr) {
(*hookStrHandlerOs) << buffer;
}
}
LOGI("%s ", buffer);
}
打印效果如下:
2023-04-01 23:53:12.023 24017-24429/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/yyyy.so start-> 0x77a275b000 end-> 0x77a27ad000 size -> 335872
2023-04-01 23:53:12.140 24017-24247/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/kkkk.so start-> 0x778f68b000 end-> 0x779054c000 size -> 15470592
2023-04-01 23:53:12.172 24017-24424/? I/Zhenxi: linker load libnetd_client.so start-> 0x78ff86c000 end-> 0x78ff875000 size -> 36864
2023-04-01 23:53:12.362 24017-24429/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/libckeygeneratorV2.so start-> 0x7783a48000 end-> 0x7783aeb000 size -> 667648
2023-04-01 23:53:12.410 24017-24429/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/libxps_ws.so start-> 0x778159a000 end-> 0x77816ef000 size -> 1396736
2023-04-01 23:53:12.611 24017-24247/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/libDownloadProxy.so start-> 0x7778402000 end-> 0x7778d73000 size -> 9900032
2023-04-01 23:53:12.700 24017-24247/? I/Zhenxi: linker load libc.so start-> 0x7900557000 end-> 0x7900653000 size -> 1032192
2023-04-01 23:53:12.729 23903-23903/? I/Zhenxi: linker load /data/app/~~KJajvMQT0WLC5kpaiv75pA==/baoming-ZPiDMFjwVCA12Ot9z_btog==/lib/arm64/kkkk.so start-> 0x772d186000 end-> 0x772e047000 size -> 15470592
...
主要是Hook了artmethod的invoke方法,一切的java方法底层都会走这个方法,包括脱壳也是修改的这个方法获取被抽取的指令,然后对Dex进行重构 。
我想尝试在这个方法里面对参数进行打印,但是失败了,在源码里面很好修改,但是通过Hook的话很多函数拿不到 ,加上一些核心的方法被编译器inline了,很不好操作和处理,就没继续关注了 。如果你有想法和思路可以提issues 或者提交代码 。这个方法不建议开启,个人用的很少,主要打印量太大了,一秒几千条日志 。他会打印系统的一些Java方法 ,所以很卡顿 ,不过如果你想做监听和记录 ,分析一些隐藏Api很有用 。callback实现如下 。
HOOK_DEF(void*, invoke, void *thiz, void *self, uint32_t *args, uint32_t args_size, void *result,
const char *shorty) {
string basicString = invokePrintf_org_PrettyMethodSym(thiz, true);
LOG(INFO) << "invoke method info -> " << basicString;
if (isSave) {
*invokeOs << basicString.append("\n");
}
return orig_invoke(thiz, self, args, args_size, result, shorty);
}
这个是一个我自己封装的一个native库,里面有很多常用的方法,都进行了封装 ,删除了一些改机和没用的模块,留了一些常用的模块 。
主要是下面几个比较常用的 ,也方便后续开发和维护 。
比如常见的hook操作 。如何inlinehook少于四个字节的方法,如何插装hook和如何异常hook 。这些都不需要关注,导入头文件以后直接 。
HookUtils::Hooker(xxx,(void *) xxx,(void **) &new_xxx);
一键hook即可 。底层封装分三步实现,先dobby hook ,失败了则使用异常hook, 最后dobby插装 。代码如下
bool HookUtils::Hooker(void *dysym, void *newrep, void **org) {
if (dysym == nullptr) {
LOG(ERROR) << "dobby hook org == null ";
return false;
}
if (hookedList == nullptr) {
hookedList = new list();
}
//如果这个地址已经被Hook了 。也有可能返回失败 。dobby 会提示 already been hooked 。
for (void *ptr: *hookedList) {
if (ptr == dysym) {
//如果保存了这个地址,说明之前hook成功过,我们也认为hook成功
return true;
}
}
bool ret = DobbyHook(dysym,
reinterpret_cast(newrep),
reinterpret_cast(org)) == RT_SUCCESS;
if (ret) {
//LOG(ERROR) << "hook utils hook success !" ;
//将地址添加到已经hook的列表,防止这个地址被多次hook
hookedList->push_back(dysym);
return true;
}
//如果dobby hook失败了,采用sandhook异常hook进行补救,
LOG(ERROR) << "zhenxi runtime inlinehook start sandhook InlineHookImpl ";
ret = SandHook::Inline::InlineHookImpl(dysym, newrep, org);
if (ret) {
hookedList->push_back(dysym);
return true;
}
LOG(ERROR)
<< ">>>>>>>>>>>>>>> sandhook inlinehook hook error,start dobby branch_trampoline hook ";
//如果sandhook sign hook 也失败了,我们采用dobby附近插装去hook
dobby_enable_near_branch_trampoline();
//二次hook
ret = DobbyHook(dysym,
reinterpret_cast(newrep),
reinterpret_cast(org)) == RT_SUCCESS;
//关闭附近插装
dobby_disable_near_branch_trampoline();
if (!ret) {
LOG(ERROR) << "!!!!!!!!!!!!!!! HookUtils hook error ";
return false;
}
hookedList->push_back(dysym);
return ret;
}
其他的不一一概述了,感兴趣的可以去看代码 。项目主要采用C++ 20编译的,需要NDK 23以上版本支持 。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
本人之前开发了一个模块,叫“哔哩发评反诈”,用于反制中国大陆视频网站哔哩哔哩的阿瓦隆控评系统,自动检查评论是否正常还是仅自己可见、秒删。
但我在使用YouTube的过程中,发现给某视频主的提问一直未得到回复,打开无痕模式,我的评论竟消失在此用于参照的上下两条评论之间!
这熟悉的味道,不就是ShadowBan吗?!哔哩哔哩阿瓦隆一样的作风啊!仅自己可见!!我印象中还有一分钟后直接删除的,就在我回复给某位要我联系方式的时候,发出去后一分钟后自己也看不到评论了。更牛逼的是:即使我用更隐晦的表达方式,如“tg与我此用户名一致”都能识别出来并且在一分钟后删除,最终我再怎么修改评论也无法联系哪位问我问题的人。这真是AI审查了吧,遥遥领先B站!
在模块未适配新版本时,请勿更新YouTube,这会导致模块失效!!因为要hook的混淆类名几乎每发布一个版本就会改变
对视频按分享所生成的URL,例如https://youtu.be/1Q-5eIBfBDQ?si=XXxxxxxxxX_xx_xX
真正有用的是https://youtu.be/1Q-5eIBfBDQ
,后面的?si=XXxxxxxxxX_xx_xX
为跟踪参数,用于区分谁分享的链接。开启此功能后自动删除后尾的跟踪参数,保护隐私。
你在YouTube点击某蓝色可点击链接,如https://u.jd.com
打开后跳转浏览器,浏览器地址栏显示的却是https://www.youtube.com/redirect?event=backstage_event&redir_token=XXX......XXX&q=https://u.jd.com/&html_redirect=1
,然后才跳转目标网址。BYD!这个“redir_token”是干嘛的心里有点逼数,为了收集隐私强加一个重定向链接,还他妈拖慢速度,梯子慢一点直接打不开!开启此功能将把“/redirect”重定向链接转为你本要打开的链接,避免拖满打开速度以及被恶意收集隐私。
由于YouTube用上了遥遥领先的AI审查,所以反射弧比哔哩哔哩长上25倍(审查所浪费的电也是b站的10坤倍?)!哔哩哔哩审核一条评论1秒左右,而YouTube要25秒左右!!检查过程及其漫长,因此默认的等待时间是15秒。引入了重找机制,如果等待设定时间后未在无账号评论区找到,将等待设定时间后重新查找无账号下的评论区,若找到了则说明评论正常只是审核漫长,若没找到则继续等待一段时间后再查找,重复操作直到设定的上限,若到了上限还未找到,则停止重找循环,评论基本上是被ShadowBan了。不过还有系统审核后删除的情况,因重找循环的漫长时间,系统可能已经把你评论删除了,所以要再次查找一次有账号的评论区,已判断是否被系统删除,没有就是ShadowBan。
当然,检查的时间是非常漫长的,即使评论正常也要等上15秒(默认),遇到ShadowBan的情况那还得多等56=30秒(默认)。若你不关注查找过程,建议在等待的15秒里,点击“后台等待”,会转入通知进行等待。若15秒等待时间已结束,进入重找机制后将不可后台等待!*默认等待120秒,等待期间你可以做别的,等待完成后,将有一条通知,点击通知即可继续进行检查。因为等待时间充足(请设定超过一分钟的等待时间),将不会使用重找机制,若没找到将不会进行重找,直判定为ShadowBan,也不会再重检查是否被系统删除(等待时间够长且没有漫长的重找过程,前一轮的判断是否被系统删除就已是最终的结果)。若你不慎划掉了通知,又或者被杀后台,你可以去“待检查的评论”里找到你的评论进行检查。
若无特殊说明,查找的评论区都以发布时间排序
目前仅支持视频的评论区,暂不支持评论回复的检查,以及帖子的评论区。
graph TB
00["Get到评论发送信息"] --等待设定时间--> 10["在有账号状态下查找与发送返回的评论id相同的评论"]
10 --没找到--> 20["评论被系统删除"]
10 --找到了--> 30["获取此评论下面的一条评论id作为锚点用于定位(如果有)"] --> 45["无账号状态下查找你的评论"]
45 --找到了--> 50["评论正常显示"]
45 --找到了锚点评论----> 60["停止翻页(因为你的评论总是在锚点评论之上)"] --> 85
45 -- "无锚点评论定位,翻到了评论区最后一页没有找到" --> 85
85{"是否到达重找次数上限?"} --"没有"--> 等待设定时间 --> 45
85 --已到上限--> 90["评论被shadowban?"]
90 --> 100["再次在有账号的评论区查找你的评论"]
100 -- 没找到 --> 评论被系统删除
100 -- 找到了 --> 评论被ShadowBan
本应用第一语言为简体中文,默认语言为英语,英语部分为机翻,若有误请到crowdin帮我修正!
当然此篇README也需要翻译,有好的翻译结果可以issues跟我说一声:)
https://zh.crowdin.com/project/youtubesendcommentantifraud/
您可以在墙内外任何地方宣传此模块!若在墙内平台宣传,请勿提到我的另一个作品:哔哩发评反诈!
GitHub项目主页:https://github.com/freedom-introvert/YouTubeSendCommentAntiFraud
tg交流群zh(与哔哩发评反诈共用):https://t.me/biliSendCommAntifraud
tg交流群en(暂无)
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
碧蓝航线反和谐
https://github.com/liusj5257/azurlane_anti_name
支付宝请备注ID
感谢支持
嘿嘿嘿 orvin 山田赫敏 Yichv 时间似深海 炸鸡排 慕缘 vvan22 爱发电用户_vNQs Moemiku 爱发电用户_M5Ew 红豆喵Azuki 黯黑零尧 AHua 爱发电用户_EjpU 毋华 kita 2535414439 DDDIO 琴寄文乃 海水 冷火飘零 一号 时间似深海 Yonagi 爱发电用户_yfSB Croon 小鳥遊ホシノ kuuga 竹南 星宇 不知山海即天涯
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
Enable this module to allow setting system gesture as nagation when using third party launcher.
Strong Mode: Force using gesture all the time, regardless the setting.
NOTE: You STILL need tools for back, such as Fluid Navigation Gestures.
众所周知,金凡限制在使用第三方启动器时使用手势。当然,我们可以使用魔法解除限制。
settings put global force_fsg_nav_bar 1
但是,这个魔法在每次重启系统或者重启系统UI的时候失效,而且大概每天都需要重新执行一次,造成很多不便。使用这个模块就可以破除限制。
启用这个模块就可以破除这个限制,可以使用第三方启动器时使用手势,而且禁用了系统UI启动时的检查。
暴力模式:永久使手势生效,无论设置如何。
注意:你仍然需要工具提供返回功能,比如流体手势导航。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
WooBox For MIUI
English 丨 简体中文
一个基于 MIUI13+(Android12+)适配的系统拓展Xposed模块
开发者:酷安@乌堆小透明
Xposed仓库下载:点击此处下载最新发行版
酷安下载:点击此处下载最新发行版
qqlittleice/MiuiHome
yujincheng08/BiliRoaming
Mikanoshi/CustoMIUIzer
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
通过Hook米画师的密码输入接口并在指纹识别正确后填入密码来实现指纹识别
https://github.com/ghhccghk/mhspay
去这里的Issue 交流
该模块仅在Xposed module repo官方仓库发布
严禁在公开区域宣传与展示本软件!
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
简体中文 | English
在任意Android 9–15设备上触发圈定即搜(Circle to Search)功能
本应用只负责触发圈定即搜,无法处理触发成功后可能出现的问题
安装最新版Google应用,开启自启动,关闭后台限制,将默认助理应用设置为Google
安装并打开MiCTS
设置触发方式
需要在LSPosed里激活模块
CSService:支持Android 15及以上,圈定即搜专用的服务,效果同CSHelper
长按小白条触发:仅支持小米设备,依赖作用域选择系统桌面
长按Home键触发:仅支持小米设备,依赖作用域选择系统框架
Google机型伪装:依赖作用域选择Google
大概率是没有将Google设为默认助理,检查一下
Google不是最新版,更新一下
原因应该是墓碑机制导致的,看看手机有没有相关的设置可以把Google加到白名单里,比如电池优化选择无限制等,在模块设置里系统触发服务
使用CSHelper
应该没有这个问题
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:21
一个自定义全局电池电量保护值的 Xposed 模块
[!WARNING]
如因使用本模块造成的一切后果, 项目组概不负责, 包括但不限于设备损坏、数据丢失等, 使用者需自行承担风险。
本项目不对任何任何衍生项目负责。
目前仅测试了 HyperOS 2, 其他版本可能会有问题
在省电与电池-电池保护
页面中, 必须有电池健康保护
选项
安装 Xposed 模块后, 进入省电与电池-电池保护
页面, 启用电池健康保护
, 重启作用域或手机即可
如果配置为 75%
全部 80% 的地方都改为 75%
充电电量最高到 75%, 电池保护
页面 UI 显示 75%, 通知提示显示 75%
无配置文件默认为 75%
如需调整充电限制, 需要修改 /Android/data/com.miui.securitycenter/files/ChargeProtectSetter/charge_level
文件, 不存在需要创建一个
直接填写电量数字, 没有百分号,没有换行
比如 调整至 75%, 则文件内容为 75
为了保持电池安全/健康, 限制范围不低于 15%, 不超过 95%
电池健康的循环范围是 20%-80%, 超出范围导致的一切问题 由使用者自行承担责任, 项目组概不负责
特此感谢 焕晨的 AutoSEffSwitch 项目, 这是本人的第一个 Xposed 模块, 整体代码结构参考了 AutoSEffSwitch, 由衷感谢
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
With the release of Android 14, Google added an API to enable app developers to detect screenshots. This API has since been adopted by popular apps such as Snapchat.
CaptureSposed is an Xposed module that effectively disables this API to prevent apps that use it from being able to detect when a screenshot was taken.
⚠️ WARNING: CaptureSposed is intended for rooted devices running Android 14 and requires Xposed. The required Xposed variant to use is LSPosed. Other Xposed variants will not work. This module cannot be guaranteed to work on all devices. In the worst case, it can cause a bootloop. Use at your own risk. Additionally, this module does not protect against screenshot detection from apps that use the pre-Android 14 approach of using file system listeners to detect screenshots (ref 1, ref 2).
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:15
一个禁止卸载和禁止清除用户数据的Xposed模块
A Xposed Module that prevents apps be uninstall or apps' data be cleared
1 | 2 | 3 | 4 |
---|---|---|---|
Android 5.0 - Android 14
I have tested with my phone on Android 14, and it works well. I can't ensure it works on your phone.
So before you use it, you must test it with an irrelevant app by yourself.
I am not responsible for any data loss if you test it using an important app.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:35
AutoSEffSwitch
是一个在连接蓝牙耳机或有线耳机自动切换音效为原声状态的模块!
Miui
, HyperOS
)模块具体功能如下
详细:
模块需要使用的作用域: 音质音效
。
项目名称 | 项目链接 |
---|---|
HookTool | HookTool |
LSPosed | LSPosed |
DexKit | DexKit |
翻译提供 | 提供者 |
简体中文 | 焕晨HChen |
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:22
让fcm/gcm唤醒未启动的应用进行发送通知
fcm是在Android中由google维护的一条介于google服务器与gms应用之间用于推送通知的长链接。
一般的工作流程为应用服务器将消息发送到google服务器,google服务器将消息推送给gms应用,gms应用通过广播传递给应用,应用通过接收到的fcm消息决定是否发送通知和通知内容。
其中gms通过fcm广播通知应用时,如果应用处于非运行状态,就会出现Failed to broadcast to stopped app
,fcmfix主要就是解决这个问题。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:20
AppRetentionHook
English | 简体中文 本模块通过Hook系统kill逻辑来实现后台保活,这是一个Lsp模块。
系统框架(system)
和电量和性能(powerkeeper)[如果有]
雅典娜(Athena)
和电池
和系统框架(system)
本模块通过Hook系统kill逻辑来实现后台应用保活。
HyperOS(A14)
MIUI14(A13,A12,A11)
OPPO系统(A14,A13,A12)
AOSP(A14,A13,A12,A11)
等。其中包括但不限于:QQ(腾讯) B站 抖音 GitHub(安卓) Twitter(X) Telegram(电报) YouTobe 等软件
由于修改了系统运行逻辑本模块可能存在如下问题:
比如:
提醒:使用例如:OPPO
VIVO
华为(Huawei)
等第三方厂商的系统,他们可能包含厂商自定义的kill逻辑,对模块效果有一定影响。
项目名称 | 项目链接 |
---|---|
Cemiuiler | Cemiuiler |
Don't Kill | Don-t-Kill |
翻译提供 | 提供者 |
English | 焕晨HChen ,ℓοѕτ οиє ⌕ — ??(Telegram Name) |
简体中文 | 焕晨HChen |
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:33
防止特定应用被侧滑杀死或一键清理
理论上支持 Android 9~12,MIUI 12+
可能也支持更低版本的 Android 和 MIUI 11,如需使用请自行测试
项目地址:Mufanc/AppLock
发行版下载:模块仓库
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:14
GravityBox is a module which primary goal is to provide the users of devices running vanilla or close to vanilla Android
with a tweak box that turns their stock ROM into a custom ROM packed with additional features and tweaks;
without the need of flashing a custom ROM. Most of the preferences can be changed on-the-fly without rebooting.
This module utilizes EdXposed Framework which is still in early development stage and may contain bugs or might not be fully compatible with system of your Android device. I take no responsibility for any issues arising from using GravityBox with EdXposed and strongly recommend creating a full backup of your device before activating the module.
THIS VERSION IS FOR PIE ROMs - For Lollipop, use GravityBox [LP] - For KitKat, use GravityBox [KK] - For JellyBean, use GravityBox [JB] - For Marshmallow, use GravityBox [MM] - For Nougat, use GravityBox [N] - For Oreo, use GravityBox [O]
... and many more
Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features. Currently there are two premium features: 1) Backup/restore of GB settings 2) Ultimate notification control
If you contributed to the project by providing translations, code fragments, or by any other way. You can apply for a free transaction ID by contacting me via PM @ forum.xda-developers.com
Be aware that there's a system that can identify potential transaction ID abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically. This can also happen when you previously exposed your ID in public forum and other users took advantage of it. If this is the case, contact me via PM so I can issue new, special ID. In case you own more devices, you can use one transaction ID on up to 10 of them.
If you are using your own custom builds of GB for personal use, you will get hash mismatch upon verifying your ID as verification system accepts requests only from official releases of GB. If you want to be able to verify IDs with your custom build, contact me via PM so I can setup a special hash for your build. If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM), It is necessary to ask for new hash everytime your new custom version is released for public use. These rules are based on mutual trust so please, do not violate them.
Donation is also possible by purchasing GravityBox Unlocker from the Play Store
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:28
Xposed module for Samsung Pie (Android 9) devices.
The module has the following features: - Fake system status to Official - Selectable advanced power menu options: - Power off - Restart - Emergency mode - Recovery - Download - Data mode switch - Screenshot - Switch User (when multi user is enabled) - SystemUI restart - Flashlight - Screen Recorder (requires Samsung screen recorder app installed) - Disable restart confirmation - Enable call recording - Replace add call button instead of call recording - Enable call recording from menu - Auto call recording - Hide VoLTE icon in status bar - Hide persistent USB connection notification - Hide persistent charging notification - Enable block phrases in messages app settings - Enable native blur on notification panel pull down - Enable navigation bar color settings in Navigation Bar settings - Navigation bar custom color picker - Enable multi user toggle - Set max user value selector - Show seconds in status bar clock toggle - Show clock date on right of clock toggle - Add date to status bar clock options - Enable fingerprint unlock on reboot toggle - Enable biometrics unlock on reboot toggle - Add network speed menu to show network speed in the status bar - Data icon symbol selection (4G, LTE, 4G+, 4.5G) - Show Data usage view in quick panel - Double tap for sleep - Hide NFC icon - Disable Bluetooth toggle popup - Disable sync toggle popup - Disable high level brightness poup - Hide carrier label - Carrier label size selection - Disable loud volume warning - Disable volume control sound - Disable low battery sound - Screen timeout settings - NFC behavior settings - Auto MTP - Disable camera temperature check - Enable camera shutter sound menu - Disable call number formatting - Disable SMS to MMS threshold - Force MMS connect - Bypass exchange security - Disable signature check - Disable secure flag
This was built and tested on the Samsung Galaxy S8 G950F (Exynos) varient. Confirmed working on: - Galaxy S8 - Galaxy S8+ - Galaxy Note 8 - Galaxy S9 - Galaxy Note 9 - Galaxy S10 - Galaxy S10+ - Galaxy Tab S4
THERE COULD BE BUGS/CRASHES/BOOTLOOPS, but it's pretty stable. I've been working with both solohsu and C3C0 on testing EdXposed on Samsung devices.
In the Pie version of FirefdsKit, I have updates the project in the following aspects: 1. Moved project from Eclipse to Android Studio 2. Updated compile SDK version to use latest SDK (28) 3. Updated dependencies to use online sources
To install this module you need the following apps and modules installed on your device: 1. Magisk v18.1 and above - https://github.com/topjohnwu/Magisk/releases 2. Magisk Manager v7.0.0 and above - https://github.com/topjohnwu/Magisk/releases 3. Riru Magisk module v16.0 and above - https://github.com/RikkaApps/Riru/releases 4. EdXposed Magisk module v0.3.0.0_beta2 and above - https://github.com/ElderDrivers/EdXposed/releases 5. EdXposed Installer v2.2.1 and above - https://github.com/solohsu/XposedInstaller/releases
The project uses the following libraries: 1. https://github.com/topjohnwu/libsu 2. https://github.com/rovo89/XposedBridge 3. https://github.com/rovo89/XposedMods/tree/master/XposedLibrary 4. https://github.com/jaredrummler/ColorPicker 5. Samsung framework libraries which are used for compile only
This module wouldn't have been here without the following people: - RikkaW - Creator of Riru Magisk module, which provides a way to inject codes into zygote process - rovo89 - Creator of the original Xposed framework APIs - solohsu and MlgmXyysd - Creators of the EdXposed Magisk module and Installer that made all of this possible - C3C0 - Creator of GravityBox Xposed modules, which I learnt a lot from - Wanam - Creator of the original XTouchWiz module, which this module is based on. - topjohnwu - Creator of Magisk - AbrahamGC - For the Extended Power Menu - Pie - Odex framework Smali guide - jaredrummler - For Color Picker library
This is a moded version of Wanam's XTouchWiz: https://github.com/wanam/XTouchWiz
Announcements and pre release versions - https://t.me/firefdskit
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:14
GravityBox is a module which primary goal is to provide the users of devices running vanilla or close to vanilla Android
with a tweak box that turns their stock ROM into a custom ROM packed with additional features and tweaks;
without the need of flashing a custom ROM. Most of the preferences can be changed on-the-fly without rebooting.
THIS VERSION IS FOR OREO ROMs - For Lollipop, use GravityBox [LP] - For KitKat, use GravityBox [KK] - For JellyBean, use GravityBox [JB] - For Marshmallow, use GravityBox [MM] - For Nougat, use GravityBox [N]
... and many more
GravityBox requires EdXposed v0.4 or later with resource hooking support
Those who supported development via PayPal donation can use their PayPal transaction ID to unlock premium features. Currently there are two premium features: 1) Backup/restore of GB settings 2) Ultimate notification control
If you contributed to the project by providing translations, code fragments, or by any other way. You can apply for a free transaction ID by contacting me via PM @ forum.xda-developers.com
Be aware that there's a system that can identify potential transaction ID abuse. E.g. when one ID is being used by more users. Such IDs will get blocked automatically. This can also happen when you previously exposed your ID in public forum and other users took advantage of it. If this is the case, contact me via PM so I can issue new, special ID. In case you own more devices, you can use one transaction ID on up to 10 of them.
If you are using your own custom builds of GB for personal use, you will get hash mismatch upon verifying your ID as verification system accepts requests only from official releases of GB. If you want to be able to verify IDs with your custom build, contact me via PM so I can setup a special hash for your build. If you are using a custom build that you provide for broader group of users (e.g. in a custom ROM), It is necessary to ask for new hash everytime your new custom version is released for public use. These rules are based on mutual trust so please, do not violate them.
Donation is also possible by purchasing GravityBox Unlocker from the Play Store
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:27
# FunDex2
基于Xposed现实的Dex脱壳机:
支持5-13系统
使用方式:
1、在模块页面选择需要脱壳对应的Apk。
2、Lsposed激活插件。
3、启动目标Apk即可。
脱掉的Dex文件保存在/data/data/包名/目录下。
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:16
现阶段支持 1.soul 2.七猫免费小说 3.快手 4.快手极速版 5.抖音 6.抖音极速版 7.最右 8.番茄免费小说 9.皮皮虾 10.西瓜视频 11.皮皮搞笑 12.MX Player Pro(免费使用) 13.小红书 14.TikTok 15.百度贴吧 16.最右 17.番茄畅听 18.ES 文件浏览器 19.QQ
使用方法 在框架中勾选PlusNE,并且设置作用域
1.进入抖音\抖音极速版等
2.打开设置页面
3.拉到最下面点击PlusNE版本信息即可
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:32
墨•状态栏歌词
GNU General Public License v3.0
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:24
Spoof your device as different model for specific games to unlock higher FPS
To get started with Game Unlocker, follow these steps:
Ensure that your Android device is rooted.
Install the Xposed/Lsposed Framework on your device.
Download the Game Unlocker module from the releases section of this repository.
Install the downloaded apk :
Once you've installed and activated the Game Unlocker module, it will automatically spoof your device information for supported gaming applications. There's no additional configuration required. Simply force stop and open the games you want to play, and enjoy the benefits of device spoofing.
You can untick the game you don't want to spoof for the module scope. Force stop and relaunch is required.
Note: Keep in mind that device spoofing may violate the terms of service for some games or apps.
Report any suggestions/issues with games here
Click to expand the list of supported games
This project is licensed under the MIT License - see the LICENSE file for details.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:18
起因:https://www.v2ex.com/t/826317
使用无障碍服务会被部分app特殊对待,
然而有可能使用了无障碍只是为了便利,并不希望被优待,
于是有了本项目,
针对chrome,假装自己没有使用无障碍服务,才可以使用新版的各种标签相关功能和动画,
下图,开启“李跳跳”的同时使用chrome的新版标签,
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:136
帮助文档:https://www.nnnen.com/forums?index=3
支持的功能列表: https://pay.nnnen.com/index.html#/pages/index/set
PlusNE 7+版本 https://github.com/Xposed-Modules-Repo/me.plusne
新增微信密友(8.0.43或以上可用) 功能列表 ->管理密友列表 ->隐藏通讯录 ->显示所有密友 ->隐藏聊天窗口 ->隐藏所有密友 ->隐藏搜索记录 ->锁屏自动隐藏 ->隐藏添加好友 ->进入后台自动隐藏 ->隐藏朋友圈 ->快捷隐藏按钮名称 ->隐藏语音通话 ->伪造聊天窗口详情消息 ->隐藏视频通话 ->隐藏通讯录 ->隐藏个人中心 ->设置密友密码 ->双击快捷操作(隐藏显示密友) ->自动关闭聊天窗口 ->设置快捷操作密码
https://img.nnnen.com/QQ%E5%BD%95%E5%B1%8F20230514145440.mp4
现阶段支持 1.soul 2.TikTok(免费使用功能 解除网络限制) 3.七猫免费小说 4.微信 5.微博 6.快手 7.快手极速版 8.抖音 9.抖音极速版 10.最右 11.番茄免费小说 12.百度贴吧 13.皮皮虾 14.西瓜视频 15.MOMO陌陌 16.皮皮搞笑 17.MX Player Pro(免费使用) 18.ES File Explorer 19.小红书
使用方法
在框架中勾选PlusNE,并且设置作用域
1.进入抖音\抖音极速版等
2.打开设置页面
3.拉到最下面点击PlusNE版本信息即可
QQ群: 643354312
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:53
xposed给番茄小说(com.dragon.read)去广告,
本hook apk的版本号就是目标app的版本号,
不保证兼容更新版本的目标app,
已知不支持用于LSPatch注入破解目标app,
本项目不提供破解版相关支持,只提供LSPosed支持,
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:129
Used in combination with MicroG to enable Google Cloud Messaging (GCM) and much more without proprietary Google Play Services.
Supports Android 4.0 - 14
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:13
Xposed module for Android Auto app to make the interface restrictions configurable
Because Android Auto is integrated into certain vehicles, Google either felt the need to, or regulations required that they build in some driver distraction protections into Android Auto. Unfortunately, some of these restrictions just add to driver frustration, and prompt one to disconnect the phone from AA and fiddle with it directly. This too is a distraction, and one that I believe outweighs the inability to scroll lists while in motion.
This module should bypass most of these restrictions. In its current state, there is a cosmetic issue on some built-in AA units where the warning speed bump still shows, but the underlying list is still scrollable. Still working on trying to make this speed bump disappear.
As a reminder, I'm not responsible for anything that happens as a result of using this module. If you're not capable of doing more than one task at a time while driving, I HIGHLY suggest you not install this module.
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:19
Xposed module to block YouTube in-video ads and enable background playback on the official YouTube app
Feel free to raise an issue if a newer YouTube update is not supported, and please make sure you provide your xposed logs.
You are more than welcome to contribute with pull requests!
上传时间:暂无
作者:暂无
文件大小:暂无
下载量:15