前面文章介绍了逆向环境的搭建,星球里面也分享不少逆向的工具,本篇开始进入实战,先搞个简单的,熟悉下逆向的工具和流程。
样本
- 某星球1.5.9
这个软件每天有些日常任务,完成任务可以获得猿分,得到的猿分可以兑换东西或者充值话费。我们的目标就是找到做任务的接口,写成脚本,自动化的完成日常任务,省心省力。
抓个包先
既然是要写脚本调用,肯定少不了抓包,这篇文章抓包环境搭建已经介绍了怎么搭建抓包环境,这里就直接抓包
图中展示的是每日任务列表的接口。从请求体中,可以大致的猜出一些东西appSign
应该与接口加密数据有关, appTimeStamp
是请求接口的时间戳, pageNo
和 pageSize
则是请求分页的字段。这里可以大胆的猜测一下,appSign
是对appTimeStamp
、 pageNo
、pageSize
加密的结果。抓包就分析到这里,按这篇文章逆向的思路,进行下一步——看源码。
脱壳
先用mt文件管理器看下app是否加壳
可以发现已经被加壳了,那么就直接脱壳,先用自动化脱壳工具BlackDex试下
哎呦,直接成功,那么去看下dex文件
wtfk,在给我开玩笑吗?这不还是加壳的文件吗?既然这个不行,那就上Frida从内存中脱壳试试吧!
果然没让我失望,脱出来不少dex,还是先用mt文件管理器查看下,
OK,这次脱的应该没问题,搜索一下刚才抓包的关键字appSign
,
嗯,还好,结果不是很多,下一步就是查看代码及hook,找到关键的代码。
由于逆向是比较特殊的学科,文章中的工具也是特别版,所以不方便公开放出来。可以到知识星球中获取。