iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)

目录
     1. 抓包
     2. 安装itunes12.6.3
     3. Charles+itunes12.6.3 下载AppStore中App的旧版本
     4. 从越狱设备下载app
1. 抓包

Charles青花瓷软件 (一款代理服务器,拦截网络请求和响应)
破解版软件网址,搜索Charles

主要功能

1. 支持SSL代理。
  可截取分析SSL的请求。

2. 支持流量控制。
  可模拟慢网。

3. 支持AJAX调试。
  可自动将json或xml数据格式化(方便查看)。

4. 支持AMF调试。
  可将Flash Remoting 或 Flex Remoting信息格式化。

5. 支持重发网络请求
  方便后端调试。

6. 支持截获并修改网络请求参数和响应结果。
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第1张图片
软件截图
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第2张图片
软件截图
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第3张图片
软件截图

抓包步骤

1、更改Charles的端口(如:8888,需要和手机保持一致)
    Proxy | Proxy Settings | Port 

2、手机
    设置 | 无线局域网(需和电脑在同一Wifi下) | HTTP代理 选择手动(填写电脑本地IP,端口需要和步骤1中相同)

3. 运行app

4. Charles会弹框,点击允许(Allow)

/*
监听电脑
    Proxy | Proxy Settings | macOS 勾选 Enable macOS proxy
*/    
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第4张图片
更改Charles的端口1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第5张图片
更改Charles的端口2
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第6张图片
设置手机代理1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第7张图片
设置手机代理2
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第8张图片
监听本台电脑

查看mac的本地IP

方式1. Help | Local IP Address

方式2. 终端 | ifconfig

方式3. 系统偏好设置 | 网络 | Wifi
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第9张图片
方式1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第10张图片
方式2
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第11张图片
方式3

https导致的乱码问题 (图标带锁)

步骤1.  
Charles | Help | SSL Proxing | Install Charles Root Certificate 
钥匙串 | 证书 | Charles Proxy CA (x号,双击 | 信任)
钥匙串中的证书不被信任时(有x号),双击证书|信任改为始终信任

步骤2.
手机浏览器输入:chls.pro/ssl 下载描述文件
在设置|通用中安装描述文件

步骤3. 
Proxy | SSL Proxing Settings | 勾选Enable 添加* . 
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第12张图片
步骤1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第13张图片
步骤1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第14张图片
步骤1
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第15张图片
步骤2
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第16张图片
步骤3
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第17张图片
步骤3

内容替换

需要不同的请求参数来返回不同的结果以测试是否达到业务需求
需要不同的返回结果来验证客户端对数据的处理是否正确(需要后台的同事配合,或者使用Charles)
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第18张图片
内容替换。Tools | RewriteSettings

请求重定向

将测试环境的请求重定向到正式环境下
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第19张图片
请求重定向。Tools | MapRemote

模拟网速慢

Proxy | Throttle Setting,然后选择Enable Throttling
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第20张图片
模拟网速慢

断点

给某一请求设置断点,右键选择Breakpoints

过滤

Proxy | Recording Settings,然后选择 Include 栏,选择Add,然后填入需要监控的协议,主机地址,端口号。

另一种方式:选择请求后,右键选择Focus。其他的请求就会全部放在Other Hosts文件夹里。
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第21张图片
2. 安装itunes12.6.3(Mac 10.14不再支持)
    1、可安装ipa(本地、AppStore)到手机

itunes12.6.3

1、下载itunes12.6.3安装后。按住option并单击itunes->选择创建资料库。
2、编辑菜单->添加应用选项 
3、选择应用|选择AppStore|搜索应用并下载

查看应用部分信息
    使用压缩软件解压缩下载的ipa包 | 进入Payload文件夹 | 显示包内容(可以直白地看到,info.plist、直接放在项目下的图片---不是在Assets中、nib、其他资源文件、加密可执行文件)
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第22张图片
搜索应用
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第23张图片
资料库
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第24张图片
ipa包所在位置
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第25张图片
ipa包内容
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第26张图片
Payload中文件内容
3. Charles+itunes12.6.3 下载AppStore中App的旧版本
1、获取应用ExternalIdentifier号(用于下载旧版本)

方式一(依上方方法,在ipa包内容的iTunesMetadata.plist的softwareVersionExternalIdentifiers字段下查看该应用的所有版本)

方式二(使用Charles+断点)
Charles | Proxy | 选择 macOS proxy
下载应用
在Charles中查找类似于https://p47-buy.itunes.apple.com/WebObjects/MZBuy.woa/wa/buyProduct的请求,打上断点。
在资料库中删除应用,重新下载。
进断点后,点击Execute执行,再进断点后,选择Session选项卡 | 展开https://p47...buyProduct | Contents | XML Text(看下图)

2、替换
在资料库中删除应用,重新下载。
进断点后
点击Edit Request | 修改appExrVrsId的值为上方查到的版本之一
然后一直Execute执行
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第27张图片
查找ExternalIdentifier
iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本)_第28张图片
替换ExternalIdentifier
查看最近的ExternalIdentifier和版本号

1、iTunes | 应用 | 复制下载链接 | 拿到id
2、https://api.unlimapps.com/v1/apple_apps/id放入此处/versions
4. 从越狱设备下载app
1、越狱手机查看Wifi详情获取本地IP
2、MAC终端 ssh [email protected]
3、越狱手机运行应用
4、手机终端ps aux,找到/var/mobile/Containers/Bundle/Application/开头的,复制位置(如果是中文,cd到该目录下,复制应用名)
5、MAC终端 
跳转到指定目录后,scp -P 22  -r root@ 192.168.0.11:/var/mobile/Containers/Bundle/Application/08CC923E-2411-4BB6-9F15-1D03F26E18EE/?????????.app/ ./

你可能感兴趣的:(iOS之逆向(Charles抓包、安装旧版本itunes、下载App旧版本))