Skip to content

stdroom/ApkHistorySearch

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

项目背景

安卓的安装包都是以.apk结尾的,反编译安卓安装包可以看到相关代码,这对开发人员的学习或者破解相关资源都是很有帮助的,而针对某一款软件的最新软件进行反编译,不一定会有很好的效果,但是它的历史版本是可以的,所以这个项目就是开发一款专门搜索及抓取apk历史版本的工具

项目原理

应用汇市场拥有安卓apk包搜索,及历史版本查看功能,所以我们可以用代理软件,查看这些相关的接口,并用python进行调用,最终实现自己的这款神奇工具。

项目使用技术

  • Git使用
  • Python (版本采用2.7版本,采用Tkinter做GUI开发)
  • 基本的网络知识

开发顺序

任务会随着开发不断进行整理,框中有对勾为已完成,否则未完成

  • 环境搭建
  • 抓取网络接口地址
  • 接口分析
  • 学会Json库的使用
  • 接口调用
  • 对接口进行相应的封装,方便调用
  • 设计UI界面
  • UI界面填充数据,并响应操作
  • 可以下载搜索好的apk包数据
环境搭建
  • git环境搭建
  • 使用git克隆项目到本地
  • python环境搭建
  • PyCharm环境安装(非必须,记事本等也可以)
抓取网络接口地址

使用网络代理软件观察接口 (windows环境 使用fiddler,mac环境使用Charles,涉及配置可以百度)

  1. 安装fiddler
  2. 手机端安装应用汇客户端
  3. 手机端wifi设置手动代理为电脑ip 和 fiddler的端口,默认端口应该为:哈哈忘了,自己查吧
  4. 使用https的可能需要安装证书
  5. 点击应用汇app观察代理上是否有应用汇数据请求
接口分析
  1. 搜索接口
  2. 找旧版接口

通过搜索接口找到具体app的id,然后通过这个id组装找旧版接口的请求参数,即可获取到app的历史版本信息列表,其中就包括下载地址

接口地址都是https://mobile.appchina.com/market/api,通过上传的参数决定调用什么接口

  • 搜索接口上传参数(返回数据 见文件app.list.search.json)
参数
deviceId 设备Id随便写整数即可
referer 06b15137-908f-4f51-b035-e296d5fda1b6
api market.MarketAPI
param 见文件app.list.search.json
  • app找旧版接口(返回数据见 app.pastdetails.json文件)

其它参数跟搜索接口一样

参数
param {"apiVer":23,"guid":"06b15137-908f-4f51-b035-e296d5fda1b6","imei":"869394021134371","type":"app.pastdetails","id":5341338,"packagename":"com.miui.video","start":0,"size":100,"clientTime":1511663556932,"imglevel":3,"gpuType":4,"clientVersionCode":30061345,"channel":"ac.ex.360"} //其中的id为搜索接口返回的id
接口调用

用提取好的接口尝试调用,看是否可以返回需要的数据(其数据格式是Json格式)

About

搜索安卓apk包 历史版本记录

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published