美文网首页
iOS逆向之旅(越狱篇) — Theos

iOS逆向之旅(越狱篇) — Theos

作者: 洪呵呵_ | 来源:发表于2019-03-04 16:02 被阅读0次

    Theos

    首先要感谢作者DHowett,还有后期维护的一大波高手

    之前在iOS逆向之旅(进阶篇) — HOOK(Logos)的Logos就是Theos其中的一个组件。
    theos主要是用来写越狱插件,之前我们注入代码都需要对ipa包,砸壳-注入代码-重签名-重装,现在有了插件我们就只不需要那么麻烦了,直接安装插件即可【前提在越狱环境下】。

    Theos的安装

    官方文档,我也是照着文档来,高手请忽略

    • 安装包管理工具Homebrew
    • 安装ldid【这个是类似codesign的签名工具】
    • 配置环境变量 THEOS
      echo "export THEOS=~/theos" >> ~/.profile

    备注:~/theos 是安装路径,写到~/.profile后最好source一下,最好再echo $THEOS 一下看看配好了没。已经很啰嗦了,高手请忽略

    • clone一下
      git clone --recursive https://github.com/theos/theos.git $THEOS

    必须Clone,别直接download,里面涉及不少依赖

    • 最后把Theos的bin目录写到PATH里面,我们需要用里面的nic.pl

    捣鼓一个插件

    • 第一步创建一个tweak项目

    注:[iphone/tweak] MobileSubstrate Bundle filter [com.apple.springboard]: com.tencent.xin 这里是填入的是,你最终想把代码注入到哪一个项目的BundleID
    • 第三步直接 make package 编译成deb包

    如果你使用的是Xcode10会出现以下问题



    原因是:Apple在Xcode10中彻底抛弃了GNU的C++标准库,实现libstdc++切换到LLVM的libc++上
    解决办法是修改Makefile文件,如下:


    • 编译结果如下

    • 最后通过make install 就可以把插件装到手机上了
    • 如果你还遇到其他坑,请看最后一个小标题

    搞个小案例

    • 我再Tweak.xm下写了点hook代码,hook登录按钮【怎么分析哪个控制器,哪个方法我之前说过了,我现在就不赘述了】

    • 结果:每次点击按钮的时候,就会打印222
    • 盗号的原理也就是获取密码输入框的文本,然后调用通过http请求把你的账户密码给暴露出去

    编译过程出现的各种坑,我这里小小的总结一下

    • 不要在中文目录下编译工程.否则报错
    • packageName(包名称),全部小写!!!
    • Error: IO::Compress::lzma 没有lzma这个压缩软件,需要下载lzma(或者修改配置使用gzip)
    • Error: You do Not an SDK: 需要指定Xcode ,需要安装一下MonkeyDev

    相关文章

      网友评论

          本文标题:iOS逆向之旅(越狱篇) — Theos

          本文链接:https://www.haomeiwen.com/subject/bmpwhqtx.html