{"id":13592449,"url":"https://github.com/ergrelet/unlicense","last_synced_at":"2025-05-16T12:06:59.404Z","repository":{"id":37913234,"uuid":"397260606","full_name":"ergrelet/unlicense","owner":"ergrelet","description":"Dynamic unpacker and import fixer for Themida/WinLicense 2.x and 3.x.","archived":false,"fork":false,"pushed_at":"2023-08-19T19:09:22.000Z","size":176,"stargazers_count":1123,"open_issues_count":48,"forks_count":207,"subscribers_count":36,"default_branch":"main","last_synced_at":"2025-04-02T05:56:55.538Z","etag":null,"topics":["dotnet-assembly","dump","frida","malware-analysis","malware-unpacker","portable-executable","python","scylla","themida","unpacker","windows","winlicense"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ergrelet.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2021-08-17T13:07:12.000Z","updated_at":"2025-04-02T05:28:10.000Z","dependencies_parsed_at":"2024-01-14T04:40:05.068Z","dependency_job_id":"721caf80-2ea6-4d6f-bccc-25f088955ec5","html_url":"https://github.com/ergrelet/unlicense","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergrelet%2Funlicense","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergrelet%2Funlicense/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergrelet%2Funlicense/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ergrelet%2Funlicense/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ergrelet","download_url":"https://codeload.github.com/ergrelet/unlicense/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247994119,"owners_count":21030050,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet-assembly","dump","frida","malware-analysis","malware-unpacker","portable-executable","python","scylla","themida","unpacker","windows","winlicense"],"created_at":"2024-08-01T16:01:09.348Z","updated_at":"2025-04-09T07:04:44.119Z","avatar_url":"https://github.com/ergrelet.png","language":"Python","readme":"# Unlicense \u003cimg src=\"https://raw.githubusercontent.com/ergrelet/unlicense/dev/assets/unlicense.ico\" width=\"40\"\u003e\n\n[![GitHub release](https://img.shields.io/github/release/ergrelet/unlicense.svg)](https://github.com/ergrelet/unlicense/releases) [![Minimum Python version](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/downloads/) ![CI status](https://github.com/ergrelet/unlicense/actions/workflows/check.yml/badge.svg?branch=main)\n\nA Python 3 tool to dynamically unpack executables protected with\nThemida/WinLicense 2.x and 3.x.\n\nWarning: This tool will execute the target executable. Make sure to use this\ntool in a VM if you're unsure about what the target executable does.\n\nNote: You need to use a 32-bit Python interpreter to dump 32-bit executables.\n\n## Features\n\n* Handles Themida/Winlicense 2.x and 3.x\n* Handles 32-bit and 64-bit PEs (EXEs and DLLs)\n* Handles 32-bit and 64-bit .NET assemblies (EXEs only)\n* Recovers the original entry point (OEP) automatically\n* Recovers the (obfuscated) import table automatically\n\n## Known Limitations\n\n* Doesn't handle .NET assembly DLLs\n* Doesn't produce runnable dumps in most cases\n* Resolving imports for 32-bit executables packed with Themida 2.x is pretty slow\n* Requires a valid license file to unpack WinLicense-protected executables that\n  require license files to start\n\n## How To\n\n### Download\n\nYou can either download the PyInstaller-generated executables from the \"Releases\"\nsection or fetch the project with `git` and install it with `pip`:\n```\npip install git+https://github.com/ergrelet/unlicense.git\n```\n\n### Use\n\nIf you don't want to deal the command-line interface (CLI) you can simply\ndrag-and-drop the target binary on the appropriate (32-bit or 64-bit) `unlicense`\nexecutable (which is available in the \"Releases\" section).\n\nOtherwise here's what the CLI looks like:\n```\nunlicense --help\nNAME\n    unlicense.exe - Unpack executables protected with Themida/WinLicense 2.x and 3.x\n\nSYNOPSIS\n    unlicense.exe PE_TO_DUMP \u003cflags\u003e\n\nDESCRIPTION\n    Unpack executables protected with Themida/WinLicense 2.x and 3.x\n\nPOSITIONAL ARGUMENTS\n    PE_TO_DUMP\n        Type: str\n\nFLAGS\n    --verbose=VERBOSE\n        Type: bool\n        Default: False\n    --pause_on_oep=PAUSE_ON_OEP\n        Type: bool\n        Default: False\n    --no_imports=NO_IMPORTS\n        Type: bool\n        Default: False\n    --force_oep=FORCE_OEP\n        Type: Optional[Optional]\n        Default: None\n    --target_version=TARGET_VERSION\n        Type: Optional[Optional]\n        Default: None\n    --timeout=TIMEOUT\n        Type: int\n        Default: 10\n\nNOTES\n    You can also use flags syntax for POSITIONAL ARGUMENTS\n```\n","funding_links":[],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fergrelet%2Funlicense","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fergrelet%2Funlicense","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fergrelet%2Funlicense/lists"}