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)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.