GithubHelp home page GithubHelp logo

anthrax3 / no-more-secrets Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bartobri/no-more-secrets

0.0 1.0 0.0 167 KB

A command line tool that recreates the famous data decryption effect seen in the 1992 movie Sneakers.

License: GNU General Public License v3.0

Makefile 3.90% Roff 5.94% C 87.87% C++ 2.29%

no-more-secrets's Introduction

Version

No More Secrets

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 movie clip.

This command works on piped data. Pipe any ASCII or UTF-8 text to nms, and it will apply the hollywood effect, initially showing encrypted data, then starting a decryption sequence to reveal the original plaintext characters.

Screenshot

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.

Screenshot

By default, this project has no dependencies, but it does rely on ANSI/VT100 terminal 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, this project also provides a ncurses implementation which supports non-ANSI terminals, but at the expense of losing the inline functionality (ncurses will always clear the screen prior to displaying output).

Table of Contents

  1. Download and Install
  2. Usage
  3. The NMS Library
  4. License
  5. Tips

Download and Install

More and more unix/linux platforms are including this project in their package manager. You may wish to search your package manager to see if it is an installation option. If you install form a package manager, please check that you have the latest version (nms -v). If not, I suggest installing from source by following the instructions below.

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 already installed.

Once you have the necessary tools installed, follow these instructions:

Install:

$ git clone https://github.com/bartobri/no-more-secrets.git
$ cd ./no-more-secrets
$ make nms
$ make sneakers             ## Optional
$ sudo make install

Uninstall:

$ sudo make uninstall

Install with Ncurses Support

If your terminal does not support ANSI/VT100 escape sequences, the effect may not render properly. This project provides a ncurses implementation for such cases. You will need the ncurses library installed. Install this library from your package manager. Next, follow these instructions:

$ git clone https://github.com/bartobri/no-more-secrets.git
$ cd ./no-more-secrets
$ make nms-ncurses
$ make sneakers-ncurses     ## Optional
$ sudo make install

Usage

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.

$ ls -l | nms
$ ls -l | nms -a           // Set auto-decrypt flag
$ ls -l | nms -s           // Set flag to mask space characters
$ ls -l | nms -f green     // Set foreground color to green
$ ls -l | nms -c           // Clear screen
$ nms -v                   // Display version

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 it is depicted in the movie.

Command Line Options

-a

Set the auto-decrypt flag. This will automatically start the decryption sequence without requiring a key press.

-s

Set a flag to mask space characters. This will only mask single blank space characters. Other space characters such as tabs and newlines will not be masked.

-f <color>

Set the foreground color of the decrypted text to the color specified. Valid options are white, yellow, black, magenta, blue, green, or red. This is blue by default.

-c

Clear the screen prior to printing any output. Specifically, 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.

-v

Display version info.

The NMS Library

For those who would like to use this effect in their own projects, I have created a C library that provides simple interface and can easily be used for any program that runs from the command line.

See LibNMS for more info.

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License. See LICENSE for more details.

Tips

Tips are always appreciated!

no-more-secrets's People

Contributors

anthonysterling avatar apjanke avatar bartobri avatar corazzi avatar dbaio avatar jubalh avatar livz avatar maxwellgerber avatar susnux avatar trha avatar zerochaos- avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.