Static deobfuscator for Themida's mutation-based obfuscation.
Project description
themida-unmutate
A Python 3 tool to statically deobfuscate functions protected by Themida,
WinLicense and Code Virtualizer 3.x's mutation-based obfuscation.
The tool has been tested on Themida up to version 3.1.9. It's expected to
work on WinLicense and Code Virtualizer as well.
A Binary Ninja plugin is also available here.
Features
- Automatically resolve trampolines' destination addresses
- Statically deobfuscate mutated functions
- Rebuild fully working binaries
Known Limitations
- Doesn't support ARM64 binaries
How to Download
You can install the project with pip:
pip install themida-unmutate
A standalone PyInstaller build is available for Windows in "Releases".
How to Use
Here's what the CLI looks like:
$ themida-unmutate --help
usage: themida-unmutate [-h] -a ADDRESSES [ADDRESSES ...] -o OUTPUT [--no-trampoline] [--reassemble-in-place] [-v] protected_binary
Automatic deobfuscation tool for Themida's mutation-based protection
positional arguments:
protected_binary Protected binary path
options:
-h, --help show this help message and exit
-a ADDRESSES [ADDRESSES ...], --addresses ADDRESSES [ADDRESSES ...]
Addresses of the functions to deobfuscate
-o OUTPUT, --output OUTPUT
Output binary path
--no-trampoline Disable function unwrapping
--reassemble-in-place
Rewrite simplified code over the mutated code rather than in a new code section
-v, --verbose Enable verbose logging
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file themida_unmutate-0.2.1.tar.gz.
File metadata
- Download URL: themida_unmutate-0.2.1.tar.gz
- Upload date:
- Size: 26.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
92736112936bd6f528894dfcf55747a0944a581178f13809f39555cece4b27b5
|
|
| MD5 |
d98a08541fb0fa203748a453fe4f9d9e
|
|
| BLAKE2b-256 |
f0e3f90feb31467d2d4a87ee93a05afec390ef11c7e9ffbc4ed4f49ac0e89e60
|
File details
Details for the file themida_unmutate-0.2.1-py3-none-any.whl.
File metadata
- Download URL: themida_unmutate-0.2.1-py3-none-any.whl
- Upload date:
- Size: 29.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3c1726bb0c49ffc9b3ee596f09862eb2d506ae00e3649ef0368697fd6da4660f
|
|
| MD5 |
2b527b97a04041b6aa87cb8ad55ab77f
|
|
| BLAKE2b-256 |
f690ad5f03a74f960f8c14cb8170adc5f90b55dd11c16dcd38d9b01e33788456
|