Android逆向:9某某ds本地加密JavaScript文件逆向分析

Android逆向:9某某ds本地加密JavaScript文件逆向分析简介本次逆向的apk拥有较为简单的加固和JavaScript源码加密,分析起来并不困难,旨在分享心得——当逆向分析遇到“死胡同”的时候,换个思路也许能拨云见日

声明:案例分析仅供学习交流使用,勿用于任何非法用途。如学习者进一步逆向并对版权方造成损失,请自行承担法律后果,本人概不负责。

简介

本次逆向的apk拥有较为简单的加固和JavaScript源码加密,分析起来并不困难,旨在分享心得——当逆向分析遇到“死胡同”的时候,换个思路也许能拨云见日。
 

目标

获取apk中有关“91kds播放逻辑”的信息。
 

逆向流程

首先用jadx分析apk文件,发现其拥有360加固。
在这里插入图片描述
尝试使用drizzleDumper获取内存中真正的dex,成功。
在这里插入图片描述
再次用jadx分析真正的dex,没有找到与字符串“91kds”相关的有用信息,陷入僵局。
在这里插入图片描述
 

突破口——JavaScript文件

无意间翻看其官网,发现这个应用同时拥有Android版和IOS网页版,以此推测其安卓版有可能使用了JavaScript做混合开发。
在这里插入图片描述
于是猛然回想起之前分析apk data目录文件时看到的一堆*.js,当时不以为然,现在想起来它们兴许就是突破口,立马导出。
在这里插入图片描述
jquery-2.1.1.min.js库不多赘述,native_layer.js提供了大量工具方法,并由方法名中的片段yk(优酷),bst(百事通)等推测这是播放逻辑需要用到的方法。
在这里插入图片描述
但是当打开其他js文件时,发现被加密了。如encrypt_root.js。
在这里插入图片描述
回到dex中找线索,发现在apk初始化数据时,会解压下载的js.zip。
在这里插入图片描述
 

找到解密函数

顺藤摸瓜即可找到其读取js并解密的入口。
在这里插入图片描述
解密逻辑大致如下。
在这里插入图片描述
读取文件用的是java.util.Scanner的方法,不用担心是继承、重载做过手脚的类,也就不用再深入分析。
在这里插入图片描述
小插曲:将代码复制到java项目中运行,报错。
在这里插入图片描述
猜测为AES加密方法的平台兼容性导致,经过多次修改仍旧报错。
在这里插入图片描述
再次换个思路,将代码放入Android项目运行,正常获得解密js文件。encrypt_root.js即为url处理入口。
在这里插入图片描述
在encrypt_other_live.js中可以找到最关键的sign字段生成方式,至此就完成了对91kds播放逻辑的逆向分析。
在这里插入图片描述

今天的文章
Android逆向:9某某ds本地加密JavaScript文件逆向分析分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/80226.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注