Skip to main content

datemangler

This module modifies the last four bits of an NTFS timestamp to hide information. Data entered is encrypted with AES.

Note: The cryptography settings used in this demo aren't production-ready. They were mostly chosen to still fit the data into the timestamp bits. Do not rely on this for anything.

Installation

Get the latest version with pip install datemangler.

Notes about dependencies

This program requires the xattr package to function which will only install if the development files for libffi are installed. Use sudo apt-get install libffi-dev on Debian/Ubuntu before installing xattr or this package.

The datemangler module has been tested with Python 3.11.

Usage

The module comes with a script entrypoint which you can see in use in test.sh. A Dockerfile has been included in this repository to enable testing on other platforms as well. Note that the container needs to be run with --privileged since it needs to mount a dummy NTFS volume.

By default, it will run the tests of this project:

$ docker run --privileged --rm -it foo 
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.
..
----------------------------------------------------------------------
Ran 2 tests in 0.798s

OK

If you run it with --entrypoint ./test.sh, you will get an interactive shell to play around with:

$ docker run --privileged --entrypoint ./test.sh --rm -it foo
Initializing device with zeroes: 100% - Done.
Creating NTFS volume structures.
mkntfs completed successfully. Have a nice day.

root@dedb7779c2e8:/app/test# datemangler
usage: datemangler [-h] [-R] [-i INPUT] [-l PAYLOAD_LENGTH] {read,write} path

root@dedb7779c2e8:/app/test# datemangler -i "Hello my friend!" write .
Payload length was 16

root@dedb7779c2e8:/app/test# datemangler -l 16 read .
Hello my friend!

root@6b72ecc409c7:/app/test/test# datemangler -i foo write 0
root@6b72ecc409c7:/app/test/test# datemangler read 0
foo

Metadata

Release files for datemangler 0.3.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for datemangler 0.3.0
File Interpreter ABI Platform
datemangler-0.3.0-py3-none-any.whl Python 3 none any Details

Release files / datemangler-0.3.0-py3-none-any.whl

Download URL datemangler-0.3.0-py3-none-any.whl
Size 6.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4ebbe20d333299da6ad9670c755f856f6544eea601037fae2dc8a9dbb92fc617
BLAKE2b-256 checksum
How to use checksums
bcea2496ca89fe21a2e7656d932241fc69fac5529d5e72994788fba6b105e499
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.0.0 CPython/3.11.8

Security for datemangler 0.3.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page