注:小肩膀新课程《安卓逆向百例》,讲解一百个APP的实战,1999¥。
现在的app开发有很多框架,不再是单纯的Java和so了。不同框架开发的app,有不同的逆向方法。
1. 常见的Java和so
2. 普通的H5 app
3. uni-app
4. react native app
5. flutter
6. ......
本篇文章来简单聊一聊H5的app如何逆向。
H5的app通常是界面里嵌入一个WebView控件,然后使用它来加载网页,此时算法加密关键代码通常在JS文件中。
H5的app发展到现在,也有很多不同的表现形式,大体上分为以下三种。
1. 纯网页,数据加密发送均在网页端完成。
2. 部分数据在JS中发送,部分数据在Java中发送。
3. 所有数据都在Java中发送。
不同的形式也有不同的逆向方法。
对于第一种比较容易。如果加载的页面是在本地的,可以使用Chrome远程调试,可以在开发者工具上抓到包,也有相应JS代码。如果加载的是网络页面,也就是直接是一个网址的,一般可以直接在浏览器中打开,这种比较少见。
Chrome远程调试的要求:
1. 手机端的webview版本要比电脑端的chrome版本低。
2. 手机端的webview需要开启可调试。
3. 需要有一个能科学上网的vpn,因为点击inspect时要去下载一些东西,不然打开是白屏。
通常app中的webview是不开启可调试的,需要进行Hook来开启。
对于第二种,也可以使用Chrome远程调试。与第一种的区别是,通常涉及Java和JS的相互调用,这时算法加密关键代码,可能部分在JS中,部分在Java中。除了要有JS逆向能力以外,还需要有一定的安卓逆向能力。
对于第三种,典型就是uni-app,这种使用Chrome远程调试就没什么作用了。在Chrome开发者工具中,抓不到包,也看不到对应的JS文件。一般逆向方法是,找到JS文件,静态分析或者在关键处插入一些用于输出的代码,再塞回到app中运行来测试。
以上几种形式的H5 app逆向案例,均在新课程《安卓逆向百例》中有详细介绍。
课程介绍地址:http://xiaojianbang.vip/course-list
注:零基础一站式爬虫、零基础一站式安卓逆向、安卓逆向沙盒定制、chromium指纹浏览器定制也在开课哦,扫码联系吧!
专注于网络爬虫,JavaScript与App安全防护与逆向分析
包括Frida与Xposed教程发布
更多推荐
H5的APP逆向方法
发布评论