Magisk alpha


Гео и язык канала: Китай, Китайский
Категория: не указана


内部群不再开放进入

Связанные каналы

Гео и язык канала
Китай, Китайский
Категория
не указана
Статистика
Фильтр публикаций


https://developer.android.com/google/play/integrity/additional-tools#check-device

Play Integrity API 自测方法现在有了官方文档,不需要通过第三方app查看测试结果


ASH_STANDALONE=1 /debug_ramdisk/.magisk/busybox/sh

使用技巧,magisk tmp目录内的busybox不需要root权限即可使用


magisk可能导致设备唯一标识符泄漏

受影响版本:27.0之前所有版本,以及特殊情况下27003以后所有版本
受影响设备:Android11及更高设备

详情

Android11起系统限制用户应用使用netlink的RTM_GETLINK读取网卡mac地址,这是通过自定义SELinux添加标志位实现的,该修改被Linux上游拒绝,是Android特定修改。
在27.0之前,magisk使用上游libselinux库,因此该Android特定标志在修补sepolicy时丢失,导致未能正常启用限制,任何应用都可以读取mac地址。
在27.0后,magisk为所有设备无条件启用限制。但是部分升级了新内核的设备支持处理该标志,用户空间内的sepolicy却没有做好准备,导致全部进程都受到限制,直观表现是无法连接WiFi。
27003起,magisk解析旧sepolicy的标志,复制到新sepolicy,原问题得以解决。

magisk的sepolicy实时修补功能从内核读取当前sepolicy,修补规则后重新加载sepolicy。由于内核存在bug,Android特定标志不会报告给用户空间,magisk读取出的当前sepolicy永远没有此特定标志。因此在sepolicy实时修补后,限制被禁用,所有应用可以读取mac地址。
可以用 https://android-review.googlesource.com/c/kernel/common/+/3009995 修复此内核bug,但补丁由于不明原因被Google要求应该提交给Linux上游,随后又说应该删除此Android特定功能。总之,该补丁目前被Google拒绝合并,我们也无能为力。比起无法连接WiFi,实时修补sepolicy后会泄露mac地址显得可以接受。

利用情况

我们观察到流行应用正在使用RTM_GETLINK获取设备mac地址。至少一个应用通过判断Android11+设备依然能读取mac地址检测magisk。

建议

Android11之前的设备不受影响。其它设备应该升级到magisk 27.0。如果无法使用WiFi,升级到27003。在27003+时,不要使用sepolicy实时修补,检查所有模块和root应用,要求它们的开发者切换到sepolicy.rule。

相关链接

magisk导致mac地址泄露 https://github.com/topjohnwu/Magisk/issues/7636
magisk破坏了WiFi https://github.com/topjohnwu/Magisk/issues/7764
magisk复制Android特定标志到新sepolicy https://github.com/topjohnwu/selinux/commit/48fcf8bba0635dc597bef75994294fd055d9f0ba
内核中Android特定标志的实现(只处理了 policydb_read() 函数,忘记处理 policydb_write() 函数) https://android.googlesource.com/kernel/common/+/dc34c9f193fd4e3476e0e9331f5fdacce6fbc6fc https://android.googlesource.com/kernel/common/+/bdf56fbea560eea1e9c2793d69ba13cca2596d7d
内核修复补丁,处理了 policydb_write() 函数 https://android-review.googlesource.com/c/kernel/common/+/3009995

致谢

aviraxp https://t.me/qianqianzhuang/33










使用可调试的官方Magisk app时,adb shell可以自动获取root权限
run-as com.topjohnwu.magisk
su
希望这个小技巧能对救砖有所帮助




Видео недоступно для предпросмотра
Смотреть в Telegram






Репост из: 钱庄
https://android.googlesource.com/platform/system/logging/+/6aeeaacedaafab2d7ada57e7bfb75741a0461706

从 Android 13 开始,谷歌为了防止日志过多导致在测试机器错误报告超时,将日志缓冲区大小强制调整为 256 KB。因此,在开发者选项中调整日志缓冲区大小或设定相关 logd prop,实际上不会起到任何作用。


https://github.com/topjohnwu/Magisk/blob/master/docs/faq.md
这个文档有误导。

系统检测长按音量减键触发安全模式的功能,写在system_server。此时post-fs-data已经结束,模块加载完毕,zygote都跑起来了。
很多人等待动画出现后才开始按键,他们被文档误导以为系统安全模式会触发magisk安全模式。这是不对的,时间上反了。
要在加载模块之前识别到安全模式,magisk检测按键必须早于系统。出现动画后再按键,已经错过magisk的检测,只会触发系统安全模式。应该在bootloader解锁警告后立即按住音量减,出现动画后反而可以松开——如果不想同时触发系统安全模式的话。

还可以通过prop触发安全模式。开机状态下,长按电源菜单的重启按钮,在「重新启动到安全模式」弹窗上点确定,会设置prop。下次开机时magisk和系统如果读取到该prop会进入安全模式。但它不实用,或者说,对救砖毫无意义。

alpha现在支持自动进入magisk安全模式。如果设备未能正常启动,下次启动时会自动禁用全部模块。这个新功能独立于系统安全模式,可以在magisk应用的重启菜单中勾选来强制触发。






这是一款测试应用,用于测试设备的密钥认证功能,特意不添加网络权限。但很多人欺骗自己,没有意识到自测不是正式检测,它仅通过导入导出功能模拟服务器验证。app甚至不校验结果,而是尽可能展示全部内容。
原定于2.0版本计划支持利用 shizuku 的高权限获取更多证明内容,例如唯一设备标识符,这是app权限无法做到的。可以查看当前设备的唯一标识符是否与出厂时写入TEE的值一致,以识别二手改机等行为。还有三星的 Knox 证明也需要adb权限,可以查看熔断位等状态。

现在以上计划延后,优先加入网络权限。通过与服务器进行TLS双向认证握手,彻底地,完整地,实现全套密钥证明验证。这可以确保网络流量无法被中间人监听或修改,并且确实来自于bootloader上锁设备。bootloader已解锁的设备无法完成 mTLS 握手,客户端证书会被服务器拒绝,无法连接服务器。相当于服务器自动拉黑了全部已解锁设备。
该功能将于2.0版本上线,敬请期待。

PS:我同时指责Google的不作为,把证书管理当过家家。没有起到监督OEM的作用,事后也不弥补过错,及时吊销泄露私钥的证书。


Shamiko-v1.0-290-release.zip
1.9Мб
1.0 更新内容

隐藏更多Zygisk痕迹,通过更多检测(例如 ACE, GoTyme Bank, MyTransport.SG, ZainCash, DBS PayLah!, Singpass, Marriott, BPI, Apps using liapp, Apps using Arxan like CaixaBank Sign, 等)
更好地支持KSU
隐藏其他模块引入的部分痕迹(例如PlayIntegrityFix)
守护了街角的和平





Показано 20 последних публикаций.