前端代码保护

介绍

可信前端之路:代码保护:介绍了前端代码保护的意义以及手段。浏览器特性导致前端单纯的加密和解密强度并不高,容易被拦截。基于混淆的代码保护强度更高,但也只是增加破解的难度。

代码混淆

使用 Esprima 进行代码混淆:生成 AST,设计自定义规则从而实现代码混淆 & Esprima 在线版。
JointJS。

虚拟机保护器:不是单纯在浏览器运行混淆后的代码,而是将源代码混淆后,用解释器对 bytecode 进行解释执行。每一个保护器的编译工具和解释器都是根据随机生成的编码重新生成。是目前在应用的性能开销最大,也是强度最高的一类代码混淆器。

LLVM 编译器防护
小型虚拟机保护并逆向分析

调试保护

防开发者调试:一个判断浏览器是否开启控制台的完美解决方案,开启则阻塞JS执行。

综合工具与逆向

Obfuscator:通过一系列基础的混淆将源代码转换为不可读内容,支持反美化、反调试、域名保护等。
前端工程师如何反击爬虫 & 自定义字体混淆信息的自动化破解:前者是反击爬虫的综述,后者是使用 OCR 进行的相应破解。
JSNice、JSBeautifier。仅对基础的混淆起作用。支持转换变量名,去掉无用代码注入等。对于虚拟机保护器和调试保护无用。
对 Google ReCaptcha 进行的逆向尝试:Botguard 有两部分,一部分是 UA 采集模块,另一部分是虚拟机解释执行保护。
VMProtect & VMAttack:前者是 Windows 系统上的代码保护工具,后者是针对 VMProtect 的伪源码还原,动静态分析。

参考:

阿里妈妈前端快爆:https://juejin.im/post/6844903789900595207

你可能感兴趣的:(1,技术文章)