关于javascript:猿人学十六题

第一步先抓包,发现m加密参数

第二步跟栈,找加密地位

发现是改写了btoa

将这个加密办法扣下来

接下来就是在本地运行补环境,缺什么补什么就好,这里就不一一细说了


留神点:当环境补完后,发现加密参数并不能获取到后果

在js中搜寻try

发现这里有个判断,在浏览器关上 控制台输出后发现n.g是个window对象

本地打印为undefined

检测了n.g是不是winodw环境,这个js指纹比较简单,间接把n.g换成window就行

或者间接给n.g增加环境

    function nn(r) {
        if (t[r])
            return t[r].exports;
        var i = t[r] = {
            exports: {}
        };
        return e[r].call(i.exports, i, i.exports, n),
            i.exports
    }

    n.g = function () {
        if ("object" == typeof globalThis)
            return globalThis;
        try {
            return this || new Function("return this")()
        } catch (e) {
            if ("object" == typeof window)
                return window
        }
    }();

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理