首页
社区
课程
招聘
[原创]Android逆向-爆破B站App的点赞动画
发表于: 2022-10-20 14:21 1577

[原创]Android逆向-爆破B站App的点赞动画

2022-10-20 14:21
1577

背景

阳光沙滩App开发点赞功能,有同学觉得点赞需要点效果,我第一印象就是b站的点赞挺好看的,那就拿过来!

 

图片描述

 

个人博客地址 http://www.debuglive.cn/article/869313012241006592

需要的环境

  • Android手机root,xposed
  • b站App
  • ddms
  • 需要把ro.debuggable设置1,这样在ddms中可以看到全部进程
  • 分析trace文件
  • jadx分析apk代码
  • root explorer工具查看/data/下的安装数据
  • 突破ddms文件trace的8mb限制

获取点赞的时候的堆栈

我们打开ddms,选择b站app的进程。
我们先找到他的包名,包名就是进程名字。打开App,随便一个页面。然后执行我们的find

 

图片描述

 

包名:tv.danmaku.bili

 

打开ddms查看进程。

 

图片描述

 

开始打开的时候,可能什么都不显示,我们需要reset adb一次。

 

图片描述

 

点击之后就能看到全部进程了。

 

图片描述

 

找到了主进程就行,如果同名字后面有:xxx的是子进程,这个我们不需要关注,我们的ui在主进程中。

 

接下来,我们打开随便一个视频,点赞一下,发现了点赞的动画显示了。我们再点赞取消它。下面开始录制堆栈

 

选中进程,点击一下这个红色的录制按钮。弹出录制框。

 

图片描述

 

选择下面这个,然后点击ok

 

图片描述

 

点击ok之后,马上点赞一次触发动画。然后马上回来工具,点击停止录制

 

图片描述

 

一定要快,不然录制堆栈数据很多,分析起来麻烦。

 

ddms停止后,会显示这样的一份文件,开始分析里面的堆栈就行了。这个工具是记录运行中全部的运行记录,也就是不管他有没有加壳,什么混淆的,都记录在里面了,想跑都跑不掉,除了native的方法。

 

图片描述

分析trace

我们通过搜索click,然后把全部堆栈一条一条看一次。

 

图片描述

 

看到我头晕了,翻到差不多结尾的时候突然发现了一些端倪,这个地方创建了一个popwindow,里面有SVGAImageView??pop设置宽度,后面还有一些File的操作?

 

应该就是你了,验证自己的猜想。

反编译apk找动画代码

二营长,把意大利炮(jadx)抬上来。

 

apk丢进去jadx中,根据上面的路径,找对应的class:tv.danmaku.bili.ui.vide.widget.k.a
看到这个路径,widget?这不是常用的组件才放这个里的?

 

找对这个类的代码,打开看看。

 

图片描述

 

代码不对,直接阅读下就好了,找对重要的地方,再验证就行了。

 

图片描述

 

好家伙,看文件命名就知道跑不掉了,这里有2个版本的点赞svga文件,也就是我们找到文件就行了。

 

把apk改.zip解压,在搜索中过滤.svga,看看结果。

 

图片描述

 

在apk中一个都没有?

 

可能是远程下载的文件。换个方式。我们去/sdcard/Andord/data/包名下搜索,结果也是没有的。

 

那就直接进入安装目录搜索吧。使用re文件管理器的搜索功能.svga

 

图片描述

 

里面好几十个文件,当就快绝望的时候,翻到尽头了,熟悉的文件名啊~~~

 

把他复制出来,验证下是不是点赞?

 

图片描述

 

打开svga的在线播放器:http://svga.io/svga-preview.html

 

把他拖进去看看。

 

图片描述

 

收工了~~~,三点几了

 

图片描述

总结

1:ddms的使用
2:录制trace文件并分析
3:jadx定位代码
4:你必须有一套逆向的工具
5:xposed辅助逆向工具
6:本文是逆向入门文章,大佬轻喷
7:如果你有更好的方法,记得来评论区告诉我


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//