nodejs javascript Proxy hook 钩子函数使用

文章目录[隐藏]

前言

js 逆向中,经常会遇到环境问题,这时使用 Proxy 可以 hook 出一个对象使用了那些对象

js

var window = {};

window = new Proxy(window, {
    get: function (target, key, receiver) {
        console.log('window.get.key: ', key);

        if (target[key] instanceof Object) {
            return new Proxy(target[key], {
                get: function (a, b, c) {
                    console.log('window.get.instance.key: ', key, b);
                    return a[b];
                },
                set: function (a, b, c, d) {
                    console.log('window.set.instance.key: ', a, b, c);
                    a[b] = c;
                }
            })
        }

        return target[key];
    },
    set: function (target, key, value, receiver) {
        console.log('window.set.key: ', target, key, value);
        target[key] = value;
    }
});

window.a = {}
window.a.a = 1

console.log('window.a: ', window.a)
console.log('window.a.a: ', window.a.a)

运行结果,我们 set get 的结果全部出来了

暂无评论
本文作者:
本文链接: https://www.qinless.com/?p=454
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 qinless 的博客!
100

发表评论

返回顶部