现在手持设备诸如平板上面有很多很大的游戏,很多游戏设计在第一次打开的时候提示下载数据包,不过这些应用内下载通常效率很低,而且没有进度能看。(因为都是外国的公司么?从外国服务器上面下载?)我们知道在电脑上面我们可以使用诸如离线下载、多线程下载等方式提高下载速度,所以如果我们知道应用内下载的数据包的下载地址,我们就能事先在电脑上面下载,再把数据包放入存储卡。当然了,很多发应用的人都会给出数据包下载地址,不过很多都在网盘,而且还是那个最近悲剧了的网盘。所以,我们自己下载可能会好点。
好吧说实在的就是我平板里面的实况足球2011,就是这么一个应用内下载的情况。你说我们电脑上面可以抓包,平板上面怎么办?方法有很多,这里我是用一种比较简单的办法:
软件准备: 电脑端:Fiddler2(抓包用)、Tcpmapping(端口映射) 移动端:ProxyDroid
fiddler的抓包很不错,是抓http的包的,它默认开启8888端口http代理,打开软件后可以点击左下角的capturing停止抓包,不过这是全局的抓包。关掉以后通过8888端口代理的数据包还是可以抓到并显示在主窗口的列表里面的。不过问题是这个fiddler的代理绑定的貌似是127.0.0.1本地地址,也就是通过电脑的独立IP 和8888端口并不能连接上fiddler代理,所以这里我用了tcpmapping这一个小工具,这是一个简单的端口映射工具,我可以在里面建立一条规则在本地再开一个端口并映射到127.0.0.1:8888,这样就成功把fiddler代理暴露在外面。
下一步我在平板上面使用ProxyDroid建立一个代理设置指向电脑的IP和对外开放的映射端口,然后开启代理之后就可以了,再次打开实况足球2011并同意开始应用内下载,fiddler里面就捕捉到下载地址了,接下来你就可以用各种工具来下载数据包了