安卓逆向经典案例—H5appXX运维

在这里插入图片描述

H5app的class不一定是android.webkit.WebView
也可能是腾讯X5内核或者是uc webview
殊途同归也要去hook webview的系统函数和可调式方法setWebContentsDebuggingEnabled。

在这里插入图片描述

突破sign算法,输出协议和加密算法的作用是什么?

分析c-sign值

在这里插入图片描述

在加密的位置下断点

在这里插入图片描述

这里密码没有加密

在这里插入图片描述
找到setTimeout函数,用来设置加密的函数

在这里插入图片描述

登录后显示的setTimeout延时函数为什么是异步的?

进入函数

在这里插入图片描述

什么是极光推送

跟进去,定位到传递手机账号的位置,再跟

在这里插入图片描述
得到c-sign

在这里插入图片描述

'J{"c_timestamp":1719152459747,
"c_account":"12",
"c_sign":"23052081735759B6B882378F705AB0F7",
"upvs":"2024-06-23-ccssoft"}'

g.e无法跳转的原因?

  1. 浏览器,或这webview提供的系统函数,无法看源码
  2. VM文件应该想到函数是java代码,是js调用的java文件(函数)

在这里插入图片描述

找到关键代码就是上述浏览器中找到的值

在这里插入图片描述

这样就可以在java代码中还原c_sign了

public ModuleResult jsmethod_encryptCcssoft_sync(UZModuleContext uZModuleContext) {
        String[] strArr;
        JSONObject jSONObject = new JSONObject();
        Long valueOf = Long.valueOf(uZModuleContext.optLong("timestamp", new Date().getTime()));
        String optString = uZModuleContext.optString("msg", "32025601");
        String optString2 = uZModuleContext.optString("upvs", new SimpleDateFormat("yyyy-MM-dd").format(new Date()) + "-ccssoft");
        int longValue = (int) (valueOf.longValue() % 2);
        String[] strArr2 = {"bx1acuimpzf3k2eluw4ffh7sklmdshhtq0cifotpap2wm8qvd1k6psuokdcfjl04mi7th4q2t7kffmod9qj3huznncbbk4p9w46z6tp7lb282om4q5me7uigi7fl0nbt", "qw6bnqbshxkec2ytag0iqdinmt94hkajkdk9f5oa5dn2nzeosqvp0jfxq2elz6sqal7pcjjvi5rm1mgtnp3ob6bl5iueqjzqienlflaiwb5otzcnvful6kmwij3fcrj4", "enp1ogzjzz15fcd1a4ekwiacxlhwgygqd6mdd5ocnjipjnjcbjpeqtm2t7c92cyhapkomeqrfkdtglwlfipgscbt6lfbxxwmq2fudipm72ld8ygln78bnidw4i9od7ch"};
        Arrays.sort(new String[]{optString, String.valueOf(valueOf), strArr2[longValue], optString2});//四个参数:optString(设备ID),时间戳,数组中三个固定值,时间格式化后的参数
        String str = "";
        for (int i = 0; i < 4; i++) {
            str = str + strArr[i];
        }
        StringBuilder sb = new StringBuilder();
        sb.append(str);
        sb.append(strArr2[longValue == 0 ? (char) 2 : (char) 1]);
        String MD5 = MD5Util.MD5(sb.toString());//第一次MD5
        StringBuilder sb2 = new StringBuilder();
        sb2.append(MD5);//第二次MD5
        sb2.append(strArr2[longValue == 0 ? (char) 2 : (char) 1]);
        String upperCase = HashUtil.hash(MD5Util.MD5(sb2.toString())).toUpperCase();//第三次MD5
        try {
            jSONObject.put("c_timestamp", valueOf);
            jSONObject.put("c_account", optString);
            jSONObject.put("c_sign", upperCase);
            jSONObject.put("upvs", optString2);
        } catch (JSONException unused) {
        }
        return new ModuleResult(jSONObject);
    }

法一、抠代码

法二、可以直接使用自吐算法(如果算法是标准算法,代码又在java中,可以直接跑自吐)

