美文网首页
iOS 逆向学习

iOS 逆向学习

作者: 不简单的风度 | 来源:发表于2020-03-04 13:44 被阅读0次

    前言

    本文主要对iOS逆向所需要的工具或者基础做一个大概的总结,如果有什么遗漏或者错误,欢迎读者指出。
    想要进行逆向开发,首先就是要对APP进行砸壳,砸壳又需要越狱,当然也可以直接去一些平台下载砸壳后的APP进行逆向,砸壳后就需要对APP进行静态分析和动态分析,用reveal查看视图结构,用hopper查看汇编信息等等。

    越狱

    iOS12可用unc0ver进行越狱,至于其他iOS版本可自己查阅相关资料
    iOS12越狱可参考https://zhuanlan.zhihu.com/p/58097735
    iOS13之后可使用checkra.in

    SSH

    越狱后可以安装OpenSSHadv-cmds方便电脑远程连接手机
    WiFi连接:
    先确保手机和电脑通处于一个Wifi环境,在手机的网络设置里面找到当前的IP地址

    $ ssh root@127.0.2.3 
    

    root用户的默认密码为:alpine,登录成功后可执行 passwd 修改密码
    USB连接:
    手机先usb连接电脑
    首先安装usbmuxd

    $ brew install usbmuxd
    

    然后进行端口映射

    $ iproxy 2222 22
    

    把当前连接设备的22端口映射到电脑的2222端口上
    最后进行连接

    $ ssh -p 2222 root@127.0.0.1
    

    免密登录:
    先查看本地(MAC)之前是否已经生成过RSA公私钥,直接进入目录.ssh下查看,如果其中有id_rsa和id_rsa.pub即代表已有,无需重新生成
    如果没有,直接使用如下命令生成新的

    $ ssh-keygen
    

    接着会出现一些问题,全部留空,直接回车即可。之后就可以发现目录.ssh下有了id_rsa和id_rsa.pub了
    然后就是将本地公钥发到iPhone端

    $ ssh-copy-id root@localhost -p 2222
    

    砸壳

    Appstore下载的应用都是加密的,可以使用otool查看是否加密
    otool -l ting | grep crypt
    使用monkeyDev大神的frida-ios-dump可以实现一键砸壳,非常方便,具体使用方法可参考GitHub

    class-dump

    class-dump 是一个工具,它利用了 Objective-C 语言的运行时特性,将存储在 Mach-O 文件中的头文件信息提取出来,并生成对应的 .h 文件。
    安装class-dump:
    可以在其class-dump 官网下载,将里面的 class-dump 直接放在/usr/local/bin 目录,并给个可执行权限即可 如果/usr/local/bin没有添加到PATH,请自行添加
    class-dump使用:
    把砸壳后的ipa文件解压得到payload文件夹。文件夹里面就是.app文件,终端cd到.app文件,然后执行class-dump的命令
    $class-dump -H WeChat -o ~/Desktop/wechatHeader

    hopper

    把砸壳后的可执行文件拖到hopper里面就可以查看对应的汇编代码,可以根据汇编进行自己的逻辑验证

    逆向调试

    使用monkeyDev大神的无须越狱、自动集成、只需要一个砸壳的应用可以调试砸壳后的应用

    相关文章

      网友评论

          本文标题:iOS 逆向学习

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