
一、词法 /
文本层面的混淆(最表层的那一层)
1. 标识符改名(Identifier
Renaming)
把有语义的名字改成无意义的短名或乱码:
download_and_exfiltrate_credentials() →
a()
userToken → _0x13f4
特点:
对语义完全无影响,但严重影响可读性;
编译型/解释型语言里都常见,恶意 & 良性(压缩、保护
IP)都会用。
在 npm / PyPI 中:
一些恶意包会配合其它技术,把核心逻辑集中到一个“index.min.js
/ core.cpython-xyz.so + 乱名变量”的文件里。
2. 去掉格式 /
压缩(Minification)
删除所有换行、缩进、多余空格、注释:
正常源码 → 一行 JS / Python / Lua “长蛇阵”。
典型场景:
Web 前端打包工具(Webpack、UglifyJS 等);
恶意脚本、恶意 npm 包也利用这个手段“顺便”隐藏逻辑。
检测挑战:
单纯“变成 ...
