Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1.6.0alpha bug #4

Open
Clorasun opened this issue Sep 12, 2022 · 5 comments
Open

1.6.0alpha bug #4

Clorasun opened this issue Sep 12, 2022 · 5 comments
Labels
bug Something isn't working

Comments

@Clorasun
Copy link

预发行的版本还是会有侧漏的的情况出现,这个能修复不?

@wenxuanjun
Copy link
Owner

请提供侧漏App包名,侧漏目录或文件,以及与其相关的 logcat 片段以便分析。

@Clorasun
Copy link
Author

Clorasun commented Sep 15, 2022

包名:com.sohu.inputmethod.sogou.meizu
com.alicloud.databox
com.eg.android.AlipayGphone
com.moses.miiread
cn.wps.moffice_eng
文件夹:sougou
alipay/com.eg.android.AlipayGphone
.DataStorage
.gs_fs0
.UTSystemConfig
.vivo
alipay/com.alicloud.databox
Tencent/ams/cache/
baiduTTS
Fonts
相关文件:https://mryun135.lanzoul.com/b00w30j0f
密码:903u

@Clorasun
Copy link
Author

这些文件和日志信息够了不

@Clorasun
Copy link
Author

抱歉没发觉侧漏软件有点多,lsposed日志又重新发了几遍,麻烦了

@wenxuanjun wenxuanjun added the bug Something isn't working label Sep 22, 2022
@wenxuanjun
Copy link
Owner

目前发现侧漏的原因之一是 ContentProvider 获取失败导致 Hook 提前退出。

其中一个原因是软件包可见性过滤,即 Target API >= 30 的应用如果没有申请 QUERY_ALL_PACKAGES,则无法找到 NoLitter 的 ContentProvider。

如果应用以 Android 11(API 级别 30)或更高版本为目标平台,并查询与设备上已安装的其他应用相关的信息,则系统在默认情况下会过滤此信息。此过滤行为意味着您的应用无法检测设备上安装的所有应用。

已测试如果将 Target API 30 的淘宝降级至 29,则可正常向 NoLitter 的 ContentProvider 发起请求。

一种可行的解决方案是添加对系统框架添加 Hook,但这样便会导致需要对各个 Android 版本进行适配,维护成本增加。

此外,另一个导致获取失败的原因可能是在未成功初始化 applicationContext 前执行了 initPreferences 函数,现已成功修复(或许)。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants