IOS动态工具app过程

记录其中的一些坑点。

一、theos下tweak的作用域问题

通过进一步研究introspy的作用域问题 发现 只用添加com.apple.UIKit则对应用级别app生效

但是 对于系统级别的进程 还是无效 所以对于系统级别的应该进一步研究

hook demo中最终的作用域为


IOS动态工具app过程_第1张图片

二、theos定制版tweak和应用级别tweak的区别


IOS动态工具app过程_第2张图片

其中hook是theos定制版的app

hook_demo是开发者的app

区别如下:

1:在应用级别是否可删除 这是表面上的区别

2:theos定制版的app是可以和它的tweak插件绑定在一起的 由于IOS的沙盒机制 即便越狱也无法完全打破

一个沙盒对另一个沙盒的文件最多只能有可读的权限 不能有写的权限 即便越狱也是如此(注意,此处是最多)

所以 如果是应用级别的hook_demo,是无法读tweak插件写入的sqlite文件的

所以要事先tweak产生log的导入 必须要定制自己的系统级别的应用

3:必须要安装Respring插件 如上图

三、preference bundle的实现

https://yohunl.com/ios-yue-yu-de-tweakkai-fa/这里有一种flex嵌入式的applist

可定制化对app的list bundle id的选择

这三个是层层相扣的

app定制->基于app的插件->基于app的preference bundle

app层:


IOS动态工具app过程_第3张图片

tweak层


IOS动态工具app过程_第4张图片

preference bundle层


IOS动态工具app过程_第5张图片

编译如下


IOS动态工具app过程_第6张图片

四、最终实现


IOS动态工具app过程_第7张图片

这是详细的log


IOS动态工具app过程_第8张图片

这是基于每一个app或者说进程的log分类

你可能感兴趣的:(IOS动态工具app过程)