nohuto/b64rev

GitHub: nohuto/b64rev

b64rev 是一款 PowerShell 脚本混淆工具,通过 Base64 编码反转、字符混淆和随机变量名生成来提高脚本代码的可读难度。

Stars: 1 | Forks: 0

# Base64 反转与字符混淆 使用 B64 编码,将其反转(参见 [reversal-example.md](https://github.com/nohuto/b64rev/blob/main/reversal-example.md))并构建解码部分。随后对所有反转后的 B64 命令进行字符混淆。它会自动检测每个编码字符串正确的行数。变量名及其他所有内容要么使用预设的混淆方案,要么通过随机大写字母生成。`Input File` 是必填项,如果未设置 `Output File` 路径,它将使用当前文件名并添加 `NV-` 前缀。 预览: https://github.com/user-attachments/assets/2b876ac2-29f6-4321-a372-91f595ae02ae 1. 将字符串编码为 B64,例如 `Tm92ZXJzZQ==` 2. 将其反转为 `==QZzJXZ29mT` 3. 为其构建解码命令(包含反转部分): ``` [system.text.encoding]::utf8.getstring([system.convert]::frombase64string(-join(...) ``` 4. 对包含该编码字符串的所有行进行字符混淆 该字符串的具体形式取决于该行是否为代码块的起始行: ``` $bracket = if ($line -match '\{') { '{' } else { '(' } $closing = if ($bracket -eq '{') { '}' } else { ')' } ``` 它会跟踪嵌套的括号,并将整个块作为字符串处理;否则,每一行都将被单独编码。 ## GUI 按钮 | 按钮 | 描述 | | --- | --- | | `Detailed Logging` | 显示块的起始/结束或行。 | | `Add Dead Branches`| 添加无意义的 `if` 块,且每个 `FromBase64String` 方法都会拥有自己独立的块。 | | `One Invoke` | 启动速度最快且安全性最低(通过单次 `ToBase64String` 操作一次性解码所有内容) |
标签:AI合规, Base64, DNS 反向解析, IPv6, Libemu, PowerShell, 代码混淆, 多人体追踪, 编码转换