动态加载 FLEX 的越狱插件 - FLEXLoader

介绍

FLEXLoader 是一个我在上周末写的一个可以动态加载 FLEX 的开源越狱插件,它以加载动态库的方式注入到系统 App 和用户的 App 中 (欢迎使用 star, fork, clone 等一切方法蹂躏我~~)。FLEX 全称是”Flipboard Explorer”,是 Flipboard 团队开发一组调试和探测 App 的开源工具,功能非常强大,比如查看和修改 View 的层级结构,查看和修改堆内存中的对象信息等等,更多 FLEX 介绍和使用信息参考这里

FLEXLoader 参考了 RevealLoader,顾名思义,它是一个加载 Reveal 动态库的越狱插件,是一款非常方便的插件,如果你经常用 Reveal 来查看和调试,一定不要错过。我把它的源码做了一些修改,把 Reveal 的动态库改成了 FLEX 的动态库,因为 FLEX 官方只提供了源代码,所以我参考了 Tony 的这篇文章编译了一个动态库,如有有兴趣,也可以直接用我已经构建好的 Xcode 工程 FLEXDynamicLibProject 来编译。

安装 FLEXLoader

有下面两种安装方式:

  1. 在 Cydia 中搜索 Flipboard FLEX loader 并安装 (BigBoss 源)
  2. 如果安装有越狱的开发环境,比如 theos,可以自己来编译安装,配好环境变量后,make package install 一下 (也可以自己编译 FLEX 的动态库替换掉工程中的 FLEXDylib.dylib).

使用方法

安装后,打开 “设置”-> “FLEXLoader”->“Enabled Applications”, 勾选上你想要注入 FLEX 的 App,打开 App 就能看到 FLEX 的身影了,简直不能再简单了,:]

后记

写完这个 tweak 后,不敢也不能独享,心怀忐忑地放到了 GitHub 上,然后就打算放到 Cydia 上。Cydia 的诸多源中,感觉 BigBoss 最值得信赖一点,所以就打算传到 BigBoss 上,后来证明这个选择是非常正确的。从搜索 BigBoss 的网址,到填写表单上传完成,前后不到 10 分钟,甚至都没要求我注册,这个体验还是蛮爽的。

BigBoss 承诺 24 小时之后会处理,到了第二天,BigBoss 的审核员 @0ptimo 就给我发邮件,说 tweak 被拒掉了,原因是我没有把 FLEX 的 license 加上,这个确实是我疏忽了,我把 RevealLoader 的 license 加上却忘了 FLEX 的,于是就速度加上,然后名字和现有的一个叫 Flex 比较相似,建议我改一下名字,还有一些细节比如 icon 的名字直接叫 icon.png 容易被别人覆盖掉,动态库的位置放到 /Library/Application Support/FLEXLoader 比较好等等。我表示了感谢,然后都一一修改之后提交,过了不到一天就通过审核了。

如果你有好的想法或者问题,欢迎 PR 或者联系我。最后感谢下面 REF 中的各位开源项目和文章的作者,他们才是创造者,我只是开源代码的组装工~~

REF

欢迎小伙伴在微博上关注我,:],Enjoy!