猿人学第五题下---过程分析

网页链接: http://match.yuanrenxue.com/match/5
1 首先分析url,可以看到m参数像一个时间戳,我们把它进行时间戳转换,我们可以发现转换后的时间跟当前时间一致,至于后面的f参数多次分析后发现它跟m的关系是:f是m参数减去1000后把后面三位数置为0
在这里插入图片描述
2 url分析完后我们接着分析cookie.cookie有两个参数m跟RM4hZBv0dDon443M,用常规思维去搜搜发现根本搜不到.
在这里插入图片描述
3 既然搜不到,那我们就hook下.如图一通过hook我们发现函数 = ‘R’ + ‘M’ + ‘4’ + ‘h’ + ‘Z’ + ‘B’ + ‘v’ + ‘0’ + ‘d’ + ‘D’ + ‘o’ + ‘n’ + ‘4’ + ‘4’ + ‘3’ + ‘M=’ + _0x4e96b4[’_ss’] + ‘;\x20path=/’;分下这个函数我们知道RM4hZBv0dDon443M是由_0x4e96b4['ss’]生成,那么我们接着hook 下$ss(直接搜搜不到)


```javascript
// 关闭频繁日志打印
(function(){
    console._log = console.log
    var _log = function(arg){

    }
    Object.defineProperty(console, 'log', {value: _log})
})();
// hook关键参数RM4hZBv0dDon443M
(function(){
    'use strict';
    Object.defineProperty(document, 'cookie', {
        set: function(cookie) {
            if (cookie.indexOf('RM4hZBv0dDon443M') != -1){
                debugger;
                }
            return cookie;
        },
    });
})();

在这里插入图片描述
图一

4 hook到如图二所示的位置

// hook下_$ss
(function(){
    'use strict';
    Object.defineProperty(window, '_$ss', {
        set: function(val) {
            debugger;
            console.warn('hook_key', val)
            return val;
        },
    });
})();

在这里插入图片描述
图二
5 我们将混淆代码替换后结果如下,分析这段代码我们可以看出要得到_0x4e96b4[“KaTeX parse error: Expected group after '_' at position 21: …须先解决_0x4e96b4['_̲pr’]跟_0x4e96b4["$qF”]

_$Ww = _$Tk["enc"]["Utf8"]["parse"](_0x4e96b4['_$pr']["toString"]()),
_0x29dd83 = _$Tk["AES"]["encrypt"](_$Ww, _0x4e96b4["_$qF"], {
    'mode': _$Tk["mode"]["ECB"],
    'padding': _$Tk["pad"]["Pkcs7"]
}),
_0x4e96b4["_$ss"] = _0x29dd83["toString"]();

6 先来分析_pr,一共有7处,我们都打上断点.通过断点调试我们可以发现_0x4e96b4[’_$pr’]是一个数组,每次向数组中添加由函数_0x474032生成的结果,参数为时间戳
在这里插入图片描述
7 接下来我们只要分析出_0x474032生成流程即可,整过过程就是一步步断点就不用继续分析了
在这里插入图片描述

// 分析加密前后
(function(){
    var new_g = _0x474032;
    _0x474032 = function(e){
        var retval = new_g();
        console.log("加密前的时间戳为", e, "加密后的时间戳为", retval)
        return retval;
    }
})();

视频分析可参考B站上大佬的分析,链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值