美文网首页
iOS逆向学习笔记

iOS逆向学习笔记

作者: WillPan | 来源:发表于2019-06-16 18:40 被阅读0次

    iOS设备越狱

    • 方法1:unc0ver(推荐,iOS11.3测试通过,截止201905,最高支持到12.1.2)
      无电脑安装,且无脑安装,且本人数据完好无损!!!
      打开https://next.tweakboxapp.com
      APPS--Tweakbox Apps 搜索unc0ver安装即可,装好了直接点击JailBreak即可
      越狱成功的标志是再次打开显示Re-JailBreak
      注意事项:
      iOS12.1.2会出现Cydia无法联网无法加载内容,需要安装类似 Stream 的抓包工具,安装根证书开启HTTPS抓包,开启之后顶部状态栏显示VPN,此时去Cydia搜索“连个锤子”下载安装,以后就不需要Stream了

    参考1: https://mp.weixin.qq.com/s/uQ6m8j_7ZuMxlrOr5Ebtvw
    参考2: https://github.com/pwn20wndstuff/Undecimus)

    使用 CaptainHook 轻松方便写 Hook 代码

    Mac准备

    • libimobiledevice
    # USB登录iOS设备,速度快 (把本地2222端口映射到设备的TCP22端口)
    $ brew install libimobiledevice
    
    # (本人使用Python3环境、用虚拟环境virtualenv安装到本文件夹下面)
    $ mkdir frida && cd frida
    #拉取适用于Python3的3.x分支的代码
    $ git clone --single-branch --branch 3.x https://github.com/AloneMonkey/frida-ios-dump.git
    #创建虚拟环境
    $ virtualenv -p /usr/local/bin/python3 venv3
    #进入虚拟环境
    $ source venv3/bin/activate
    #安装python工具依赖
    $ pip3 install -r requirements.txt --upgrade
    # 使用:
    #1.打开微信 
    #2.新开一个终端窗口,输入iproxy 2222 22
    #3.倒腾出微信(前提是cd到frida-ios-dump文件夹)
    $ ./dump.py WeChat
    
    • MonkeyDev

    MonkeyDev文档

    # 安装最新的[theos](https://github.com/theos/theos/wiki/Installation)
    sudo git clone --recursive https://github.com/theos/theos.git /opt/theos
    # 安装ldid(如安装theos过程安装了ldid,跳过)
    brew install ldid
    # 安装MonkeyDev
    sudo /bin/sh -c "$(curl -fsSL https://raw.githubusercontent.com/AloneMonkey/MonkeyDev/master/bin/md-install)"
    

    SSH登录设备

    查看iOS设备IP,eg:192.168.1.13

    # WIFI登录,默认密码 alpine
    $ ssh root@192.168.1.13
    
    # 修改密码
    $ passwd
    Changing password for root.
    New password:
    Retype new password:
    
    
    #免密登录1.1 在用户主目录下的.ssh文件夹生成公钥(tips:提示你输入文件名的时候不要输入)
    $ cd ~/.ssh && ssh-keygen -t rsa -P ''
    #免密登录1.2 把电脑上的公钥凭据复制到iOS设备
    $ ssh-copy-id -i $HOME/.ssh/no_psw_login.pub root@192.168.123.206
    /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/Users/pan/.ssh/no_psw_login.pub"
    /usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
    /usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
    root@192.168.123.206's password:
    
    Number of key(s) added:        1
    
    Now try logging into the machine, with:   "ssh 'root@192.168.123.206'"
    and check to make sure that only the key(s) you wanted were added.
    

    插件源及插件安装

    不错的插件源:http://tigisoftware.com/cydia

    添加方法:

    打开Cydia的Source-Edit-Add添加URL

    插件篇(在Cydia搜索安装)

    MTerminal:手机上的终端

    adv-cmds:使用ps命令查看当前进程运行的进程ID和可执行文件的路径

    fridaiOS版指南: https://www.frida.re/docs/ios/
    注意:Cydia源里面要添加https://build.frida.re

    #查看是否支持dropbear(USB连接) 之前和之后
    panweideiPad:~ root# ps aux | grep dropbear
    root            2378   0.7  0.2  1595776   1760 s000  R+    1:30PM   0:00.04 grep dropbear
    
    panweideiPad:~ root# ps aux | grep dropbear
    root            2763   0.7  0.2  1595824   1912 s000  S+    2:34PM   0:00.05 grep dropbear
    

    例子

    双开微信

    1. 前提:配置好MonkeyDev和frida-ios-dump、Cydia商店安装frida、配置好ssh免密登录、解密微信ipa(统统见上文)

    2. 打开Xcode新建工程,拉到最下面选择MonkeyApp

    3. 将解密后的微信ipa拖到Xcode工程的TargetApp目录下面,Cmd+R即可
      (iOS微信双开 iOS双开微信 iOS怎么双开微信 iOS怎么微信双开 SEO一波,嘻嘻,请无视)

    4. 结果(年轻人的第一次逆向)

      年轻人的第一次逆向
      图片备胎: http://a.kuibu.net/img/2019/06/16/20190616-17570224e80051029892cc.png

    查看当前运行的程序路径

    先退出所有程序,防止太多进程,打开Mac终端ssh登录后查看运行的进程及路径

    iPhone6S-XD:~ root# ps -e
    
    ...此处省略N行...
    10830 ??         0:00.55 /System/Library/Frameworks/Metal.framework/XPCServices/MTLCompilerService.xpc/MTLCompilerService
    10831 ??         0:00.34 /private/var/containers/Bundle/Application/43CEDD4A-213A-4033-9E9D-3BE14D5B349B/Files.app/PlugIns/RecentsWidget.
    10835 ??         0:10.55 /System/Library/PrivateFrameworks/DragUI.framework/Support/druid
    ...此处省略N行...
    

    由于我想提取文件App里面的图片资源,看到Files.app几个字你就应该眼睛冒绿光
    在iOS12上,App的路径大概是类似这样的:
    /private/var/containers/Bundle/Application/43CEDD4A-213A-4033-9E9D-3BE14D5B349B/Files.app

    所以下次输入ps -ef以后,可以Cmd+F搜索/private/var/containers/Bundle/Application

    打开Transmit,使用sftp工具将/private/var/containers/Bundle/Application/43CEDD4A-213A-4033-9E9D-3BE14D5B349B拖到Mac下载目录,完成文件App的全部拷贝

    其他

    图片资源解包

    https://github.com/insidegui/AssetCatalogTinkerer/releases

    相关文章

      网友评论

          本文标题:iOS逆向学习笔记

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