如何最大限度地利用黑客使javascript代码可读的时间
How to maximise the time, in which javascript code would be made readable by a hacker?
我正在寻找创造性的方法来混淆我的JS代码,因此用户无法在不到1小时的时间内"美化"它。
具体来说,我有一个数组,我需要对理解 JS 的用户隐藏其值至少一个小时。例如,在这一点上,我将使用ascii代码和凯撒密码。任何更多创意将不胜感激。
您可以使用哈希算法,并且仅存储正确答案的哈希结果。要将输入的答案与正确答案进行比较,请对输入的答案进行哈希处理并比较哈希代码。虽然不是完全安全,但需要一些时间才能破解。
这当然需要有很多可能的答案。对于像"N.N.是哪一年出生的?"这样的问题,你可以轻松地在不到一秒钟的时间内强行破解每一个可能的答案。
您还可以添加数组内容中未使用的一系列噪声模式,并使用各种正则表达式消除它们。 但是你到底为什么要这样做呢? 请告诉我,这不适用于生产环境。 默默无闻不是安全。
我建议广泛使用逗号运算符,混淆短路、循环、前缀和后缀递增,这不符合它看起来应该做的样子,并真正利用从左到右计算赋值运算符的方式。例如:
j=(a=[],i=0);while(i-10)a[i++]=++j+i;
会给 2、4、6、8、10、12、14、16、18、20。它可能看起来并不那么令人困惑,但根据代码的大小,确实很棒。
我知道的最好的方法是在高级模式(不是简单模式)中使用闭包编译器。
由闭包编译器在高级模式下处理的JavaScript程序几乎不可能进行逆向工程,即使在通过美化器之后也是如此。
缺点是使用高级模式时有很多限制。 对于那些可以使用它的人来说,这绝对是值得的。
我个人使用 Dojo 工具包,并在高级模式下通过闭包编译器优化我的移动程序。 由于死代码删除、内联、虚拟化、命名空间扁平化等,它使生成的文件比简单的缩小(可以被美化器击败)小约 25%。 由于有力的优化,性能也得到了增强。 我定期将生成的文件通过许多美化器,以确保它们不容易被逆向工程。
- 云代码(javascript)失败,原因是:{代码:1,消息:内部错误
- 简化此If语句,使其不会't重复代码-Javascript
- 十进制到二进制代码Javascript
- 第二次单击时执行不同的代码(JavaScript)
- 在不使用jquery($symbol)knockout.js的情况下分离代码javascript
- 缩短几个元素的onclick代码 - JavaScript
- 英国银行排序代码 JavaScript 正则表达式
- 我无法在谷歌图表的代码 javascript 中获取 json 数据(项目 Python Hello Dashboard
- 和代码 JavaScript 没有被 &.
- 我怎样才能减少这段代码 javascript 代码,这样它就不会那么重复了
- 我想单击一个按钮,一次只执行已经制作的程序中的一行代码.(JavaScript)
- 滑动 DIV 代码 Javascript 的小问题
- 尝试重写代码 JavaScript
- 是否可以检测到在不使用键代码 javascript 的情况下按下了输入键
- 输入网址代码 JavaScript 播放器
- 管理通用客户端代码(javascript/css)
- 理解代码javascript
- 加载json-url参数代码(javascript修改)
- 变量检查错误的代码(javascript)
- css属性仅由代码javascript应用