GNU General Public License v3.0

项目介绍

ergrelet/unlicense 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 GNU General Public License v3.0 许可证,目前获得 1.5k 个 Star、265 次 Fork。

仓库全名
ergrelet/unlicense
开源许可证
GNU General Public License v3.0
Star 数
1.5k
Fork 数
265
未关闭 Issue
55

README 摘要

Unlicense A Python 3 tool to dynamically unpack executables protected with Themida/WinLicense 2.x and 3.x. Warning: This tool will execute the target executable. Make sure to use this tool in a VM if you're unsure about what the target executable does. Note: You need to use a 32-bit Python interpreter to dump 32-bit executables. Features Handles Themida/Winlicense 2.x and 3.x Handles 32-bit and 64-bit PEs (EXEs and…

完整内容见 GitHub 原始 README 或本页 。

常见问题

unlicense 用什么语言开发?

主要使用 Python 编写,采用 GNU General Public License v3.0 许可证,目前有 1.5k 个 Star。

unlicense 可以免费商用吗?

仓库标注的许可证为 GNU General Public License v3.0,商用前请先阅读仓库 LICENSE 文件确认授权范围。

如何获取 unlicense 的源码?

可以直接克隆仓库:git clone https://github.com/ergrelet/unlicense.git,默认分支为 main;安装与运行步骤见仓库 README。

unlicense 最近还在维护吗?

仓库最近一次更新为 2023年8月20日,当前有 55 个未关闭 Issue;Star 数为 1.5k,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Dynamic unpacker and import fixer for Themida/WinLicense 2.x and 3.x.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

语言占比

JavaScript
Python

Release

贡献者

README

Unlicense

GitHub release Minimum Python version CI status

A Python 3 tool to dynamically unpack executables protected with Themida/WinLicense 2.x and 3.x.

Warning: This tool will execute the target executable. Make sure to use this tool in a VM if you’re unsure about what the target executable does.

Note: You need to use a 32-bit Python interpreter to dump 32-bit executables.

Features

  • Handles Themida/Winlicense 2.x and 3.x
  • Handles 32-bit and 64-bit PEs (EXEs and DLLs)
  • Handles 32-bit and 64-bit .NET assemblies (EXEs only)
  • Recovers the original entry point (OEP) automatically
  • Recovers the (obfuscated) import table automatically

Known Limitations

  • Doesn’t handle .NET assembly DLLs
  • Doesn’t produce runnable dumps in most cases
  • Resolving imports for 32-bit executables packed with Themida 2.x is pretty slow
  • Requires a valid license file to unpack WinLicense-protected executables that require license files to start

How To

Download

You can either download the PyInstaller-generated executables from the “Releases” section or fetch the project with git and install it with pip:

pip install git+https://github.com/ergrelet/unlicense.git

Use

If you don’t want to deal the command-line interface (CLI) you can simply drag-and-drop the target binary on the appropriate (32-bit or 64-bit) unlicense executable (which is available in the “Releases” section).

Otherwise here’s what the CLI looks like:

unlicense --help
NAME
    unlicense.exe - Unpack executables protected with Themida/WinLicense 2.x and 3.x

SYNOPSIS
    unlicense.exe PE_TO_DUMP <flags>

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

评论

暂无评论