TweakInject在Electra iOS 11.4上的使用

越狱各种不完美,所以补刀都需要自己补,不,所以修补都需要自己补

无法下载的各种插件可以在这个网站上下载:
https://www.ios-repo-updates.com/repository/electra-s-ios-utilities/package/org.coolstar.tweakinject/

Google搜出一段英文:

The bottom line is, the Substrate Compatibility Layer package tries to make /Library/MobileSubstrate/DynamicLibraries as a symlink to ../../usr/lib/TweakInject ie. /usr/lib/TweakInject. So if you have that /Library/MobileSubstrate/DynamicLibraries folder there already, the package cannot overwrite it, and we face this problem. Need to move everything from DynamicLibraries/ into /usr/lib/TweakInject/, remove the DynamicLibraries, and re-create it as a symlink to /usr/lib/TweakInject.

说的很清楚,就是没有转换成代码很容易让人抓瞎,而且还有之前部分回答的示例:

mv /Library/TweakInject /Library/TweakInject.bak && ln -s /Library/MobileSubstrate/DynamicLibraries /Library/TweakInject

这个方法 不适用 Electra iOS11.4,是错的,不要用~~
这里对ln做一些知识补充:

具体用法是:ln -s 源文件 目标文件。
当 我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在其它的 目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。例如:ln -s /bin/less /usr/local/bin/less
-s 是代号(symbolic)的意思。
这 里有两点要注意:第一,ln命令会保持每一处链接文件的同步性,也就是说,不论你改动了哪一处,其它的文件都会发生相同的变化;第二,ln的链接又软链接 和硬链接两种,软链接就是ln -s ** **,它只会在你选定的位置上生成一个文件的镜像,不会占用磁盘空间,硬链接ln ** **,没有参数-s, 它会在你选定的位置上生成一个和源文件大小相同的文件,无论是软链接还是硬链接,文件都保持同步变化。

TweakInject成功的样子:

TweakInject: Loading for binary XXX
Injecting /Library/TweakInject/XXX.dylib

因为没有突破沙盒权限,但是TweakInject又是在Library目录下寻找的,所以你需要把沙盒之外的地方放置的dylib链接到Library目录下,它这样找的时候就能通过软链接在沙盒限之外找到它所需要的文件:(确保你把xxx.dylib已放在/usr/lib/TweakInject目录下)

ln -s /usr/lib/TweakInject /Library/TweakInject

这个时候查看结果是这样的:

ls -l /Library/TweakInject
output: lrwxr-xr-x 1 root admin 20 Nov 12 18:32 /Library/TweakInject -> /usr/lib/TweakInject

当然安装之后dylib本身在 /Library/MobileSubstrate/DynamicLibraries目录下,这个要把这个目录先删除再通过链接的方式创建

rm -r /Library/MobileSubstrate/DynamicLibraries
ln -s /usr/lib/TweakInject /Library/MobileSubstrate/DynamicLibraries

查看Dynamics的结果也是一样的:

iPhone5:/Library/MobileSubstrate root# ls -l DynamicLibraries
lrwxr-xr-x 1 root wheel 20 Nov 12 18:09 DynamicLibraries -> /usr/lib/TweakInject

你可能感兴趣的:(TweakInject在Electra iOS 11.4上的使用)