Nodejs补环境相关

滲透逆向 · 7 天前 · 6 人浏览

补环境主要是补DOM和BOM,一些nodejs没有的属性啊之类。关于 Proxy 对象用来补环境是很方便的,例如监听了window对象,那么运行一些混淆的代码,就能判断该方法做了什么改变。当混淆的js想要获取window的某个属性,就可以通过拦截然后输出到控制台,然后我们可以补下来。

        const proxy = new Proxy(obj, {
            get(target, prop) {
                console.log("方法:Get ||","对象", name, '属性', prop, '值:', target[prop]);
                return target[prop];
            },
            set(target, prop, value) {
                console.log("方法:Set ||","对象", name, '属性', prop, '修改值:', value);
                target[prop] = value;
                return true;
            }
        });

2025-05-30T18:23:22.png

完整JS代码:

function InterceptorArray(ObjArray) { // 接收变量名的字符串数组
    for (const name of ObjArray) {
        const obj = eval(name); // 获取原对象
        const proxy = new Proxy(obj, {
            get(target, prop) {
                console.log("方法:Get ||","对象", name, '属性', prop, '值:', target[prop]);
                return target[prop];
            },
            set(target, prop, value) {
                console.log("方法:Set ||","对象", name, '属性', prop, '修改值:', value);
                target[prop] = value;
                return true;
            }
        });
        eval(`${name} = proxy`); // 替换原变量
    }
}

InterceptorArray(['a', 'c']); // 传入变量名的字符串数组
本站立足于美利堅合衆國,請讀者自覺遵守當地法律!如有違規,本站不承擔任何法律責任! This site is based in the United States of America, readers are requested to abide by local laws! If there are any violations, this site does not bear any legal responsibility! Theme Jasmine by Kent Liao