首页
论坛
课程
招聘
[原创]ios逆向-frida&环境&破解appSign算法
2020-11-28 11:33 12898

[原创]ios逆向-frida&环境&破解appSign算法

2020-11-28 11:33
12898

设备

iPhone 5s
黑苹果

越狱

越狱借助unc0ver,不详细说了。

环境准备

安装openSSH

越狱iPhone 使用Cydia 搜索 openSSH,安装即可。

  • WiFi 无线连接
  • 手机和Mac电脑在同一网络下。
    建立连接,这里我的iPhone的ip是: 192.168.0.106
    ssh root@192.168.0.106

    USB连接

    比WIFI响应速度快,网络环境无限制
    usbmuxd是网上开源社区,貌似是国外牛人倾力打造的一个专门针对该功能开源库
    通过brew来安装
    brew install usbmuxd
    usbmuxd 自带工具iproxy,iproxy 可以快捷的操作连接iPhone等操作。由于Mac上只支持4位的端口号,所以需要把iPhone的默认端口22映射到Mac上,相当于建立一个Mac和iPhone之间的通道。
    iproxy 2222 22
    以上命令就是把当前连接设备的22端口(SSH端口)映射到电脑的1215端口,那么想和设备22端口通信,直接和本地的1215端口通信就可以了。
    终端提示 waiting for connection ,表示这两个端口之间已经可以通信了,保留当前终端(如果关闭就停止端口之间的通信了),新建另一个终端输入,默认密码:alpine
    ssh -p 2222 root@127.0.0.1
    file
    file

    配置frida

  1. 启动 Cydia
  2. 添加软件源 软件源 Sources-> 编辑 Edit(左上角)-> 添加 Add(右上角)-> 输入 https://build.frida.re/
  3. 通过刚才添加的软件源安装 frida 插件。根据手机进行安装:iPhone 5 及之前的机器为 32 位,5s 及之后的机器为 64 位,进入 变更->找到Frida->进入Frida 在右上角点击安装,安装完成后如下图
    file
    file
    电脑端使用pip install frida-tools

    砸壳

    使用frida-ios-dump砸壳

    加速clone
    1
    2
    3
    git clone https://hub.fastgit.org/AloneMonkey/frida-ios-dump.git
    cd frida-ios-dump
    sudo pip3 install -r requirements.txt --ignore-installed six
  • 查看app 名称及bundleID
    python3 dump.py -l
    file
  • 砸壳
    砸壳可使用名称, 若名称不可以就使用bundleID即可
    python3 dump.py com.hupu.** -P***
    我这里用了类似安卓app的包名,Identifier来砸壳。
    如果更改了 openSSH的密码,一定要加-p新密码,另外dump.py默认的iproxy转发端口是2222。

    砸壳完成。
    当前目录下可以看到我们需要的砸壳后的识货.ipa
    file
    ##反编译
    将ipa解压之后,右键 显示原身,找到如下图这个二进制可执行文件。
    file
    拖到ida打开

    错误锦集

  1. unable to launch iOS app: The operation couldn’t be completed. Application "" is unknown to FrontBoard.
    打开app,允许权限
    2.如果frida无法连接手机,提示“Failed to enumerate applications: unable to connect to remote frida-server: Unable to connect (connection refused)”,则需要检查手机frida的版本,区分32bit 和64bit版本。iphone5是32位,iphone 5s以上是64位。
    3.如果报错:frida.InvalidOperationError: script is destroyed,则需要先退出app,再手动打开app等初始化完成,再次执行dump脚本,这样frida attach之后就不会出现这个问题。
    4.如果报错:frida.ProtocolError: unable to communicate with remote frida-server; please ensure that major versions match and that the remote Frida has the feature you are trying to use,说明pc端版本和手机端frida版本不匹配,可以把手机端升级到最新,pc端使用pip3 install -U frida进行升级
    5.本文章仅用于学习交流,请勿用于非法或商业用途。

    frida破解sign算法

    使用fridatrace真的很方便。
    打开案例app,使用frida进行trace。
    1
    2
    frida-trace -U -i CCCrypt pid #aes加解密相关
    frida-trace -U -i CC_MD5 pid #md5加密
    file

可以看到类似一个base64的字符串和一个url排序后的结果。
先把明文进行md5。
file
对比之后,这个算法就破解了
接下来看aes这个算法破解。
file
看到base64,由于这个app安卓版已经破解过了,所以知道该app的ios版本应该也是aes算法,所以就。。。还知道aes加密之后再去md5就是newSign。
通过trace拿到解密key之后,直接解密。
file
然后md5一下看看
file
好了,破完收工。
ios逆向-frida&环境&破解appSign算法 原文链接


[看雪官方培训] Unicorn Trace还原Ollvm算法!《安卓高级研修班》2021年6月班开始招生!!

收藏
点赞1
打赏
分享
最新回复 (6)
雪    币:
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
followwind 活跃值 2020-12-31 18:24
3
0
我有个问题:必须用usb走端口转发才能砸吗,单纯ssh连不行吗。。。我这黑苹果虚拟机usb用着贼奇怪
雪    币: 75
活跃值: 活跃值 (335)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
ogli324 活跃值 2021-1-11 13:47
4
0
followwind 我有个问题:必须用usb走端口转发才能砸吗,单纯ssh连不行吗。。。我这黑苹果虚拟机usb用着贼奇怪
ssh可用的情况下,直接就ssh呗, 何必用usb链接再来回转发端口,我日常都这样操作
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
求ios算法 活跃值 2021-1-23 15:33
5
0
大佬可有联系方式?
雪    币: 91
活跃值: 活跃值 (430)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaozhu头 活跃值 2021-1-26 15:19
6
0
ogli324 ssh可用的情况下,直接就ssh呗, 何必用usb链接再来回转发端口,我日常都这样操作
usb就不用看手机ip了 省事。。
雪    币: 0
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
求ios算法 活跃值 2021-2-2 15:58
7
0
大佬 方便加个好友联系一下吗?  13627996050
游客
登录 | 注册 方可回帖
返回