【教程】利用Windows抓取AppStore旧版本应用ID
重要
高能预警:本文属于技术性帖子,部分人群可能不适宜食用
本篇文章主要讲怎么利用Windows电脑抓取AppStore旧版本id
这篇教程需要什么?
硬件:联网Windows电脑一台
软件:旧版本iTunes(可以下载软件)和Filddler4
附上小编自用12.6.5.3的64位版本百度云链接:
https://pan.baidu.com/s/1pdblWNusdcnpqQR8eIHn-A
Filddler4官网:
https://www.telerik.com/download/fiddler
下面教程开始
打开 Fiddler,选择菜单栏 -> Tools -> Fiddler Options,在 HTTPS 选项卡中勾选 Decrypt HTTPS traffic,然后重启Fiddler。
{ps:若提示Certificate Error证书错误,可以选择Yes忽略错误或者安装证书}
下面以抖音app为例开始教程
fiddler打开最大化
打开iTunes 搜索抖音,如图所示的样子
点击下载,等右上角出现箭头后删除下载,如图
{ps:选中下载按2次Delete键即可删除}
在Fiddler查找相关请求
找到pxx-buy.itunes.apple.com、URL开头为 /WebObjects/MZBuy.woa 的请求
Fiddler双击请求切换右侧至 Inspectors 选项卡,并点击中间的黄色块(解码转换)
(Response is encoded and may need to be decoded before inspection. Click here to transform.)
如图
保存请求
右键请求 -> Save -> Response -> Response Body,如图
需要注意的是,如果没有点击黄色方块,将会保存一个乱码文件
保存出来一个这样的文件
寻找App版本列表
双击打开文件,或者ie浏览器打开
ctrl+F搜索softwareVersionExternalIdentifiers
其后一系列数字为该APP历史版本号,下面附图
{从上往下为该 App 自第一个版本起每个版本在 App Store 中的版本 ID}
可能到这里会有人说了,好麻烦啊这还是只有id没有对应的版本号,有个dei用?
这里小编先来回答下:看起来是挺难,做起来其实挺简单的,而且这个方法不会失效,没有对应的版本号,下面来教怎么看对应的版本号
那我们下面来模拟请求查找版本
将刚刚fiddler里找到的请求,拖拽至Fiddler右侧Composer栏
这里制作了个gif看下,好像有点模糊,就这样吧
在Request Body中找到appExtVrsId位置,编辑右侧数字内容即版本号。版本号从第5步中从后几个id中挑选。如把图中834415665替换成833654689
点击右上角Execute按钮,执行
如果出现左侧红色图标,则在左下角黑色框输入bpu取消断点
执行完毕后得到pxx-buy.itunes.apple.com、URL开头为 /WebObjects/MZBuy.woa 的请求
确认ID对应的版本号
左侧列表底部找到新请求,点击展开Inspectors页面,点击黄色块解密
切换到TextView(文字视图),搜索bundleShortVersionString,可找到ID对应版本号。
如刚才输入的ID是833654689,查询出对应的版本是8.8.0。
这样子就得到版本号和对应的版本id了,看似麻烦,做起来其实还是很简单的
本篇文章为学艺不精的zby1101,收集整理,如有错误请后台指正,谢谢;如有侵权,请联系我,感谢!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 利用Sql处理MR栅格数据
- Netty组件之Channel注册
- 使用 kubeadm 安装单 master kubernetes 集群
- 垃圾回收算法(4)-复制算法
- Digital-Signature-Hijack:一款针对数字签名劫持的PowerShell脚本
- 使用TensorFlow物体检测模型、Python和OpenCV的社交距离检测器
- 基于OpenCV和Tensorflow的深蹲检测器
- BBPress未经身份验证的提权漏洞分析
- 开源日志管理系统Graylog之Sidecar功能实践
- CentOS-AltArch-7(ARM版)下源码编译MySQL5.7.31
- 用BurpSuit的Burpy插件搞定WEB端中的JS加密算法
- CentOS7下安装文档协作工具Confluence7.2.1
- caret包进行机器学习
- 容器化Go应用--基础镜像的未知时区问题
- 写给自己的Object和Function的3个灵魂拷问