ergrelet/unlicense
GitHub: ergrelet/unlicense
一款针对 Themida/WinLicense 2.x 和 3.x 保护壳的动态脱壳工具,能够自动恢复原始入口点和被混淆的导入表。
Stars: 1367 | Forks: 243
# Unlicense
[](https://github.com/ergrelet/unlicense/releases) [](https://www.python.org/downloads/) 
一个 Python 3 工具,用于动态解包受
Themida/WinLicense 2.x 和 3.x # Unlicense
[](https://github.com/ergrelet/unlicense/releases) [](https://www.python.org/downloads/) 
一款用于动态脱壳受 Themida/WinLicense 2.x 和 3.x 保护的
可执行文件的 Python 3 工具。
警告:此工具将执行目标可执行文件。如果您不确定目标
可执行文件的具体行为,请务必在虚拟机 (VM) 中使用此工具。
注意:您需要使用 32 位的 Python 解释器来转储 32 位的可执行文件。
## 功能特性
* 支持 Themida/Winlicense 2.x 和 3.x
* 支持 32 位和 64 位 PE 文件(EXE 和 DLL)
* 支持 32 位和 64 位 .NET 程序集(仅限 EXE)
* 自动恢复原始入口点 (OEP)
* 自动恢复(被混淆的)导入表
## 已知限制
* 不支持 .NET 程序集 DLL
* 在大多数情况下无法生成可直接运行的转储文件
* 为使用 Themida 2.x 脱壳的 32 位可执行文件解析导入的过程非常缓慢
* 若要脱壳那些需要授权文件才能启动的 WinLicense 保护的可执行文件,需提供有效的授权文件
## 使用指南
### 下载
您可以从“Releases”部分下载由 PyInstaller 生成的可执行文件,或者使用 `git` 拉取项目并使用 `pip` 进行安装:
```
pip install git+https://github.com/ergrelet/unlicense.git
```
### 使用
如果您不想使用命令行界面 (CLI),可以直接将目标二进制文件
拖放到相应的(32 位或 64 位)`unlicense` 可执行文件上(可在“Releases”部分获取)。
否则,以下是命令行界面 (CLI) 的使用说明:
```
unlicense --help
NAME
unlicense.exe - Unpack executables protected with Themida/WinLicense 2.x and 3.x
SYNOPSIS
unlicense.exe PE_TO_DUMP
DESCRIPTION
Unpack executables protected with Themida/WinLicense 2.x and 3.x
POSITIONAL ARGUMENTS
PE_TO_DUMP
Type: str
FLAGS
--verbose=VERBOSE
Type: bool
Default: False
--pause_on_oep=PAUSE_ON_OEP
Type: bool
Default: False
--no_imports=NO_IMPORTS
Type: bool
Default: False
--force_oep=FORCE_OEP
Type: Optional[Optional]
Default: None
--target_version=TARGET_VERSION
Type: Optional[Optional]
Default: None
--timeout=TIMEOUT
Type: int
Default: 10
NOTES
You can also use flags syntax for POSITIONAL ARGUMENTS
```
标签:DAST, DLL, EXE, OEP恢复, PE文件分析, Python, Themida, WinLicense, X64, X86, 二进制分析, 云安全运维, 云资产清单, 加壳, 动态脱壳, 反混淆, 导入表修复, 恶意软件分析, 无后门, 漏洞挖掘, 端点检测与响应, 脱壳工具, 脱壳机, 解密, 软件保护, 逆向工程