zoukankan      html  css  js  c++  java
  • 伪造toString

    (() => {
        const $toString = Function.toString;
        const myFunction_toString_symbol = Symbol('('.concat('', ')_', (Math.random() + '').toString(36)));
        const myToString = function () {
            return typeof this == 'function' && this[myFunction_toString_symbol] || $toString.call(this);
        };
    
    
        function set_native(func, key, value) {
            Object.defineProperty(func, key, {
                "enumerable": false,
                "configurable": true,
                "writable": true,
                "value": value
            })
        }
    
        delete Function.prototype['toString'];
    
        set_native(Function.prototype,"toString",myToString);
    
        set_native(Function.prototype.toString,myFunction_toString_symbol,"function toString() { [native code] }");
    
        safeFunction = (func) => {
            set_native(func,myFunction_toString_symbol,`function ${func.name || ''}() { [native code] }`);
        };
    }).call();
    
    //-------------------------------------
    window = function (){};
    safeFunction(window);
    console.log(window.toString());
  • 相关阅读:
    053389
    053388
    053387
    053386
    053385
    Docker简单部署Ceph测试集群
    docker部署Ceph分布式存储集群
    PIC单片机开发环境MPLAB X IDE
    MPLAB X安装,PIC单片机开发环境的搭建记录。
    MPLAB X IDE开发环境
  • 原文地址:https://www.cnblogs.com/angdh/p/14977896.html
Copyright © 2011-2022 走看看