1
winzkh 62 天前
要么不管不顾,要么加 root 检测
|
![]() |
2
HojiOShi 62 天前
虽然很久没用过了,但是我记得 Crashlytics 可以忽略不想管的 Crash 日志的,其他崩溃上报服务应该也会有这个功能吧。
|
![]() |
3
bkmi 62 天前 via Android
什么应用 root 用户占比这么高,正常 root 用户占比应该非常非常少
|
![]() |
4
Joshuahui 62 天前 via Android
跟用户挑明,不接受 root 用户的反馈,然后加 root 检测,root 用户可以正常使用但不记录任何崩溃日志,不要进行提示,防止绕过检测
|
6
yanqiyu 62 天前
概念->概率
|
7
efcndi 62 天前 ![]() 作为一个普通的用户,我倒是在使用前会特别关注,你是不是要了很多不该要的 permission 。本来正常情况下,可以使用 fake permission 对付过去的,但是你却故意通过 crash 来降低这类用户使用的体验。
你又是什么级别的 App ,竟然有权限要求用户不得在 root 过的设备上使用? 如果你确实不允许 root 用户使用,希望自己在肆无忌惮非法滥用权限时不被发现,那就“拜拜呐您”! |
![]() |
9
lslqtz 62 天前
fake permission 如果能导致崩溃, 那我觉得这个判断逻辑的健壮性可能还是不太够, 因为即使是正常设备, 也可以考虑磁盘空间已满之类的原因可能导致崩溃. 有权限读取/写入不代表实际能读取/写入. 所以, 在这一方面建议是优化逻辑, 增加程序的健壮性, 并给出用户可见的提示.
而渲染问题这种, 一般是奇奇怪怪的魔改造成的, 对于这种情况, 更建议是在服务器侧日志收集处理时加入屏蔽, 而不是依赖于客户端侧的检测, 不然仍然有绕过检测打入服务器侧日志的概率. 当然, root 与否的检测也可以作为一个参考值传送至服务器. |
![]() |
10
SunsetShimmer 62 天前
当用户不希望授权的时候,就不要主动要求授权。
|
12
ochatokori 62 天前 via Android
反馈给 fake permission 应用作者表示会出现应用行为不一致的问题
|
13
nightwitch 62 天前
如果能判断出来 root 设备的话直接把 bug 反馈的功能停了完事。
|
14
jeesk OP ![]() @lslqtz 我都说了,正常的权限授予完全没有崩溃的问题, 看不懂中文是吧? 我从来没说不让 root 用户使用,你倒是会戴帽子呢? 竟然还有这么多人点赞, 震惊。
你凭什么说我故意通过 crash 降低用户的体验?哪来的证据? 张口就来。魔怔了是吧。 |
![]() |
15
zoharSoul 62 天前
当然是修掉啊
有 bug 不修不是 xx 么, 又不是修不了 |
16
jeesk OP @lslqtz 比如我已经获取了文件管理权限, 但是发现部分 root 设备还是无法写入, 总不可能还要为所有用户单独写读写权限校验吧? 我可没这么闲, 我只想屏蔽他们的日志。
|
18
Constantping 62 天前 ![]() @jeesk 你 @錯了。
|
![]() |
19
HojiOShi 62 天前
再来反刍一下。
我以前写过一个普通用户和 root 用户都可以用的工具类 app 。针对这种情况,我采取的情况是双管齐下:能修则修,不能则忽略。 比如 fake permision 这种,在代码中除了正常申请权限之外,还用 AppOpsManager 再进行检测;其他情况(我当时遇到的:缺系统服务,打不开活动,UI 不一致或者崩溃,还有其他甚至是有些我怀疑只有 Bit flipping 才能触发的异常),能修的也尽可能作出修复;不能修的,给错误 UI 和甚至直接 catch(Excpetion ignore)然后 kill 掉自己之类的手段也都用过。 实在 catch 不了的,我当时用的统计服务只有一个 Crashlytics:它不仅能够忽略不想理会的日志,其它的过滤功能也是挺强大的,推荐使用这个。印象中记得除了组件更新速度过于频繁,没有什么别的缺陷。 |
![]() |
20
RikkaW 62 天前
if (isRooted) log.disable 解千愁
只要简单🉐判断是否存在 su 就差不多了,因为不太可能去针对所有人隐藏 root ( 当然也如 #9 #19 说的也是有道理的((( |
21
cwxiaos 62 天前 via iPhone
会 root 的用户通常应该很重视隐私,无论开发者滥用与否,出于对开发者(尤其是国产)的不信任,给 fake permission 是很正常的事
|
22
drymonfidelia 62 天前 ![]() @cwxiaos 重视隐私的人不会 root ,root 要解 bl 锁,解锁后攻击面大了非常多
|
![]() |
23
Greatshu 62 天前 ![]() 如果是 root 专属 bug ,那就修个屁,root 用户直接提醒环境异常封号,第一次 1 天,第 2 次一周,第 3 次永久,如果你没法封号就忍着。
我最近想明白一件事,app 和用户是双向选择的关系,你选择你的用户,用户选择你。如果你的用户是喜欢折腾的注重隐私的 XX ,吝啬挑剔毛病多爱投诉,喜欢网上带节奏,不信任开发者但还是用他写的 app ,那我只能说自求多福吧。 |
24
ztmzzz 62 天前 via iPhone
@drymonfidelia 重视隐私的人如果用国产 app 肯定得 root 啊,不然怎么限制
|
![]() |
25
bkmi 62 天前 via Android ![]() @drymonfidelia 鬼才罗辑,滥用权限收集用户隐私的应用比比皆是,你能举一例因为解锁 bl 后,攻击面大了而导致隐私泄露的案例吗?
|
26
drymonfidelia 62 天前 ![]() @bkmi 不说别的,你刷过 magisk 吧,解锁 bl 后任何能物理接触你手机的人都可以非常轻松地免密码在你的 boot.img 里刷入以 root 权限执行的恶意代码,在系统层面完全检测不到
|
![]() |
27
XiLingHost 62 天前
检测 root ,然后把日志上报关了或者打到单独的日志系统里
|
![]() |
28
ysc3839 62 天前 via Android
@drymonfidelia 用户完全可以用 Apple 设备存储重要的隐私数据,然后用 Android/Windows 使用一些迫不得已要用的垃圾国产软件,同时对这些国产软件进行限制,并且不在此设备中存储重要的隐私数据。
|
29
kx5d62Jn1J9MjoXP 62 天前 via Android
说到底还是读写文件没做好 exception 处理
|
30
jeesk OP @Greatshu 我不可能专门去写这种逻辑, 我只想屏蔽这部分人的日志。
我去看每条崩溃日志是有成本的。 我只想针对这种文件异常或者其他异常的情况下屏蔽这种用户的日志。 不要以为开发者天天闲得慌。 |
31
jeesk OP @ssynhtn 确实是这样, 但是如果每个文件读写都去检测, 那无疑会增加自己的成本。 那么按照 android 的标准开发规范, 反而不能处理这种 exception 。 是不是太讽刺了?
|
32
NSAgold 62 天前 via Android ![]() 7#说的部分对,说明要的 permission 很可能是不该要的
以文件为例,私有目录不需要 permission ,(没记错的话好像是 a11 之后)往 download 等公共文件夹存也不需要,不行走 SAF 也能存。请求之后非要建个/storage/emulated/0/xxapp/文件夹存数据,在用户根目录里乱拉屎的行为就属于滥用。 很可能是这些不规范的做法让 root 用户给了你 fake permission |
![]() |
33
bkmi 62 天前 via Android
@drymonfidelia 你所认为的隐私看起来跟我理解的不是一个东西。
我认为的隐私:我设备唯一标识,设备上安装的应用列表,应用使用频率,使用记录,设备上文件,地理位置,通讯录,聊天记录,而这些隐私普通应用不需要 root 权限就能获取。 不知道你重视隐私的人不会 root 这个结论是从何得出。你举的例子都物理接触了,都可以手抄你的通讯录,聊天记录了,这种情况真少之又少。 |
34
efcndi 62 天前 ![]() 哎哟哟,哎哟哟,妄议不得,得罪了,得罪了。下次一定大力鼓掌。
|
35
drymonfidelia 62 天前
@bkmi 手抄你的通讯录,聊天记录 必须要在知道我的手机锁屏密码的情况下进行,解锁 BL 后刷 boot.img 不需要密码
|
36
drymonfidelia 62 天前
@bkmi 设备唯一标识,设备上安装的应用列表,应用使用频率,使用记录,设备上文件,地理位置,通讯录,聊天记录 这其中的大部分信息不需要 root 就可以限制。如果你要说用 0day 绕过,root 后会带来更多 0day
|
37
kenvix 62 天前
程序健壮性做得烂楼上已经批判过了,就算是屎山没法改进健壮性吧,改进一下遥测还是很容易的吧?
|
38
jeesk OP @NSAgold
请求之后非要建个/storage/emulated/0/xxapp/文件夹存数据,在用户根目录里乱拉屎的行为就属于滥用。 什么叫做非要乱拉屎? 你见过 app 拉屎了? 还是说所有在公共目录创建文件的都是在拉屎? 那你既然给了权限, 那不就代表应用可以在根目录创建文件? 那创建文件万一是回收站,或者配置文件呢? 要喷也要找到点子嘛, 真是一碰到权限, 就要喷开发者滥用权限。 开发者就这么贱吗? |
40
ztmzzz 61 天前 via iPhone
@drymonfidelia 可以回锁 bl
|
41
krixaar 61 天前
root 用户的报错日志怎么会在你那里?讲道理这年头想 root 一下这么麻烦,除非你的 app 必须 root 使用(那就不存在楼里这个问题),否则愿意折腾 root 的估计都不会勾用户体验改善计划的吧?
|
![]() |
42
Ruikoto 61 天前
@NSAgold 正确的,十分反感建个/storage/emulated/0/xxapp/文件夹的拉屎行为,我不理解有什么 SAF+私有目录解决不了的场景会需要 op 一定要拿到存储权限才能实现
|
43
jeesk OP 补充一下, 此帖已经终结。
有些人不能理解为什么 saf 不能解决某些问题, 那是你的无知, 请不要炫耀你的无知。 无效沟通太多, 那么只好 block 了。 |
46
NSAgold 61 天前 via Android
@jeesk #45 还在嘴硬 自己设计有问题却还在指责别人“不懂” 你最懂,想必是不会被 root 用户塞 fake permission 了吧? app 名字贴出来帮你反向宣传一波
https://sr.rikka.app/zh-hans/guide/#什么是应用滥用存储空间的问题 |
47
jeesk OP @NSAgold 你用过该应用吗? 不懂就不要瞎说, 总以为自己高高在上一样, 发帖的目的的是为了解决问题, 不是为了让你偏离话题。 总以为自己是最牛逼的,最懂设计的? 一幅高高在上的样子, 还发个链接来证明自己说的是对的? 理想开发和实际开发是 2 回事, 如果你真的干过开发, 就不会说出这么离谱的事。 最可怕的不是能力不行, 是自以为自己比别人还懂, 拿着规范当令牌的。
|
48
jeesk OP @NSAgold 安卓在用户授予权限的情况下, 允许应用程序放置内容到公共目录, 在授权权限的时候必须显示提醒用户。 并且用户有拒绝的权力。 到了你这里就变成了, 不允许任何应用程序在公共目录读写文件, 只要一读写就是拉屎。 你这逻辑到哪儿都说不通。况且应用又不是要求一定要授予该权限才能运行,如果一定要求授予该权限才能使用,才是你该喷的。 所以说到底是谁嘴硬?
|
49
jeesk OP @NSAgold 想必是不会被 root 用户塞 fake permission 了吧? 你的每一步都在猜测开发者不怀好意。
有没有想过有一种可能, 开发者尽自己的努力去维护应用,而使用者也可能不清楚一些 fake permission 会导致开发者出现一些困扰? 使用者也没有想到会给开发者造成一些困扰, 毕竟他们不知道整个链路? 不是每个 root 用户都是开发人士。 然后在你的心理下就埋下一颗种子, 凡是 App 就不能在公共目录读写,在公共目录读写都是拉屎。 你的想法还强加给别人, 还吐槽别人乱设计。 你应该吐槽的是那些,不给外置目录就不让运行的应用。 而不是在自己一无所知的情况下, 就随便揣测开发者都是恶心的, 都是不遵守规范的,在公共目录拉屎。 然后自己以为自己站在了道德高地上, 到底是谁不懂? 天肯定知道。 |