Textobot-换个轻松高效的方式开发iOS越狱插件(ios 越狱插件开发)

导读

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打包而来,一个普通的插件打包之前文件布局如下:

Textobot-换个轻松高效的方式开发iOS越狱插件(ios 越狱插件开发)

我们提前开发好相应的组件,然后按照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非常好用,对各种语言的代码编写都很友好。

Textobot-换个轻松高效的方式开发iOS越狱插件(ios 越狱插件开发)

0x05.Textobot插件开发

  • 基于动态脚本语言的插件体系设计完成并产品化之后,我们开发插件的模式就彻底改变了,下图是一个模版项目:

Textobot-换个轻松高效的方式开发iOS越狱插件(ios 越狱插件开发)

textobot.json: 插件配置文件,申明要处理的App对象等信息,必须存在;

  • 系统级事务我们可以在__init__.py中去实现,进程级事务我们可以在textobot.js中去实现。由于Frida、Pyobjus这样的项目已经把脚本对Native的调用封装得很完善了,因此我们几乎不需要写C/C /Objective-C代码就可以实现和deb插件一样的功能。开发完成之后,通过VSCode将项目打包生成.tb插件即可安装至手机,然后使用Textobot越狱版App管理.tb插件。

Textobot-换个轻松高效的方式开发iOS越狱插件(ios 越狱插件开发)

  • 至此,我们拥有了以动态脚本语言为核心的插件体系,需求的变化只需要反应到简单明了的Python/JavaScript代码上,这比需要重新编译、连接、打包的deb插件模式着实快了不少。
  • 本篇文章我们把Cydia插件、Textobot插件的基础信息做了一个剖析,让用户朋友有一个全局的理解和认识。下一篇文章,我们将从零开始上手Textobot开发iOS越狱插件。

0x06.定制服务

  • 我们团队虽小,但个个都是一顶三的技术精英,因此技术能力是严重过剩的。所以如果您有任何关于iOS/Android底层的疑难杂症、云游模拟器挂机/二次开发、晓文/飞度插件定制等方面的个性化需求,欢迎通过私信联系我们。

0x07.关于刘柏江

  • 8年移动互联网从业经验、精通iOS/Android底层开发/攻防对抗、GikDbg/KiwiVM原作者、几维安全联合创始人/股东。
  • 我的自媒体账号将围绕PantaEmu、Textobot、Fridobot、LidaDbg为用户朋友们传道、授业、解惑。欢迎各位朋友关注、点赞、转发,谢谢大家。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

(0)
上一篇 2024年5月19日 下午3:07
下一篇 2024年5月19日 下午3:19

相关推荐

  • 科研项目制造走什么费用

    科研项目的制造费用是指为完成科研项目所需的各种费用,包括设备费用,材料费用,人工费用,测试费用等等。这些费用的支出对于科研项目的顺利完成至关重要。 设备费用是指购买和安装科研项目所…

    科研百科 2025年5月8日
    2
  • 南京项目绩效管理系统定制

    南京项目绩效管理系统定制 南京项目绩效管理系统定制是一项非常重要的任务,它可以帮助项目管理人员更好地跟踪和评估项目的进展和成果。南京项目绩效管理系统定制可以帮助项目管理人员更好地管…

    科研百科 2025年6月19日
    0
  • 探索者易装配价格

    探索者易装配价格: 让家居装修更轻松、更快捷、更省钱 随着科技的不断发展,家居装修行业也变得越来越智能化和便捷化。尤其是在探索者易装配的选择上,我们不仅能够享受到更高质量的易装配服…

    科研百科 2024年10月14日
    4
  • 科研项目名称重复

    科研项目名称重复 科研项目名称重复一直是科学家们不断探索和研究的话题。随着科技的不断发展,科研项目的名称也越来越复杂,而这些名称往往包含了多个不同的词汇和符号。在这种情况下,如何确…

    科研百科 2025年5月11日
    1
  • 液压系统项目管理制度

    液压系统项目管理制度 液压系统是一种广泛应用于工业、农业、建筑、交通等领域的机械设备,其应用对生产效率、产品质量和安全性等方面有着重要的影响。为了确保液压系统的应用稳定、高效、安全…

    科研百科 4天前
    0
  • 项目管理中,项目进度与成本控制的重要性(项目管理中成本控制的关键是)

    一个项目的成功交付取决于你的整体成本表现和满足项目最后期限的能力。项目经理需要有效地分配时间和资源,以此来管理成本,并保持项目在其轨道上。几乎所有的组织都在寻找这些项目管理技能,因…

    2022年6月12日
    289
  • 科研项目动态图表怎么做

    科研项目动态图表怎么做 动态图表是一种能够展示随着时间变化数据的工具,能够帮助研究人员更好地理解数据的趋势和变化。在科研项目中,动态图表非常重要,因为它能够帮助研究人员更好地了解项…

    科研百科 2024年4月11日
    117
  • 未知2933953126

    未知 人类是一种智慧型生物,拥有无限的可能性和创造力。在历史的长河中,人类创造了无数伟大的文明和科技,推动了世界的发展。但是,随着科技的不断进步,人类也面临着许多问题和挑战。 其中…

    科研百科 2024年10月28日
    0
  • 参与市卫计委科研项目

    参与市卫计委科研项目是一种十分有意义和有益的经历。作为一个参与者,不仅能够为项目做出贡献,还能够拓展自己的技能和知识,并为未来的职业发展打下基础。 市卫计委科研项目通常涉及医学、卫…

    科研百科 2025年4月1日
    1
  • 便宜的茶楼管理软件,可以用吗?(便宜的茶楼管理软件,可以用吗知乎)

    相信很多开茶楼的人,都会使用一些工具帮助自己管理门店,但是对于一些新手来说,并不知道如何选择。今天笔者就来说一说便宜的茶楼管理软件是否可以用。 最重要的是要看茶楼的定位,如果是高端…

    2022年10月6日
    249