'J{"c_timestamp":1719155384875,"c_account":"12","c_sign":"3542F4335AAD34E4EE5B9401558E2B0C","upvs":"2024-06-23-ccssoft"}'

在这里插入图片描述

这样就得到三次MD5的输入值。

算法还原

未完待续

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/737522.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

爱心商城管理系统的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;管理员管理&#xff0c;企业管理&#xff0c;用户管理&#xff0c;论坛管理&#xff0c;商品管理&#xff0c;公告管理&#xff0c;用户捐赠 企业账户功能包括&#xff1a;系统首页&#xff0c;个人中…

2009年-2022年 地级市-环境污染处罚数据

环境污染处罚数据是环境保护领域中重要的信息资源&#xff0c;它记录了因违反环保法律法规而受到行政处罚或法律制裁的具体情况。这些数据对于提高公众的环保意识、促进企业采取环保措施以及推动环境治理具有重要作用。 数据内容概述 违法行为的主体&#xff1a;即受到处罚的…

【树形dp 换根法 BFS】2581. 统计可能的树根数目

本文涉及知识点 CBFS算法 动态规划汇总 图论知识汇总 树形dp 换根法 BFS LeetCode 2581. 统计可能的树根数目 Alice 有一棵 n 个节点的树&#xff0c;节点编号为 0 到 n - 1 。树用一个长度为 n - 1 的二维整数数组 edges 表示&#xff0c;其中 edges[i] [ai, bi] &#xf…

LoRaWAN在嵌入式网络通信中的应用:打造高效远程监控系统(附代码示例)

引言 随着物联网&#xff08;IoT&#xff09;技术的发展&#xff0c;远程监控系统在各个领域的应用越来越广泛。LoRaWAN&#xff08;Long Range Wide Area Network&#xff09;作为一种低功耗广域网通信协议&#xff0c;因其长距离传输、低功耗和高可靠性等特点&#xff0c;成为…

Apollo9.0 PNC源码学习之Planning模块(二)—— planning_component

前面文章: Apollo9.0 PNC源码学习之Planning模块(一)—— 规划概览 0 Planning代码框架速览 1 planning_component源码解析 modules/planning/planning_component/planning_component.h #pragma once#include <memory>#

在vue项目中集成cesium

首先创建一个新的vue项目 安装vite中cesium插件 https://github.com/nshen/vite-plugin-cesium 安装插件 npm i cesium vite-plugin-cesium vite -D配置插件 注释原有样式 修改代码 效果

04--MySQL8.0_JDBC

第一章 JDBC概述 之前我们学习了JavaSE,编写了Java程序,数据保存在变量、数组、集合等中,无法持久化,后来学习了IO流可以将数据写入文件,但不方便管理数据以及维护数据的关系; 后来我们学习了数据库管理软件MySQL,可以方便的管理数据1。 那么如何将它俩结合起来呢?即…

【面试干货】Java中的四种引用类型:强引用、软引用、弱引用和虚引用

【面试干货】Java中的四种引用类型&#xff1a;强引用、软引用、弱引用和虚引用 1、强引用&#xff08;Strong Reference&#xff09;2、软引用&#xff08;Soft Reference&#xff09;3、弱引用&#xff08;Weak Reference&#xff09;4、虚引用&#xff08;Phantom Reference…

【Docker】Docker操作容器命令

1、容器 1.1简介 容器镜像是一个软件的轻量级独立可执行软件包&#xff0c;包含运行它所需的一切&#xff1a;代码&#xff0c;运行时&#xff0c;系统工具&#xff0c;系统库&#xff0c;设置。不管环境如何&#xff0c;集装箱化软件都可以运行相同的Linux和Windows应用程序…

华为某员工爆料:偷偷跑出去面试,被面试官鄙视了。第一句话就问:华为淘汰的吧,35岁了,这个年龄在华为能混得下去吗?身体没啥毛病吧

“你都35岁了&#xff0c;难不成是被华为淘汰的&#xff1f;在华为混不下去了吧&#xff1f;身体没啥毛病吧&#xff0c;我们这体检可是很严的。” 近日&#xff0c;一位华为员工在朋友圈爆料&#xff0c;自己在面试时遭到了面试官的无理取闹和人身攻击&#xff0c;原因仅仅是因…

