想当然,这个东西应该是存储在data/adb中的,因为卸载APP不会改变magisk su绑定的magisk APP包名。
进一步研究发现数据在/data/adb/magisk.db中
观察这个数据库,发现包名信息存储在strings表中,其中requester的value就是包名。
进一步的,我们可以通过sqlite3等工具来用shell命令获取这个值。
再进一步的,magisk本身已经提供了这个工具,我们直接使用即可
magisk --sqlite "SELECT value FROM strings where key='requester';"
结果如图
我需要这个包名有什么用?
获取到这个包名后我们发现这个包名对应的package其实只是个壳,实际的Magisk APP存储在这个APP的data目录中。
扩展
如果我们要操作开启或关闭Zygisk、添加或删除排除列表,都可以使用magisk --sqlite命令来实现。
例如:
- 关闭Zygisk
magisk --sqlite "INSERT OR REPLACE INTO settings (key, value) VALUES ('zygisk', '0');"
- 开启Zygisk
magisk --sqlite "INSERT OR REPLACE INTO settings (key, value) VALUES ('zygisk', '1');"
- 查看Zygisk是否开启
magisk --sqlite "SELECT value FROM settings where key='zygisk';"