安卓逆向经典案例——XX优品(uniapp)

uni-app逆向

uniapp的目录结构

有一个io文件夹,下面有dcloud

uniapp

复制代码
UniApp 可以用于开发 H5 应用,但它不仅仅局限于 H5 应用。

UniApp 的特点包括:
1. 跨平台:可以一套代码同时生成适用于多个平台(如 iOS、Android、H5、小程序等)的应用。
2. 开发效率高:使用 Vue.js 语法,开发者上手相对容易,减少了重复开发工作。
3. 丰富的组件和插件:提供了大量的原生组件和第三方插件,满足各种功能需求。
4. 性能优化:对不同平台进行了一定的性能优化,提高应用的运行效率。
5. 社区活跃:拥有活跃的社区和丰富的文档资源,方便开发者交流和解决问题。
6. 降低成本:减少了为不同平台单独开发应用的成本和时间。

hook开启可调式权限

使用Chrome.inspect

可以发现页面结构是纯Java发包,无JS。

MD5 js

复制代码
var s = function (e) {
    // 检查输入的 'e' 是否为对象类型
    if ("object" == typeof e) {
        // 为 'e' 对象设置 'app_id' 和 'app_key' 属性,其值来自 'r.default'
        e.app_id = r.default.app_id;
        e.app_key = r.default.app_key;

        // 创建一个空数组 't'
        var t = [];

        // 遍历 'e' 对象的所有属性
        for (var a in e) {
            // 将属性名、属性值组合成字符串,并添加 '&' 符号后放入 't' 数组
            t.push(a + "=" + e[a] + "&");
        }

        // 对 't' 数组进行排序,并将元素连接成一个字符串
        var i = t.sort().join("");

        // 去掉字符串末尾的 '&' 字符
        i = i.substring(0, i.length - 1);

        // 从 'e' 对象中删除 'app_id' 和 'app_key' 属性
        delete e.app_id;
        delete e.app_key;

        // 调用一个名为 'n.default' 的函数,并将处理后的字符串转换为小写后返回
        return (0, n.default)(i).toLowerCase();
    }
    // 如果输入的 'e' 不是对象类型,返回 'false'
    return!1
};

加入appLog,输出每次获取的sign值

相关推荐
-SOLO-3 小时前
Android Event 日志完全指南
android
壮哥_icon4 小时前
【Android 系统开发】从掉帧卡顿到丝滑:高频硬件中断(IRQ)的 CPU 亲和性性能优化实战
android·性能优化
千里马学框架4 小时前
Android Framework 新手学习踩坑建议指南
android·智能手机·性能优化·framework·aaos·车载开发·系统工程师
我命由我123456 小时前
执行 Gradle 指令报错,无法将“grep”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
android·java·java-ee·android studio·android jetpack·android-studio·android runtime
狂奔solar7 小时前
ARMA 模型:从白噪声到万能逼近器
android
渣渣灰飞7 小时前
MySQL 系统学习 第五阶段:企业级 MySQL 实战开发 第二章:RBAC 权限系统设计
android·学习·mysql
qq_422828627 小时前
android 图形学之图层数据送显及合成图层(七)
android
MiyamuraMiyako9 小时前
Compose:从自动滚动到双锚点 LazyLayout
android·android jetpack
用户634214199350711 小时前
base_logger_core --- 跨平台 C++ 日志核心库
android
苦瓜花11 小时前
【Kotlin】初入门
android·开发语言·kotlin