84

发财项目冲顶大会逆向分析

 6 years ago
source link: http://mp.weixin.qq.com/s/xA6qOUw--VaMAiDRDQPfew
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

发财项目冲顶大会逆向分析

老峰 iOSTips 2018-01-10 13:58 Posted on

      1月3日,王思聪的一则微博,带来超过20万的下载量,并且这个数据还在极度攀升之中,短时间内吸引了众多人的参与,资本的围观。“冲顶大会”在微博单日阅读量100万+,鲸准热度、百度指数、知乎热度直线上升。亮眼的数据成绩,在票圈也掀起了一波狂潮。这俩天西瓜视频 冲顶大会都在答题撒钱圈用户,那么我们今天带着学习的态度分析下冲顶大会这款暴热的APP吧。

Image

        首先考虑到时直播答题那APP源码里应该可以搜到socket,搜索后果然有重要发现 LiveTriviaBarrageSocket,WXOGCDAsyncSocket,JPUSHTcpSocket

,AsyncSocket,几乎可以肯定LiveTriviaBarrageSocket 这个应该是冲顶大会开发者答题收发消息的业务实现类,AsyncSocket是socket三方库,WXOGCDAsyncSocket是微信支付三方库,JPUSHTcpSocket是推送三方库,我们看到

BarrageSocket有receiveMessage,didConnect,didDisConnect读名字都知道干什么事了。

Image

        既然是答题类业务那么搜Question这个词试下呢,这个搜出的业务类就更多了LiveQuestionOptionButto选择答案的按钮,

LiveQuestionResultLostViewController答题失败,

LiveQuestionResultWinViewController答题成功,

ShareQuestionView 题目显示View?业务类太多了就不一一看了。

Image

              接下来我们验证下上边的猜想通过hook关键方法,首先试下hook题目内容BarrageSocket.receiveMessage,,麻蛋冲顶大会的开发者做了混淆,整个直播答题都完了,也没hook住,坑死了有木有,好吧既然直播结束了,那就hook首页吧

CHOptimizedMethod(0, self, void, HomeViewController, viewDidLoad) 如我预料还是没hook住,看了下反编译代码,卧槽终于hook住了,要用混淆后的类名

_TtC10LiveTrivia18HomeViewController感觉自己好机智,那么直播的socket用混淆后的类名应该也可以hook住了明天有直播的时候在验证下。

Image

          另外直播页面PlayerViewController,LiveQAContentView题目view,猜想在socket内拦截题目内容或直接hookLiveQAContentView的text拿到题目内容,然后调用查询接口或开发答题插件自动百度弹出与题目相关的答案,就可以提高正确率登顶拿大奖,做这些并不复杂(发财项目啊哈哈哈),感觉登顶开发者安全方面做得不够,需要加强。

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK