H5的APP逆向方法_uniapp逆向-程序员宅基地

技术标签: webview  java  安卓逆向  android  H5  

注:小肩膀新课程《安卓逆向百例》,讲解一百个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教程发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42557907/article/details/123518198

智能推荐

HTML5标准学习 - 编码-程序员宅基地

文章浏览阅读60次。HTML5标准学习 - 编码 from:http://www.cnblogs.com/GrayZhang/archive/2011/04/11/learning-html5-charset.html相信每一个前端工程师都或多或少遇上过“乱码”这位仁兄,无论你的基...

AB压测工具的介绍及安装-程序员宅基地

文章浏览阅读1.9k次。今天我要和大家聊聊AB压测工具,如果你对网站性能测试感兴趣或有需要,那么这篇文章一定会帮到你。我曾经也因为缺少良好的压力测试工具而苦恼,直到我发现了AB压测工具。它可以帮助我们测试网站在高并发情况下的性能表现,让我们更好地了解网站的性能瓶颈和优化方向。接下来,我将为大家介绍AB压测工具的安装和使用方法,希望能够帮助大家更好地进行网站性能测试,提升网站的质量和用户体验。_ab压测工具

使用URL启动android默认浏览器,启动指定浏览器_scheme打开系统自带浏览器-程序员宅基地

文章浏览阅读847次。打开URL启动android默认浏览器,启动指定浏览器 分类: android2015-05-07 09:2718人阅读评论(0)收藏举报浏览器uri原文出自:http://blog.csdn.net/u013812046/article/details/39226515一、启动android默认浏览器  Intent intent _scheme打开系统自带浏览器

计算机网络学习建议_计算机网络课程设计的建议-程序员宅基地

文章浏览阅读863次,点赞2次,收藏2次。计算机网络+计算机网络课程设计这门课挺有意思,是真的有意思,知道一个网络具体是怎么运作,然后还能自己动手配置一个网络,观察一个数据包的流转过程,不过学校的课程不是那么全面,讲得不是那么浅显易懂,学完只是懂了一些老古董。除此之外,课程安排确实让人吐槽,连上四节课,一般上到第三节课就已经熄火了,听不进去。关于课程设计安排更是有问题,思科学院的东西,如此现代,如此浅显易懂,居然让我们用课设时间去看,最关键的是,课设只有四天,你要看完一本书,这是不切实际的,完完全全地浪费了那么好的课程,所以不建议的那么安排。_计算机网络课程设计的建议

第三章--第二篇--开放式对话系统_开放式对话不支持多轮-程序员宅基地

文章浏览阅读545次。概念:开放式对话系统是指一种可以与用户进行自由对话的系统,用户可以提出任意话题的问题或发表意见,而系统能够理解用户的输入并做出相应的回应。与任务导向的对话系统不同,开放式对话系统更注重与用户的自由互动,旨在模拟人类的对话能力和语言交流。目标:开放式对话系统的目标是实现自然、流畅、有趣的对话体验,使用户感到与真实人类对话类似。自然性:系统能够理解用户的语言表达,包括词汇、语法、语义等,并以自然、流畅的方式进行回应,使用户感到在与真人交谈。_开放式对话不支持多轮

个人网站制作源代码_个人网站源码-程序员宅基地

文章浏览阅读9.2k次。/ 01 /前话《周末·听雨》包含动态雨滴效果,采用Dreamweaver软件制作,代码结构简单,DIV+CSS布局,目录结构为index.html页面、js、css和images文件夹。/ 02 /图摘/ 03 /_个人网站源码

随便推点

《时は,走り出す》-《时光奔流》 EVA同人·绝品老文……_明日香本子-程序员宅基地

文章浏览阅读1.1w次,点赞3次,收藏3次。第一部 三年的岁月流逝   那之后三年。 我已是17岁了。 已比明日香高出半个头的我,由于在田径部里锻炼的关系,已经不再像以前那么纤瘦了。 依靠着从世界再建委员会(前NERV)得到的退职金,还有打工时攒到的钱,一个人过着清贫的生活。 每天都和最终留在日本的明日香一起上学。 自己比以前更沉默寡言,除了和冬二,剑介,班长...还有明日香以外几乎都不怎么 说话。_明日香本子

python提取数据指定列_Python:提取特定列数据并将其存储到变量中-程序员宅基地

文章浏览阅读5.4k次。我有一个csv文件,我想从中提取ratings和comments字段,并将其存储在两个变量中-rating和comment。这个过程完成后,我需要查看提取的数据。CSV文件中存储的数据如下:在我的dataclean python文件中,目前编写的代码是:class Extractdata:def __init__(self, rating, comment):self.rating = ratin..._python提取特定列数据

<jsp:include page="" /> org.apache.jasper.JasperException: Unable to compile c-程序员宅基地

文章浏览阅读404次。[b]引入一个页面,出现如下异常:[/b] [code="java"] 2010-10-6 11:44:08 org.apache.catalina.core.ApplicationDispatcher invoke严重: Servlet.service() for servlet jsp threw exceptionorg.apache.jasper.JasperExcept..._exception: unable to compile expression "$.data": syntax error token recogni

Android5.0 WebView中Http和Https混合问题-程序员宅基地

文章浏览阅读981次。http://blog.csdn.net/luofen521/article/details/51783914http://blog.csdn.net/luofen521/article/details/51783914http://blog.csdn.net/luofen521/article/details/51783914场景复现:

Laravel微信静默登录教程_laravel 微信登录-程序员宅基地

文章浏览阅读252次。注:用户表字段必须有oppid & session_key。_laravel 微信登录

Resources (library) in JSF 2.0_outputscript-程序员宅基地

文章浏览阅读339次。In JSF 2.0, all your web resources files like css, images or JavaScript, should put in “resources” folder, under the root of your web application (same folder level with “WEB-INF“).The sub-folder under_outputscript