cli*_*ait -16 javascript stack-overflow obfuscation jquery settimeout
我不能使用Obfuscator.io来uglify我的JS脚本,因为它包含一个setTimeout调用自身的函数.
MCVE:
function repeater() {
// DO SOME STUFF...
setTimeout(repeater, 100);
}
repeater();
Run Code Online (Sandbox Code Playgroud)
重现所需的自定义模糊处理设置:
- 标识符名称生成器:Mangled
- 保留名称:$- jQuery
Obfuscator.io的错误消息:
错误:类t中的@postConstruct错误:类t中的@postConstruct错误:超出了最大调用堆栈大小
我已经阅读了其他一些Stack Overflow问题.据我所知,调用setTimeout(func)里面func是不实际的递归.
但是,Obfuscator.io的算法仍然无法处理自我调用的setTimeout延迟.
如何在setTimeout不在函数本身中调用它的情况下使用重复执行的函数?我不想使用,setInterval因为我想在函数代码运行后每次都开始延迟. setInterval忽略了这一点.
我认为你的问题实际上是在使用中
使用它作为配置导致此
您正在获得的是什么,如果您将其更改^$为网站上的文本框和说明应该是什么,您的代码会混淆不错
保留名称
禁用模糊处理和生成标识符,这些标识符与传递的RegExp模式匹配.
例如,如果添加
^someName,混淆器将确保以someName开头的所有变量,函数名和函数参数都不会被破坏.