2016-04-21 13:59:08 -07:00
|
|
|
No More Secrets
|
|
|
|
===============
|
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
This project provides a command line tool called `nms` that recreates the
|
|
|
|
famous data decryption effect seen on screen in the 1992 hacker movie Sneakers.
|
|
|
|
For reference, you can see this effect at 0:35 in [this youtube video](https://www.youtube.com/watch?v=F5bAa6gFvLs&t=35).
|
2016-04-25 10:40:19 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
This command works on piped data. Pipe any ASCII or UTF-8 text to `nms`,
|
|
|
|
and it will apply the effect to it, initially showing "encrypted" data,
|
|
|
|
then starting a decryption sequence to reveal the original plaintext data.
|
2016-04-25 11:14:28 -07:00
|
|
|
|
2017-01-10 16:24:10 -08:00
|
|
|
![Screenshot](http://www.brianbarto.info/extern/images/nms/nms.gif)
|
2016-04-25 11:14:28 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
Also included in this project is a program called `sneakers` that recreates
|
|
|
|
what we see in the above movie clip. Note that this program requires the
|
|
|
|
user to select one of the menu options before it terminates.
|
2016-04-25 10:41:19 -07:00
|
|
|
|
2017-01-10 16:24:10 -08:00
|
|
|
![Screenshot](http://www.brianbarto.info/extern/images/nms/sneakers.gif)
|
2016-04-21 13:59:08 -07:00
|
|
|
|
2017-01-11 18:13:04 -08:00
|
|
|
This project has no dependencies, but it does rely on ANSI/VT100 escape
|
|
|
|
sequences to recreate the effect. Most modern terminal programs support
|
|
|
|
these sequences so this should not be an issue for most users. If yours
|
|
|
|
does not, you may need to use an alternate terminal program like xTerm.
|
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
Table of Contents
|
|
|
|
-----------------
|
2016-04-22 13:25:21 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
1. [Download and Install](#download-and-install)
|
|
|
|
2. [Usage](#usage)
|
|
|
|
3. [License](#license)
|
2016-04-21 13:59:08 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
Download and Install
|
|
|
|
--------------------
|
2016-04-21 13:59:08 -07:00
|
|
|
|
2017-01-11 18:00:47 -08:00
|
|
|
I am flattered that few *NIX platforms have added this project to their
|
|
|
|
package manager collection. If you're using one of the following systems,
|
|
|
|
you can install it from the package manager.
|
|
|
|
|
|
|
|
* openSUSE
|
2017-01-12 13:59:56 -08:00
|
|
|
* Mac OS X (Via homebrew package manager: http://brew.sh/)
|
2017-01-11 18:00:47 -08:00
|
|
|
* FreeBSD
|
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
If you install form a package manager, please check that you have the
|
|
|
|
latest version (`nms -v`). If not, I suggest installing from source (see
|
|
|
|
below).
|
2017-01-11 18:00:47 -08:00
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
To install this project from source, you will need to have the tools `git`,
|
|
|
|
`gcc`, and `make` to download and build it. Install them from your package
|
|
|
|
manager if they are not available.
|
2016-04-21 13:59:08 -07:00
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
Once you have the necessary tools installed, follow these instructions:
|
2017-01-11 18:00:47 -08:00
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
#### Install:
|
2017-01-11 18:00:47 -08:00
|
|
|
```
|
|
|
|
git clone https://github.com/bartobri/no-more-secrets.git
|
|
|
|
cd ./no-more-secrets
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
```
|
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
#### Uninstall:
|
2017-01-11 18:00:47 -08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ sudo make uninstall
|
|
|
|
```
|
2016-04-26 11:22:34 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
Usage
|
|
|
|
-----
|
2016-04-25 14:40:09 -07:00
|
|
|
|
2017-01-13 09:29:53 -08:00
|
|
|
`nms` works on piped data. Pipe any ASCII or UTF-8 characters to it and
|
|
|
|
enjoy the magic. In the below examples, I use a simple directory listing.
|
2016-04-25 13:45:52 -07:00
|
|
|
|
|
|
|
```
|
2017-01-13 09:29:53 -08:00
|
|
|
ls -l | nms
|
|
|
|
ls -l | nms -a // Set auto-decrypt flag
|
|
|
|
ls -l | nms -f green // Set foreground color to green
|
|
|
|
ls -l | nms -c // Clear screen
|
|
|
|
nms -v // Display version
|
2016-04-25 14:18:43 -07:00
|
|
|
```
|
2016-09-18 10:37:15 -07:00
|
|
|
|
2017-01-13 09:29:53 -08:00
|
|
|
Note that by default, after the initial encrypted characters are displayed,
|
|
|
|
`nms` will wait for the user to press a key before initiating the decryption
|
|
|
|
sequence. This is how the decryption functionality is depicted in the movie.
|
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
#### Command Line Options
|
2016-09-18 10:37:15 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
`-a`
|
2016-04-26 08:40:42 -07:00
|
|
|
|
2017-01-13 09:29:53 -08:00
|
|
|
Set the auto-decrypt flag. This will automatically start the
|
|
|
|
decryption sequence without requiring a key press.
|
2016-04-25 15:10:43 -07:00
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
`-f color`
|
2016-09-18 10:37:15 -07:00
|
|
|
|
2017-01-13 09:29:53 -08:00
|
|
|
Set the foreground color of the decrypted text to the color
|
2017-01-11 17:37:38 -08:00
|
|
|
specified. Valid options are white, yellow, black, magenta, blue, green,
|
|
|
|
or red. This is blue by default.
|
2016-04-25 13:45:52 -07:00
|
|
|
|
2017-01-12 13:38:24 -08:00
|
|
|
`-c`
|
|
|
|
|
2017-01-13 09:29:53 -08:00
|
|
|
Clear the screen prior to printing any output. Specifically,
|
2017-01-12 13:38:24 -08:00
|
|
|
it saves the state of the terminal (all current output), and restores it
|
|
|
|
once the effect is comlpeted. Note that when using this option, `nms` requires
|
|
|
|
the user to press a key before restoring the terminal.
|
|
|
|
|
2017-01-12 13:59:56 -08:00
|
|
|
`-v`
|
|
|
|
|
|
|
|
Display version info.
|
|
|
|
|
2016-04-22 13:25:21 -07:00
|
|
|
License
|
|
|
|
-------
|
|
|
|
|
2017-01-11 17:37:38 -08:00
|
|
|
This program is free software; you can redistribute it and/or modify it
|
|
|
|
under the terms of the the MIT License (MIT). See [LICENSE](LICENSE) for
|
|
|
|
more details.
|