这一段时间学习了通过缓存抓取DMM的页游的缓存,还可以用下载资源的baseURL替换文件路径下载其他文件。
但是每次对一个新的游戏下载和解包时,我只会打开web端查看缓存链接来下载资源。有些游戏也有unity本地版,但是本地资源下载不完全,需要手动用URL下载。
请问一下各位大佬,如何简单地获得页游的资源下载链接(比如 CloudFront URL)或者通过查看本地游戏的资源清单json文件得出链接呢?
Windows/macOS直接抓包我个人使用Charles Proxy主要是方便商店版也支持注册机的激活码
iOS可以尝试使用AppStore的抓包不过切后台容易死进程还是推荐搭配PC局域网代理,如果你越狱了可在应用数据文件夹里找到一些记录(可能有)
安卓这个比较复杂想做到SSL代理需要将自定义证书写入系统证书文件夹需要root权限这是针对原生安卓其他的不知道有没有那么复杂
抓到数据后随便选一个下载的资源url搜索下载的文件名应该会出现一个文本文件包含文件名大概率就是
如果文件名为xxxx-xxxx-xxxx-xxxx-xxxx…这种类型大概率cocos2djs
如果搜不到可以查看在下载资源前那么几秒的数据是否有可疑的资源清单主要依靠文件名如config patch…
如果是unity类型的文件你需要解析后导出
如果是cocos2djs的你需要根据json还原uuid然后匹配原文件名和文件类型稍微复杂一点
如果遇到奇葩一点的文件清单在js脚本里面的可尝试使用正则表达式匹配
如果都没有可能就是加密了要逆向分析
PC我一般用的是fidder,这个导入证书很简单。
安卓,一是可以用模拟器搭配fidder抓,二就是Reqable。不过两个导入证书都挺麻烦,另外现在root好像也写不了系统区,Reqable我手机是直接装模块的。
最后说一嘴,资源清单一般比较大。
f12吗