内容简介:昨天下午有群友问这个用HTML写的APP怎么逆向,网页转APP,网页资源文件加密储存在本地,看下图:
昨天下午有群友问这个用HTML写的APP怎么逆向, 当时就认出来了。这是 APICloud ( https://www.apicloud.com ) 家的产品。
网页转APP,网页资源文件加密储存在本地,看下图:
下面开始分析:
既然是网页实现就少不用 WebView X5 之类的框架来加载呈现,先看看界面的结构:
是一个WebView控件, 顺手就打开远程调试:
很遗憾,在 WebView Debug = true 的情况下没有接入端口,只能从源代码分析了。
APP并没有壳,直接JEB打开。
结构也很简单,厂家的SDK占了大部分内容。(因为是网页开发APP,要逻辑都在JS)
先思考APP对资源的加载流程, 可能为:
这里有个共同的点都是需要拦截,而 WebView 只有一个实现这个功能的接口: WebViewClient.shouldInterceptRequest
下面是摘抄博客对API的介绍:
在JEB里面搜索这个方法:
只有这个地方有实现,继续往下看逻辑 a.d -> z.a ->
获取URL的文件后缀, a.e -> z.d ->
判断是不是需要管理的URL, This.b, this.a, 分别处理俩种情况的文件:
到了这里 SDK 接管资源的痕迹就很明显了,再往下我相信可以找到怎么加载&解密文件,但是我的目的只是dump出原来的明文资源就好,到这里就可以停止了。
关注 new i(v1, new c(v2, v0)); 这行 点进去看下:
WebResourceResponse(String mimeType, String encoding,InputStream data) 的实现, 再往下就是 WebView 内部了, SDK 也没法做什么改变了,相信InputStream。
就是标准的数据了,从 new c(v2, v0) 入手用 Xposed Hook 出数据看一下:
运行APP,查看Logcat
成功, 原来:
DUMP:
解密APP通讯数据 抓包看下:
双向加密: 我们从DUMP出来的资源中搜索 “/api.php”
顺路发现了可能用来加解密的可疑算法……来试试 解请求:
解返回:
成功。
不得不说通讯用的加密算法就好像是路边捡回来的 制作通用工具, 从前面的分析可以看出,SDK是混淆过的。
上面的HOOK只能针对某一个APP,换个APP又得重新分析,如果APP加了壳那还得脱壳才能分析。
下面给出通用的DUMP且无视加壳的代码:(我这只是其中一种,还有很多种写法)
加壳&多DEX注意处理attach。
- End -
看雪ID: jiaqq
https://bbs.pediy.com/user-309072.htm
本文由看雪论坛 jiaqq 原创
转载请注明来自看雪社区
— ▼ —
— ▼ —
﹀
﹀
﹀
公众号ID:ikanxue
官方微博:看雪安全
商务合作:wsc@kanxue.com
点击阅读原文,查看更多干货!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Unity3d资源文件解密
- NodeJS加密解密,node-rsa加密解密用法
- CMSEasy企业建站源代码解密工具,适用于纯本地解密机制!
- 如何解密keystore文件
- 解密 Runloop
- 加解密详解
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。