Skip to main content

This script modifies the last four bits of an NTFS timestamp to hide information.

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

datemangler-0.3.0-py3-none-any.whl (6.1 kB view details)

Uploaded Python 3

File details

Details for the file datemangler-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: datemangler-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for datemangler-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4ebbe20d333299da6ad9670c755f856f6544eea601037fae2dc8a9dbb92fc617
MD5 5d2219e048284c00d2c24a1a38924998
BLAKE2b-256 bcea2496ca89fe21a2e7656d932241fc69fac5529d5e72994788fba6b105e499

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page