semvec/pypi-packages huggingface dataset:
suanpan-abaqus 0.2.0b1
Python interface to Abaqus .fil files
Requires Python: >=3.10

<!--
SPDX-FileCopyrightText: 2025 Stefano Miccoli <stefano.miccoli@polimi.it>

SPDX-License-Identifier: MIT
-->

# `suanpan-abaqus` package

Python interface to Abaqus `.fil` files

## Name

The suànpán ([算盤](https://en.wiktionary.org/wiki/算盤)) is the [chinese abacus](https://en.wikipedia.org/wiki/Suanpan).

## License

This package is released under the MIT License.

© 2025 Stefano Miccoli
donut-decryptor 0.1.0
Decryptor for files containing Donut shellcode
Requires Python: >=3.9

# donut_decryptor

A configuration and module extractor for the [donut binary obfuscator](https://github.com/TheWover/donut)

## Description

`donut-decryptor` checks file(s) for known signatures of the donut obfuscator's loader shellcode. If located, it will parse the shellcode to locate, decrypt, and extract the `DONUT_INSTANCE` structure embedded in the binary, and report pertinent configuration data. If a `DONUT_MODULE` is present in the binary it is decrypted and dumped to disk.

## Installation

You can install `donut-decryptor` for usage by navigating to the root directory of the project and using pip:

```bash
cd /path/to/donut-decryptor
python -m pip install .
```

Following installation, a command-line script is available. For usage instructions use:

```bash
donut-decryptor --help
```

## Development

This project uses [Hatch](https://hatch.pypa.io/) for project management, [Ruff](https://docs.astral.sh/ruff/) for linting and formatting, and [mypy](https://mypy-lang.org/) for type checking.

### Setup

Install Hatch:

```bash
pip install hatch
```

### Running Tests

```bash
hatch run test
hatch run test-cov  # with coverage
```

### Linting and Formatting

```bash
hatch run lint:style   # check style
hatch run lint:fmt     # format code and fix issues
hatch run lint:typing  # run mypy type checking
hatch run lint:all     # run all checks
```

## Examples

The files present in the `samples` directory are 7z files password protected using the password `infected``, all of which contain donuts which can be decoded using this script.

## TODO list

* Update detection rules and instance parsing for alternative output formats:
  * Hex
  * C-String/Ruby
  * Python
  * C#
  * Powershell
* Consider moving loader/instance mapping to a YAML configuration file.