2019-07-10 16:00:48 +00:00
|
|
|
# Irradiate v0.2
|
2019-07-02 02:30:13 +00:00
|
|
|
#### Evelene Ultraviolet
|
|
|
|
#### July 2019
|
|
|
|
#### AGPL v3
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Oh no, what is it this time?
|
|
|
|
Irradiate is a program for messing up your files. It does so in a manner reminiscent of how high-energy
|
|
|
|
charged particle damage to the data storage medium might manifest - flipped bits inserted in a random fashion.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### What it does
|
|
|
|
When called on a file, Irradiate opens the file in read-write mode, seeks to a selectable number of
|
|
|
|
random positions on the file, and sets single bits to certain values. You can tell it to either set the bits to
|
|
|
|
a randomly-selected state (the default), or to only zero them (using `--zero`), only one them (using `--one`),
|
|
|
|
or flip them (using `--flip`). If you please, you can also give a "holdoff" value to protect a certain number
|
|
|
|
of bytes at the beginning of the file, e.g. to prevent a header from being corrupted and rendering a file
|
|
|
|
unopenable, using the `--holdoff` flag.
|
|
|
|
|
|
|
|
Be warned! This program *will* corrupt any file you point it at. It does **not** copy the input file like a
|
|
|
|
normal converter program does; it operates in-place. If you want to preserve the original file, you need to copy
|
|
|
|
it to a new location *before* you run Irradiate on it.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Why would you want to do this?
|
|
|
|
As is typical of our projects, you likely would not.
|
|
|
|
However, we think it might be useful for glitch art.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Why does it only operate on files in-place?
|
|
|
|
The decision to do this was made the way it was due to the fact that real high-energy radiation does not
|
|
|
|
helpfully make copies of your files before it messes with them - it, like this program, simply damages them where
|
|
|
|
they lie. It's more immersive this way.
|
|
|
|
|
|
|
|
For maximum immersion, you can run Irradiate on a block device, like a USB flash drive or SD card. This probably
|
|
|
|
requires running it as root, which is a bad idea and you shouldn't do it, but it's an option if you feel like
|
|
|
|
disregarding this advice.
|
|
|
|
|
|
|
|
Irradiate does not offer the option to operate recursively on directories, for reasons which are hopefully not too
|
|
|
|
difficult to imagine.
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Can this program actually damage my computer, or hurt me, the way real ionizing radiation could?
|
|
|
|
|
|
|
|
This program does not produce ionizing radiation. It may seem like it goes without saying, but we will clarify it
|
|
|
|
anyway. `irradiate` cannot directly cause harm to your body.
|
|
|
|
|
|
|
|
As for your computer, well... We do not recommend you run this as root, especially against targets like:
|
|
|
|
- Your kernel
|
|
|
|
- Your initramfs
|
|
|
|
- Your computer's EFI firmware
|
|
|
|
- Important block devices, such as your system's boot medium
|
|
|
|
- `/dev/mem`
|
|
|
|
|
|
|
|
Treat this program like you would `rm` or `shred`. The files it acts on should be considered lost, and any
|
|
|
|
resemblance they bear to the originals considered as a happy accident.
|
|
|
|
|
|
|
|
All this being said: if you ever *do* run Irradiate on some important system of device file and something funny
|
|
|
|
or cool happens... let us know, yeah?
|
2019-07-10 16:00:48 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
### Changelog
|
|
|
|
**2019 July 1**: Initial commit in working form
|
|
|
|
**2019 July 7**: Added timing stats
|