如何从创建的函数获取创建函数的函数的参数

问题描述

这个问题很难描述,所以我会尽力的。

我需要反转使用代码流混淆,数据转换和其他方法的混淆JavaScript。 在此代码中,程序将保存一些函数以在流程中使用它们。 这些函数是通过调用特定函数创建的,我需要使用创建的函数来获取该特定函数的参数(这些参数对于预测堆栈流很重要)

这里是一个例子:

function createFunction(arg){
    return function(){
        'use strict';
        // Do some things with arg
        return true;
    }
}
var func = createFunction(5);
// Need to get the argument 5 of createFunction from func var
var bool = func();

注意:返回的函数处于严格模式

我不知道是否有可能,我尝试了很多事情,检查了每个原型或属性等。

谢谢。


编辑:

如果不编辑任何代码,这是不可能的,JavaScript中的闭包和词法作用域确实非常严格,就我而言,我只是在函数声明后创建了一个断点,然后我自己通过向返回的函数添加原型来覆盖了函数本身参数。

function createFunction(arg){
    var fn = function(){
        'use strict';
        // Do some things with arg
        return true;
    }
    fn.prototype.arg = [arg];
    return fn;
}
var func = createFunction(5);
var arg = func.prototype.arg; // 5 is here now
var bool = func();

这是一个很好的解释:JS: Nested functions gain a copy of the outer function's parameters?

还有一些文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...