请教 app控制tweak插件的作用对象

怎么样实现用一个APP 去控制 tweak插件 的作用对象.?
直接改filte 貌似权限不够
大神们来开课~

tweak所作用对象的filter位于/Library/MobileSubstrate/DynamicLibraries/,默认的权限是644,即rw-r–r–,也就是说mobile用户仅具有读权限,不能写。这样的话想要动态控制tweak的插入对象,我能想到的有2种方法:1. 给App提权到root(没有必要);2. 利用postinst脚本改变filter的权限为mobile可写(非常不推荐)。
既然动态更改tweak的插入对象不方便,那可以转换思路,动态更改它的作用对象。也就是说我们把filter留空让dylib插入所有进程,然后在dylib内部用NSBundle、NSProcessInfo等代码判断当前的进程是不是我们的目标进程,如果是目标进程,则工作;否则虽插入,但不起作用。这样的话App就可以把目标进程的配置文件写到一个tweak可以读的位置,然后由tweak在判断时读取。拿Reveal Loader举例,从这个mm文件就可以看出,它的配置文件存放在/var/mobile/Library/Preferences/com.rheard.RHRevealLoader.plist,/Applications/是可以写的

1 个赞

所噶 一直纠结与 APP 控制 tweak 忘记了变通的 办法了