ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT
GitHub: ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT
针对 Luraph 混淆的 Lua 脚本,提供端到端脱混淆与可读性恢复的轻量级解决方案。
Stars: 0 | Forks: 0
# LuraphDeobfuscator
用于分析和反混淆受 **Luraph Obfuscator** (v14.x) 保护的 Lua 脚本的工具。
## 工作原理
Luraph 叠加了 4 层保护:
| 层级 | 功能说明 | 还原方式 |
|---|---|---|
| 1. base85 编码 | 字符串 ASCII 编码的 Payload | `decoder.py` 逐组解码 |
| 2. Lua Bytecode | 编译为二进制格式的代码 | `bytecode_parser.py` 解析 `.luac` |
| 3. 乱序 Opcodes | 在 VM 中重新排序的指令 | `reconstructor.py` 进行逆向映射 |
| 4. 符号重命名 | 变量变为 `r0`, `r1`... | `cleaner.py` 恢复语义名称 |
## 安装
需要安装 **Python 3.10+**。
```
# 克隆仓库
git clone https://github.com/ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT.git
cd LuraphDeobfuscator-Gemini-and-ChatGPT
# 直接使用 Python 运行(无需安装任何内容)
python main.py
```
## 使用说明
### 交互模式(推荐)
```
python main.py
```
程序会提示输入混淆后的 `.lua` 文件路径。可以直接将文件拖拽到终端中。
### 直接命令行
```
python main.py script_ofuscado.lua
python main.py script_ofuscado.lua -o resultado.lua
python main.py script_ofuscado.lua -v # modo verbose
```
### 生成 .exe (Windows)
```
python build.py
```
`.exe` 文件将生成在 `dist/LuraphDeobfuscator.exe` 中。只需将混淆后的 `.lua` 文件拖放到 `.exe` 上,或者打开它并输入路径即可。
## 项目结构
```
LuraphDeobfuscator-Gemini-and-ChatGPT/
├── main.py # CLI principal / interface interativa
├── decoder.py # Extração e decodificação base85 do payload
├── bytecode_parser.py # Parser de bytecode Lua 5.1
├── reconstructor.py # Reconstrução de código Lua a partir do bytecode
├── cleaner.py # Limpeza, renomeação de variáveis, remoção de junk
├── build.py # Script para gerar o .exe com PyInstaller
└── README.md
```
## 已知局限
- **自定义 VM**:Luraph 可能使用具有完全重映射 opcodes 的自定义 VM。在这种情况下,提取出的 bytecode 是有效的,但指令并不直接对应于 Lua 5.1 标准。解析器会尝试最常见的映射方式。
- **Lua 5.2+**:部分支持。Header 格式有所不同。
- **无完整反编译器**:重建生成的是 bytecode 级别的代码(寄存器、gotos)——这并不是高级反编译器。若要进行带有 `if/while/for` 的完整重建,请在提取出的 bytecode 上结合使用 `unluac` 或 `luadec`。
- **加密字符串**:某些版本的 Luraph 会额外加密字符串常量。在这种情况下,字符串在输出中将显示为编码状态。
## 完整流程
```
arquivo.lua (ofuscado)
│
▼
decoder.py → extrai payload base85 → decodifica → bytecode.luac
│
▼
bytecode_parser.py → parseia header, instruções, constantes, funções
│
▼
reconstructor.py → converte instruções em código Lua linha por linha
│
▼
cleaner.py → renomeia variáveis, remove junk, formata
│
▼
script_deobfuscated.lua
```
## 依赖项
运行无需任何外部依赖。仅需标准的 Python 3.10+。
要生成 `.exe`:`pip install pyinstaller`(通过 `build.py` 自动完成)。
标签:DNS 反向解析, Lua, Python, 云资产清单, 代码去混淆, 安全分析, 无后门, 逆向工程