Skip to main content

Static deobfuscator for Themida's mutation-based obfuscation.

Project description

themida-unmutate

GitHub release Minimum Python version CI status

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

  • Only supports x86_64 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.cmd [-h] -a ADDRESSES [ADDRESSES ...] -o OUTPUT [-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
  -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

themida_unmutate-0.1.1.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

themida_unmutate-0.1.1-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file themida_unmutate-0.1.1.tar.gz.

File metadata

  • Download URL: themida_unmutate-0.1.1.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/5.1.0 CPython/3.12.4

File hashes

Hashes for themida_unmutate-0.1.1.tar.gz
Algorithm Hash digest
SHA256 d8cd9f22b9fd1dc5bf843927472aa7e89b6982a4e906a9531b4351c59b5e94a9
MD5 6407f0beea02ca56a7194d7d955fc00a
BLAKE2b-256 7bb8b37879d3f580a4fa5afa6b6d40a9c3cbf42e6bbd42b7a40b05c72701aea5

See more details on using hashes here.

File details

Details for the file themida_unmutate-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for themida_unmutate-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 bb26fd12c884258d5ca3ea9fea8883972789c1ffa7ca3fb8dd85747fc9d5c0d0
MD5 7f5e4cf818c5d8532e438bfc6282e391
BLAKE2b-256 307f50fe8e9e6d33960865ad2c18118befffd1ece919edf03edbee63eceb6711

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page