IOS逆向开发步骤(保持更新中......)


一、越狱你的设备

截止到2019-08-15,目前市面上有两款越狱软件unc0ver和Chimera

设备:iphone8 plus

      系统版本:ios12.2

      越狱软件选择:Chimera

      越狱过程相对简单,安装好Chimera app到手机上,打开直接一键越狱,成功后会显示“Alaready  Jailbreak”,并会安装Sileo,新版的Cydia

二、SSH登录到你的设备

       因为后续的步骤都需要在设备执行命令行,故最好能SSH登录到手机上

       一般设备越狱后,会安装OpenSSH工具,可在Sileo中的“已安装”进行检查,如果没有,自行安装

然后将手机和mac电脑用数据线连接,参考工具iPhoneTunnel:http://blog.sina.com.cn/s/blog_74e9d98d0102v3st.html

从手机上拷贝文件到电脑:

scp -P 2222 [email protected]:/var/mobile/Documents/xxx.deb /Users/ma/Downloads/Payload

从电脑拷贝文件到手机:

scp -P 2222 /Users/ma/Downloads/Payload/xxx.deb [email protected]:/var/mobile/Documents/

三、砸壳app

      针对从appstore安装的app需要此步骤,其他渠道的ipa包不用

      之前有Clutch、dumpdecrypted但都已无法正常使用,截止到2019-08-15,可采用Frida来砸壳(介绍参考连接:http://blog.sina.com.cn/s/blog_74e9d98d0102xw8g.html)

      Frida砸壳,大概步骤如下:

      1. 在设备端安装Frida

          a. 打开Sileo 添加源:https://build.frida.re(可手工到此网站上下载ios版的frida-server,源上面的始终都是最新版,必须要保持设备端和mac端的版本要一致才行,下载下来的frida-server解压得到frida-server命令工具,然后将该命令工具上传到设备,ssh到设备端chmod  777 frida-server, 然后./frida-server,则设备端的frida-server就运行起来了)

     b. 搜索安装Frida,完成后,在之前ssh到的设备端命令行里检查是否有命令“frida-server”,如果有表示安装frida成功,且此时frida-server已运行【表示在设备上开启了一个frida的服务】

   2.在mac上安装Frida

     此过程有点复杂且会出现一些问题,此处不多说,可参考如下链接:

http://blog.sina.com.cn/s/blog_74e9d98d0102xw8g.html

http://iosre.com/t/frida-ios-dump/11640

        如果安装成功后,在mac端新开一个命令行窗口,输入“frida-ps -Uai”可查看设备上所有安装的app信息:

     

IOS逆向开发步骤(保持更新中......)_第1张图片

      第一列有PID的应用,表示已经打开存在于内存中的应用,frida dump时也只能dump这些已经运行的app

Mac端安装完Frida之后,需再下载AloneMonkey开发的Frida-ios-dump工具会,这个工具就是借助于Frida编写的一个python脚本,然后这里面就有那个“dump.py”文件,cd到此目录中,执行命令“./dump.py 学习强国”【ios端和mac端要保证frida的版本是一致的,mac端一般更新命令为“sudo pip install --upgrade frida --ignore-installed six”需要在对应目录下放置一个egg文件才能更新成功,下载对应版本地址:https://pypi.org/project/frida/#files】


IOS逆向开发步骤(保持更新中......)_第2张图片

       完成之后,在firda-ios-dump-master目录里就有砸壳过的ipa文件

四、class-dump导出头文件

        经历过多次版本升级之后,之前各越狱论坛上的已不能正确使用,截止到2019-09-06时,已知AlongMoney开发的xcode越狱开发插件“MonkeyDev”中所带的class-dump可以dump出ios和swift所编写的

五、具体问题具体分析

           1、从界面入手,可使用reveal、lookin操作【reveal在越狱手机商店cydia或是sileo上的版本比较旧了,ios12.2的越狱机已找不到合适的,但lookin可以】

           2、注入式分析,可用cycript、frada-trace操作【cycript也是在高版本的越狱机上无合适的版本了】

你可能感兴趣的:(IOS逆向开发步骤(保持更新中......))