导读
0x00.交个朋友
0x01.越狱开发
0x02.Cydia插件体系
0x03.Cydia插件开发
0x04.Textobot插件体系
0x05.Textobot插件开发
0x06.定制服务
0x07.关于刘柏江
0x00.交个朋友
手游从业者模拟器玩家请关注云游模拟器PantaWin;
Linux重度用户请关注云游模拟器PantaLinux;
iOS越狱开发者请关注晓文框架Textobot;
Android插件开发者请关注飞度框架Fridobot;
移动调试器重度用户请关注利达调试器LidaDbg;
我们的产品下载地址:
https://gitee.com/geekneo/
0x01.越狱开发
- 随着苹果体系的逐步完善和开放,越狱开发已经变得越来越小众。尤其是现在已经没办法实现完美越狱,即便是checkm8这样的顶级漏洞也只能是非完美越狱。这为我们越狱后的使用带来了很多不方便。再加上前段时间Cydia作者宣布关闭越狱市场,各方对越狱的前途是一片不看好。
- 但是,世界人民是如此的聪明以至于总是有需要越狱环境的业务存在,所以越狱开发还是一如既往的永远被需要。至于要不要搞这个领域,应该取决于你的职业规划,而不是Cydia作者不干了。
0x02.Cydia插件体系
- 目前,我们越狱后从Cydia安装的各种插件,均为deb插件,它是从“Debian Packager ”继承过来的包管理机制。命令行安装方法是使用dpkg工具,这和其他Linux发行版差不多。
- deb插件由dpkg-deb打包而来,一个普通的插件打包之前文件布局如下:
我们提前开发好相应的组件,然后按照dpkg-deb规定的格式组织文件目录就可以了。
- deb插件可以包含App、Tools、Tweak等内容,这些内容一般是由iOS SDK开发而来,大部分都是使用Objective-C开发完成。
0x03.Cydia插件开发
- 使用最广泛的deb插件开发框架是theos,它基于makefile定制了一系列的模版项目,针对不同的项目类型选择对应的模版即可。
- 作为资深越狱开发者,我还是觉得theos不好用,所以我一般使用Xcode SelfLink的模式开发插件。大致流程是使用Xcode将插件代码编译成.o文件,然后自己写一个连接和打包命令生成最终的deb文件。这样可以充分利用Xcode这个最好用的IDE提高代码编写的效率。
- 即便如此,我依然觉得不好用,开发效率太低。尤其是遇到需求频繁变动,需要无数次修改实现逻辑的时候。这其实也是静态编译型语言的通病,一点点修改就要重新编译、连接、打包等连锁操作。
0x04.Textobot插件体系
- 在被C/C /Objective-C折磨了6年之后,同时Frida也愈发完善,我终于下定决心重新定义iOS越狱开发的模式,彻底告别用静态编译型语言开发带来的弊端。
- Frida自带JavaScript执行引擎,并且对Native的调用封装得非常完美,这是一个不错的起点。由于Frida是以进程为单位的插件体系,有些需要跨进程处理的事务并不能很好的解决,所以我们还需要一个系统级别的体系,这样才算完整。对于使用了2年多的Python,我是喜欢得不得了,方便好用强大,因此选定它作为Frida的补充。
- 这样一来,以Python为系统级别、JavaScript为进程级别的插件基础体系就确定下来了。我们还缺的就是一个调度管理中心和开发IDE。
- 调度管理中心就是我们的Textobot.deb插件,它集成了完整的Frida和Python,并添加了一些实用的API。开发IDE选择了如日中天的Visual Studio Code,在微软的大力支持下,这个IDE非常好用,对各种语言的代码编写都很友好。
0x05.Textobot插件开发
- 基于动态脚本语言的插件体系设计完成并产品化之后,我们开发插件的模式就彻底改变了,下图是一个模版项目:
textobot.json: 插件配置文件,申明要处理的App对象等信息,必须存在;
- 系统级事务我们可以在__init__.py中去实现,进程级事务我们可以在textobot.js中去实现。由于Frida、Pyobjus这样的项目已经把脚本对Native的调用封装得很完善了,因此我们几乎不需要写C/C /Objective-C代码就可以实现和deb插件一样的功能。开发完成之后,通过VSCode将项目打包生成.tb插件即可安装至手机,然后使用Textobot越狱版App管理.tb插件。
- 至此,我们拥有了以动态脚本语言为核心的插件体系,需求的变化只需要反应到简单明了的Python/JavaScript代码上,这比需要重新编译、连接、打包的deb插件模式着实快了不少。
- 本篇文章我们把Cydia插件、Textobot插件的基础信息做了一个剖析,让用户朋友有一个全局的理解和认识。下一篇文章,我们将从零开始上手Textobot开发iOS越狱插件。
0x06.定制服务
- 我们团队虽小,但个个都是一顶三的技术精英,因此技术能力是严重过剩的。所以如果您有任何关于iOS/Android底层的疑难杂症、云游模拟器挂机/二次开发、晓文/飞度插件定制等方面的个性化需求,欢迎通过私信联系我们。
0x07.关于刘柏江
- 8年移动互联网从业经验、精通iOS/Android底层开发/攻防对抗、GikDbg/KiwiVM原作者、几维安全联合创始人/股东。
- 我的自媒体账号将围绕PantaEmu、Textobot、Fridobot、LidaDbg为用户朋友们传道、授业、解惑。欢迎各位朋友关注、点赞、转发,谢谢大家。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。