JavaScript 在对象中查找指定值并返回引用路径

该函数用于在对象中查找指定的数值, 返回包含该值的引用路径的数组.

参数allowCircleStruct用于设定是否递归环状结构, 通常设为false即可, 若设为true在一些情况下可能造成堆栈溢出.

参数allowEnumProto用于设定是否允许枚举Prototype中的可枚举属性, 设为true时将使用for-in循环, 设为false将使用Object.keys返回的数组循环.

参数depth用于设定递归深度.

据说ES6支持尾递归, 不过看了下好像也改造不成尾递归, 就没有继续做进一步优化.

继续阅读

JavaScript 反混淆的一般套路和技巧: 结

本来《JavaScript 反混淆的一般套路和技巧》是打算作为一篇单独的长文来写的, 后来硬生生被我拆成了《起》、《承》、《转》、《结》四章, 在《转》里面整个反混淆的事情其实已经被我们解决了, 结果就是这作为最后一篇的《结》, 变成了多余的一章. 这章该写些什么让我想了很久, 最后决定还是想到什么写什么.

继续阅读

JavaScript 反混淆的一般套路和技巧: 转

把没用的多余的简写的代码处理完后, 代码就差不多有个基本的样子了, 不过现在还没到休息的时候. 由于函数错综复杂、变量名表达不出语义等原因, 我们的代码虽然可读性较之前已经得到了提高, 但想要完整理解代码的意图, 在当前的情况下仍然是一件麻烦的事.

继续阅读

JavaScript 反混淆的一般套路和技巧: 起

最近发现网上没有什么专门深入去讲解JavaScript反混淆的文章, 能找到的, 基本都是针对于某一种加密方式的简单解密方法, 虽然能够解决一时的问题, 但从学习和研究的角度去看, 并没有太多价值. 加之近日从他人手中接手了一个算是有些棘手的反混淆单子, 感觉有所收获, 遂将自己在反混淆方面的一些理解和方案, 做一下记录, 于是便有了此文.

继续阅读

为什么最近有很多名人,比如比尔盖茨,马斯克、霍金等,让人们警惕人工智能?

本文转自《为什么最近有很多名人,比如比尔盖茨,马斯克、霍金等,让人们警惕人工智能? – 谢熊猫出没注意 – 知乎专栏》(http://zhuanlan.zhihu.com/xiepanda/19950456), 除此句之外的文章内容皆为转载, 个人认为文章含金量十足, 值得一读, 故转载之, 以便收藏.

人工智能很可能导致人类的永生或者灭绝,而这一切很可能在我们的有生之年发生。

上面这句话不是危言耸听,请耐心的看完本文再发表意见。这篇翻译稿翻译完一共三万五千字,我从上星期开始翻,熬了好几个夜才翻完,因为我觉得这篇东西非常有价值。希望你们能够耐心读完,读完后也许你的世界观都会被改变。

继续阅读

三种简单粗暴的社工攻击手段: Self-XSS、CSRF、恶意服务器

时至今日, 由软件程序构成的大多数威胁已经被我们的防火墙和杀毒软件解决了, 可我们仍然无法享受到真正的安全. 虽然程序的漏洞是可以被修复的, 但人性的漏洞却是难以被填补的, 世界发展的很快, 人类已经很难离开互联网生活, 几乎每个网民都有被暴露在互联网上的个人信息, 然而正是这些看似无用的信息, 使得在社会工程学对于网民的威胁与日俱增.

继续阅读