C语言中操作符详解(二)

OK&#xff0c;今天继续为诸君带来有关C语言中操作符的讲解 一 . 位操作符 C语言中的位操作符我相信大家并不陌生&#xff0c;我们在之前就已经接触过了一些 位操作符&#xff08;位操作符的操作数只能是整数&#xff09;&#xff1a; &#xff08;1&#xff09;& &…

头歌——机器学习——集成学习案例

第1关&#xff1a;基于集成学习模型的应用案例 任务描述 本次任务我们将会使用银行营销数据集&#xff08;来源于UCI数据集&#xff1a;UCI Machine Learning Repository &#xff09;,该数据集共45211条数据&#xff0c;涉及葡萄牙银行机构的营销活动&#xff0c;通过一些与…

idea http client GET 请求 报503错误

idea 提供的 http client 插件&#xff0c;在 GET 请求时总是 报503 的错误&#xff0c;但请求URL可以在浏览器中正常访问。 GET localhost:8080/student Response file saved. > 2024-06-20T160906.503.html 有一种原因跟本地配置的代理有关&#xff0c;如下图。如果在…

ubuntu22.04笔记: 更换为阿里源

没有按照LTS 版本 会遇到下面问题&#xff1a; 参考&#xff1a;https://zhuanlan.zhihu.com/p/691625646 Ubuntu 22.04代号为&#xff1a;jammy Ubuntu 20.04代号为&#xff1a;focal Ubuntu 19.04代号为&#xff1a;disco Ubuntu 18.04代号为&#xff1a;bionic Ubuntu …

winmail添加gmail和QQ邮箱(现已更新为outlook mail)

想在windows自带的邮件桌面应用里&#xff0c;不仅能访问outlook邮件&#xff0c;也能访问gmail邮件和QQ邮件的方法。 参考文章&#xff1a; Windows 10 的邮件怎么添加并同步 Gmail&#xff1f;​www.zhihu.com/question/53079836/answer/147669935?utm_psn178781450843941…

嘉楠勘智CanMV-K230的大小核如何操作

摘要&#xff1a;嘉楠勘智CanMV-K230的帮助文档、例子模型说明中&#xff0c;一直在提“大核&#xff0c;小核”&#xff0c;还提到将文件复制到小核并解压&#xff0c;然后在大核中操作&#xff0c;本文介绍一下这两个“核”如何操作。 所需的硬件&#xff1a;CanMV-K230-V1.1…

zkWASM:ZK+zkVM的下一站?

1. 引言 ZK技术具备极大通用性&#xff0c;也帮助以太坊从去中心化投资走向去信任化的价值观。“Don’t trust, Verify it!”&#xff0c;是ZK技术的最佳实践。ZK技术能够重构链桥、预言机、链上查询、链下计算、虚拟机等等一系列应用场景&#xff0c;而通用型的ZK协处理器就是…

论坛实现随机发帖的学习

1、badboy操作&#xff0c;录制发帖全过程&#xff0c;录制结果保存&#xff0c;生成为.jmx格式的文件 2、在Jmeter中打开该.jmx文件&#xff0c;重命名&#xff0c;便于了解步骤 3、生成结果树&#xff0c;查看所以步骤是否正确 4、实现随机发帖。。。。还没写完

Python爬虫-贝壳新房

前言 本文是该专栏的第32篇,后面会持续分享python爬虫干货知识,记得关注。 本文以某房网为例,如下图所示,采集对应城市的新房房源数据。具体实现思路和详细逻辑,笔者将在正文结合完整代码进行详细介绍。接下来,跟着笔者直接往下看正文详细内容。(附带完整代码) 正文 地…

折线统计图 初级

此为折线统计图的初级题目。 本次的题目较难&#xff0c;菜鸡请退出。 4. 下图显示了甲、乙两台电脑的价格以及它们已使用的年数&#xff0c;从图中可以知道( )。 15. 妈妈去菜市场买菜&#xff0c;走到半路遇到一位熟人聊了一会儿&#xff0c;突然发现忘了带钱。于是马上回…