Quantcast
Channel: 睿论坛 - 最新帖子
Viewing all articles
Browse latest Browse all 37470

逆向AppAdmin遇到瓶颈,求天赐高人指点!

$
0
0

感谢楼上的回复,的确大致的逻辑是这样的,点击获取会弹出一个AlertSheet,有三个选项分别是continue, downgrade和cancel, continue就是正常AppStore下载,downgrade就会present一个新的ViewController,然后列出历史版本。

我先抓了包,先是发现了一个目标地址是https://api.unlimapps.com/v1/apple_apps/XXXX/versions的包,推测是获取历史版本信息的,果然用浏览器访问得到如下返回值:

[{"apple_app_id":"dd1e3955-09cd-4b69-b88f-3978cc0300f0","id":"8daca427-8971-40c1-a1a5-d158396c3644","bundle_version":"5.8.1","external_identifier":"813192464","created_at":"2016-03-23T12:56:55.365Z","updated_at":"2016-03-23T12:56:55.365Z"}]

然后IDA定位到这个地址位于一个叫做getLatestVersions的函数当中,有戏!然后顺藤摸瓜,搜索一下哪里调用了getLatestVersions这个函数,就是那个列出所有历史版本的ViewController。

这个视图控制器中包含一个TableView,当触发_tableView_didSelectRowAtIndexPath_时,会去下载指定版本的App,所以仔细看下

从汇编上看,似乎versions是一个数据源,然后通过row得到对应的external_identifier,然后就调用dismissWithVersionIdentifier,跳进去看看:

除了一个叫completion的函数没什么特别的,而且从名字上看好像dismiss带着VersionIdentifier的意思,再看看completion,也没什么特别的。

结果线索就断了,正如楼上所说,我需要的是从哪里开始拼接字符串的,难道说是dimiss之后,AppStore的那个界面检测到这个视图控制器dismiss了,然后开始自动下载了?说不通啊,也没看见有Notification消息发送的字样,所以,大神们,我应该怎么办呢?


Viewing all articles
Browse latest Browse all 37470

Trending Articles