如何解决如何从创建的函数获取创建函数的函数的参数
这个问题很难描述,所以我会尽力的。
我需要反转使用代码流混淆,数据转换和其他方法的混淆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 举报,一经查实,本站将立刻删除。