ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT
GitHub: ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT
针对 Luraph 混淆的 Lua 脚本,提供端到端脱混淆与可读性恢复的轻量级解决方案。
Stars: 0 | Forks: 0
# LuraphDeobfuscator
Ferramenta de análise e desofuscação de scripts Lua protegidos pelo **Luraph Obfuscator** (v14.x).
## Como funciona
O Luraph empilha 4 camadas de proteção:
| Camada | O que faz | Como revertemos |
|---|---|---|
| 1. Codificação base85 | Payload codificado em string ASCII | `decoder.py` decodifica grupo a grupo |
| 2. Bytecode Lua | Código compilado em formato binário | `bytecode_parser.py` parseia o `.luac` |
| 3. Opcodes embaralhados | Instruções reordenadas na VM | `reconstructor.py` mapeia de volta |
| 4. Renomeação de símbolos | Variáveis viram `r0`, `r1`... | `cleaner.py` recupera nomes semânticos |
## Instalação
Requer **Python 3.10+** instalado.
```
# Clonar o repositório
git clone https://github.com/ExeDevelopment/LuraphDeobfuscator-Gemini-and-ChatGPT.git
cd LuraphDeobfuscator-Gemini-and-ChatGPT
# Rodar direto com Python (sem instalar nada)
python main.py
```
## Uso
### Modo interativo (recomendado)
```
python main.py
```
O programa pede o caminho do arquivo `.lua` ofuscado. Pode arrastar o arquivo direto no terminal.
### Linha de comando direta
```
python main.py script_ofuscado.lua
python main.py script_ofuscado.lua -o resultado.lua
python main.py script_ofuscado.lua -v # modo verbose
```
### Gerar o .exe (Windows)
```
python build.py
```
O `.exe` será gerado em `dist/LuraphDeobfuscator.exe`. Basta arrastar o `.lua` ofuscado para cima do `.exe` ou abrir e digitar o caminho.
## Estrutura do projeto
```
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
```
## Limitações conhecidas
- **VM customizada**: o Luraph pode usar uma VM própria com opcodes completamente remapeados. Nesse caso o bytecode extraído é válido mas as instruções não correspondem diretamente ao padrão Lua 5.1. O parser tenta os mapeamentos mais comuns.
- **Lua 5.2+**: suporte parcial. O formato de header é diferente.
- **Sem descompilador completo**: a reconstrução gera código de nível de bytecode (registradores, gotos) — não é um decompilador de alto nível. Para reconstrução completa com `if/while/for`, combine com `unluac` ou `luadec` no bytecode extraído.
- **Strings criptografadas**: algumas versões do Luraph criptografam constantes strings adicionalmente. Nesse caso as strings aparecerão codificadas no output.
## Fluxo completo
```
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
```
## Dependências
Nenhuma dependência externa para rodar. Só Python 3.10+ padrão.
Para gerar o `.exe`: `pip install pyinstaller` (feito automaticamente pelo `build.py`).
标签:Base85解码, GUI工具, Lua脚本, Lua虚拟机, Obfuscator, PE构建, 二进制发布, 云安全监控, 云资产清单, 代码混淆, 分析工具, 反混淆, 可执行文件生成, 字节码解析, 开源工具, 符号恢复, 脱壳, 逆向工具, 逆向工程, 防篡改, 静态分析