Man-In-The-Middle agent for querying & downloading history versions of iOS apps.
- Query history versions
- Select one to download
-
Install iTunes 12.6.5 , login Apple ID, and trust & authorize the computer you are using.
-
Download
ipaversion
from Releases page. -
Generate your own CA cert and put into
~/.mitmproxy
, OR just startipaversion
and it will generate a new one. -
Trust the CA cert. (Read mitmproxy docs About Certificates for more information)
- macOS
sudo security add-trusted-cert -d -p ssl -p basic -k /Library/Keychains/System.keychain ~/.mitmproxy/mitmproxy-ca-cert.pem
- Windows
certutil -addstore root mitmproxy-ca-cert.cer
Now you are ready to GO!
- Quit
ipaversion
if it is open. Runipaversion -c
to make sure it turns off the system proxy. - Open iTunes, search for an App. Buy it if you haven't.
- Start
ipaversion
- Go back to iTunes and click Download button.
ipaversion
will intercept the request and use it to get history versions.
Note: By default,
ipaversion
will get all history versions. If you only want to query a subset of those versions, specify-start
and/or-end
flags:# query a given range of versions: versionIDs[10..20) ipaversion -start 10 -end 20 # query first(oldest) 5 versions: versionsIDs[0..5) ipaversion -end 5 # A negative value means counting from last, for example: # query last(latest) 5 versions ipaversion -start -5
In case that network is unstable for "select index and download", you can specify -dump
flag to have ipaversion
dump all the replay responses to files for later use.
Alternatively, upon entering index/commands, input dump <index>
or just d <index>
to dump one replay response to file.
With a response file, run ipaversion -i <response-file>
to download ipa
.
Note: the response file may only be valid for several days (a week or so).
Usage: ipaversion [options]
options
-c cleanup and exit. (e.g. turn off proxy)
-dump
dump responses to files
-end int
versionIDs index range [start, end) (default 9223372036854775807)
-h show help and exit
-i string
read the input file and download ipa
-ps
show current system proxy status
-s do not set system proxy
-start int
versionIDs index range [start, end)
-v show version
commands
? show help message
exit exit
d|dump <index> dump response data (of the given index) to file
- Set system proxy when starting
ipaversion
, and turn off proxy upon normal quitting. - Add
-c
option for cleanup. (e.g. turn off system proxy) - Add
-s
option: do not set system proxy. - Query a given range of the history versions.
- Enter index number to download
ipa
file.
- mitmproxy An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.
- go-mitmproxy mitmproxy implemented with golang.
- sysproxy Go library and CLI tool for setting system proxy.