IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:代码混淆

共 2 篇相关文章

IT 累计浏览 2,585

一种在图片里隐藏你的程序代码的技术

这篇讲的是,一位开发者在完成自己的第一个HTML5视频智力游戏后,冒出一个有趣念头:能不能把网页源代码藏起来?他起初尝试了禁止右键菜单这种常见做法,但很快发现这形同虚设——用户总能通过快捷键或浏览器菜单看到代码。 作者由此想到,或许可以把代码“编码”进一张图片里。这听起来像是一种信息隐写术在Web场景下的应用。文章的核心就围绕这个想法展开:探索如何将JavaScript或HTML代码片段转换并嵌入图片数据中,使得页面功能依然能正常运行,但肉眼查看源代码时却看不到这些逻辑。 这个技术点的巧妙之处在于,它为简单的前端代码保护提供了一种轻量且充满趣味的实现思路。虽然并非企业级的安全方案,但对于希望给个人项目增加一点“隐蔽性”或技术彩蛋的开发者来说,确实提供了一个值得关注的实现角度。

IT 累计浏览 3,461

JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )

这篇讲的是 JavaScript 中一段看似“乱码”的神秘表达式背后的工作原理。标题 `JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] + ({} + $)[_/_] )` 实际上是一段合法的、可执行的代码,它利用了 JavaScript 独特的类型转换规则,最终生成了字符串 “JavaScript”。 作者从这个让人费解的表达式入手,逐步拆解了其中利用的核心语言特性:首先是如何通过一元运算符 `!` 和加法 `+` 将 `undefined`(`!$`)和 `NaN`(`$` 未定义时)隐式转换为字符串,再通过索引 `+$`(结果为 0)和算术运算 `_/_`(这里 `_` 代表 `/` 字符本身)巧妙地从字符串 “undefined” 和 “NaN” 中提取出特定的字母。整个过程就像一场精巧的类型戏法。 文章最巧妙的地方在于,它没有停留在炫技层面,而是揭示了这种写法背后“不按套路出牌”的逻辑。它深入浅出地展示了 JavaScript 在类型强制转换和对象属性访问时的“宽容”甚至有些“任性”的行为,这对于理解语言设计中的一些边界案例和潜在陷阱非常有帮助。读完这篇,你不仅看懂了这段代码,更能对 JavaScript 弱类型系统的复杂性和灵活性有更深一层的认识。