精易论坛

标题: 【安卓逆向】某潮鞋(nice)app 算法还原 [打印本页]

作者: hhhql    时间: 2023-7-5 00:20
标题: 【安卓逆向】某潮鞋(nice)app 算法还原
两个版本 一个JS 一个E的还有个C的就不放了也没啥用

这个难点就在最后sha1加密时 如何构建的加密字符串

废话不多说需要自取


js代码需要自行导入crypto库


function Hash_sha1(word) {
    return CryptoJS.SHA1(word).toString(CryptoJS.enc.Hex);
}
function Hash_md5(word) {
    return CryptoJS.MD5(word).toString(CryptoJS.enc.Hex);
}

function get_random(len) {
    let r = Math.random().toString(36).substring(2);
    if (r.length < len) {
        r += get_random(len - r.length)
    }
    return r;

}

function get_did() {
    return Hash_md5(get_random(16));
}

function Build_NiceSignText(input) {
    let output = []
    let ptr = input;
    let output_index = 4;

    while (input.length >> 1 > output_index - 4) {
        const c1 = ptr.charCodeAt(0);
        const c2 = ptr.charCodeAt(1);

        const byte = ((c1 & 0xF0) | (c2 & 0xF));
        output[output_index++] = byte;

        ptr = ptr.slice(2);
    }
    return output.map(value => {
        return String.fromCharCode(value)
    }).join('')
}

function nice_sign_v3(JsonData, did, random) {

    let result = {
        data: "",
        random: random || get_random(),
        did: did || get_did()
    }

    let md5 = [];

    md5.push(Hash_md5(result.did.substring(16, 32) + result.did.substring(0, 16)));
    md5.push(Hash_md5(result.random + md5[zxsq-anti-bbcode-0] + "8a5f746c1c9c99c0b458e1ed510845e5"));
    md5[zxsq-anti-bbcode-1] = md5[zxsq-anti-bbcode-1].substring(16, 32) + md5[zxsq-anti-bbcode-1].substring(0, 16)

    let obj = JsonData === "" ? {} : typeof JsonData === "string" ? JSON.parse(JsonData) : JsonData

    let SignText = Build_NiceSignText(Object.keys(obj).sort().map(value => {
        return value + "=" + obj[zxsq-anti-bbcode-value];
    }).join('&'))

    console.log(SignText + md5[zxsq-anti-bbcode-1])

    let Sign = Hash_sha1(SignText + md5[zxsq-anti-bbcode-1])

    console.log(Sign.substring(24, 41) ,Sign.substring(8, 24))

    result.data = `nice-sign-v1://${Sign.substring(24, 41) + Sign.substring(8, 24)}:${result.random}/${JSON.stringify(obj)}`

    return JSON.stringify(result)
}

console.log(nice_sign_v3('{"country":"1","mobile":"888888888","send":"yes","check":"no"}', "",''))



nice.e (45.76 KB, 下载次数: 91)
作者: Conquer    时间: 2023-7-5 07:07
感谢分享  
作者: 一指温柔    时间: 2023-7-5 08:37
感谢分享
作者: 君九    时间: 2023-7-5 09:06
感谢分享  
作者: yangdoudou    时间: 2023-7-5 09:17
给楼主点赞或评分打赏,让楼主更有动力创作优秀内容
作者: 清风徐来2    时间: 2023-7-5 11:09
感谢分享
作者: wjswzj0    时间: 2023-7-5 14:24
感谢分享

作者: 396384183    时间: 2023-7-5 15:29

感谢分享
作者: pipicool    时间: 2023-7-5 19:30
学习一下
作者: 一指温柔    时间: 2023-7-6 08:41
感谢分享
作者: yamiedie    时间: 2023-7-6 17:40
学习一下
作者: bianyuan456    时间: 2023-7-6 21:28
已经顶贴,感谢您对论坛的支持!
作者: 973992555    时间: 2023-7-26 21:53
提示: 作者被禁止或删除 内容自动屏蔽
作者: mecakeen    时间: 2023-11-8 15:18
学习一下
作者: ww往事随风    时间: 2023-11-28 17:55
111111111111111111
作者: ljqzxw    时间: 2023-12-2 17:45
zy模块发一下




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4