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, 云资产清单, 代码去混淆, 安全分析, 无后门, 逆向工程