逆向 x蜂窝 zzzghostsigh

逆向 x蜂窝 zzzghostsigh

版本 9.3.7

新版本是64位的so

charles 抓包

目标字段 zzzghostsigh

在这里插入图片描述

frida java

function hook_xPreAuthencode() {
    Java.perform(function() {
        var helper = Java.use("com.mfw.tnative.AuthorizeHelper");
        helper.xPreAuthencode.implementation = function(ctx, str1, str2) {
            console.log("xPreAuth-str1", str1);
            console.log("xPreAuth-str2", str2);
            var ret = this.xPreAuthencode(ctx, str1, str2);
            console.log("xPreAuth-ret", ret);
            console.log("===========");
            return ret;
        }
    })
}

function hook_xPreAuthencode_event() {
    Java.perform(function() {
        var helper = Java.use("com.mfw.tnative.AuthorizeHelper");
        helper.xPreAuthencode.implementation = function(ctx, str1, str2) {
            str1 = "ever"
            console.log("xPreAuth-str1", str1);
            console.log("xPreAuth-str2", str2);
            var ret = this.xPreAuthencode(ctx, str1, str2);
            console.log("xPreAuth-ret", ret);
            console.log("===========");
            return ret;
        }
    })
}

setTimeout(() => {
    //hook_xPreAuthencode();
    hook_xPreAuthencode_event();
}, 1000);

模拟参数 ever

xPreAuth-str1 ever
xPreAuth-str2 com.mfw.roadbook
xPreAuth-ret a5f8420454b5a08684c3605f83fe4453ea05efd7

从加密结果可知 无论我们输入的长度多长 都输出固定长度密文,那可以猜测这可能是一个哈希加密

so 层 libmfw.so

搜索java 没有 xPreAuthencode
那就是动态注册:搜索load
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

sub_30548

sub_30548。是一个签名校验函数。因为点进去会看到签名校验的三兄弟。
在这里插入图片描述

sub_312E0

将入参修改一下,然后[v9是和inputtext],输入的值有关。[v13是一个buffer]。[v10是v9的长度]。那么由此可得这个sub_312E0,
应该就是加密的函数,因为sub_2E1F4,没有和输入值有关的。并且v13是一个buffer,这是C语言常用的一种格式。会将加密值放到
一个buffer中。

扫描二维码关注公众号,回复: 14987078 查看本文章

在这里插入图片描述

发现可疑的数字,疑似sha1加密,因为sha1的magic number就是5个,在数字上按H将其转换为16进制表示

修改

获取sha1 py源码
SHA1 py 源码
SHA1 java 源码

我们期望的正确值 ever:a5f84204 54b5a086 84c3605f 83fe4453 ea05efd7

运行源码返回值:55472e5395290a0b2ecaa2898fe883d58747cb7d

修改1:修改初始向量,后面的两位是修改过的(v30[3] v30[4])
在这里插入图片描述

修改源码后的返回值:d6b63f45cc70fee14aaad95181f8eb4385a7b59d

修改2:修改轮询

修改源码后的返回值 a5f84204 54b5a086 be6f01d5 4a52a2dd ea05efd7
在这里插入图片描述

修改3:最后一次轮询
在这里插入图片描述

修改源码后的返回值 a5f84204 54b5a086 84c3605f 83fe4453 ea05efd7

参考

安卓逆向-马蜂窝zzzghostsigh算法还原–魔改的SHA-1
mfw sigh signature 请求协议分析

猜你喜欢

转载自blog.csdn.net/l331258747/article/details/129255367