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年7月15日
    1
  • 「软件项目管理入门」(44) 项目验收是重要环节(软件项目验收阶段主要工作)

    验收测试完成之后,并不等于项目就验收了,还需要准备验收报告和项目总结。虽然这些工作形式大于内容,不仅不能省略,而且要非常重视。因为涉及到后续的维护工作以及双方后续的合作问题,当然公…

    2022年7月26日
    317
  • 信息系统项目管理的作用

    信息系统项目管理的作用 随着信息技术的不断发展,信息系统项目管理已经成为了项目管理中不可或缺的一部分。信息系统项目管理不仅可以提高项目的效率,还可以确保项目的质量,并减少项目的风险…

    科研百科 2025年7月11日
    1
  • 延期结题申请原因怎么写

    延期结题申请原因怎么写 在论文写作的过程中,常常会遇到各种问题和挑战,其中一些可能会影响到论文的进度和完成时间。有时候,由于各种原因,论文可能会延期结题。在这种情况下,写一份延期结…

    科研百科 2024年10月7日
    16
  • 又一家“太空旅游”公司成立:计划用高空气球送人上平流层(太空旅游 价格)

    近日,又一家“太空旅游”公司成立,这次要用高空气球送人上30千米高的平流层。 商业航天初创企业Space Perspective当地时间6月18日宣布成立,公司计划使用由高空气球和…

    科研百科 2024年4月15日
    122
  • 投资项目智慧管理系统

    投资项目智慧管理系统 随着数字化时代的到来,投资项目的管理也越来越依赖于信息技术。投资项目智慧管理系统是一种利用信息技术对投资项目进行全方位管理的方法,它可以提高投资项目的管理效率…

    科研百科 2024年12月16日
    0
  • 佳汇设计-募集资金管理制度

    浙江佳汇建筑设计股份有限公司募集资金管理制度 第一章 总则 第一条 为规范浙江佳汇建筑设计股份有限公司(以下简称“佳汇公司或本公司”) 募 集 资金的管理和使用,防范资金使用风险,…

    科研百科 2022年12月17日
    228
  • “现代肉鸡产业技术体系建设启动大会”在北京召开

      2009年2月14日,中国农业科学院北京畜牧兽医研究所在北京主持召开现代肉鸡产业技术体系建设启动大会。农业部畜牧业司副司长王宗礼、科教司产业技术处处长张国良、畜牧业司畜牧处处长…

    科研百科 2022年5月19日
    374
  • xcode学生管理系统项目

    Xcode学生管理系统项目 随着iOS开发的普及,越来越多的学生开始使用Xcode进行学习。为了帮助学生更好地管理他们的学习资料,我们开发了一个 Xcode学生管理系统项目。 该项…

    科研百科 2024年12月26日
    0
  • 基建档案的管理流程是什么(基建档案的管理流程是什么意思)

    如何加强基建工程档案管理工作是提高基建工程质量的一项非常重要的工作,所以我们要管理好基建档案。下面为您精心推荐了基建档案的管理流程,希望对您有所帮助。   基建档案的管理流程 1、…

    科研百科 2024年4月26日
    68