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.

Features

  • Automatically resolve trampolines' destination addresses
  • Statically deobfuscate mutated functions
  • Rebuild fully working binaries
  • Binary Ninja integration

Known Limitations

  • Doesn't support ARM64 binaries

How To

Download

You can fetch the project with git and install it with pip:

pip install git+https://github.com/ergrelet/themida-unmutate.git

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

You can also find a Binary Ninja plugin in the binja_plugin directory.

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.0.tar.gz (25.2 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.0-py3-none-any.whl (27.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: themida_unmutate-0.1.0.tar.gz
  • Upload date:
  • Size: 25.2 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.0.tar.gz
Algorithm Hash digest
SHA256 231039dd6ef749ff9cb03b6ef1795f531a879b344fe98776664c65f32d16f3ef
MD5 ad8c47363b78c1a3af631b234ddfbf73
BLAKE2b-256 f0ba863d35146d90db2a28666fba8ce851b98d412459b05bcc9353e74ca8c61d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for themida_unmutate-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 885b102ef441ca4c5c3d4383fa50ce04f56536a199fc78cc9184d0a7ce349a69
MD5 a689e53edd1e2d704eec6a8d2895f37c
BLAKE2b-256 66066014be9a1473cfd32156674ad38f7aed402a0cb0de33aa151dd4dff1bb9b

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