top | item 36799776

No-more-secrets: recreate the decryption effect seen in the 1992 movie Sneakers

1002 points| tambourine_man | 2 years ago |github.com

257 comments

order
[+] dylan604|2 years ago|reply
I love the download and install section's lack of assumptions that someone looking to install this specific package doesn't already have gcc/git/make avaialbe. "Hi, I'm a brand new *nix user on a fresh install of my distro, and I want to install a command to recreate the Sneakers decryption effect" says no one, ever. =)

So many packages make these kinds of assumptions. I tend to find that in those situations, the likelihood of some other salient bit of information gets left out as well. Also bonus for not being an npm install type of something.

[+] bamfly|2 years ago|reply
I hate this in documentation. Snippets of code or config that don't work on their own, and it may not even be clear where they're supposed to go or what they're nested in. May use imports the name of which cannot be found on the page. That kind of crap.

Please, at the very least, put a full-fat example or a link to it at the bottom of the page. Something.

[+] HeckFeck|2 years ago|reply
Too many hours have been lost battering make and searching for lib-$THING in apt, just going from the names of the missing .h files.
[+] ghusto|2 years ago|reply
> npm install type of something

THIS! I was a little disheartened when I saw I had to build it, but the repo is tiny, and the build is a second. This should be the norm, not a pleasant surprise!

[+] sixothree|2 years ago|reply
"The rest is left as an exercise for the reader".

I 100% agree with the frustration. Anything that involves make as described by a repo such is this is not something I want in any of our processes. It's going to fail.

But this is really a toy and not meant to be taken seriously.

[+] Cthulhu_|2 years ago|reply
But also, on the other hand, I'd like software to be easy to install, so it being included in package distributions is convenient. That said, being able to run from source without dependencies would be cool as well; that's probably why some tools are still built in pure shell code.
[+] bravetraveler|2 years ago|reply
While I too wish for complete build instructions as a packager, I feel this is overstated.

The very first part of the 'Download and Install' section says to check the distribution package manager so that building isn't necessary

These users are better served not even knowing about builds. In this spirit, the bit saying 'if you aren't absolute latest, adopt the build from source pain' should be removed.

Toys like this don't demand the latest and greatest. Save the [complete] build instructions, including the libraries (ideally their package names), for developers/contributors

[+] tptacek|2 years ago|reply
True fact: there's a subset of real cryptanalysis attacks --- the CBC padding oracle, Bleichenbacher's RSA padding oracle, the ECB byte-at-a-time attack --- that (I think?) Juliano Rizzo coined the term "Hollywood Attack" for, because when you run the exploits for them, they look like decryption in Sneakers.

It's a good term, everybody should use it, it's even a little useful for getting the intuition behind the attack (a lot of cryptanalytic attacks work by finding creative ways to isolate a single byte of ciphertext instead of having to work against the entire 128 or 2048 bit message).

[+] iancmceachern|2 years ago|reply
I absolutely love this movie. I grew up watching it on VHS and coincidentally bike by the setting of one of its major scenes daily. There is that brick courtyard that currently sits between Google and Wharton. In the movie its a outdoor dining area, and Sidney Poitier says, holding the car phone in Martin's Karman Ghia, "Martin, It's your mother". And then they realize they're not with the NSA. Anyway, they've added a floating firehouse there now, and the road looks a bit different, but I love how similar the view is there now as to when the movie was filmed.

I really do love this movie, it's really well done all around.

[+] jvanderbot|2 years ago|reply
Wait, you're telling me I can just download these 3-5 source files, type `make`, and it will _just build_?

No:

* Setting up an isolated build env

* Pulling 1600 dependencies and building them from source

* installing a filesystem layer with 1600 .so libraries

* running docker, npm, etc?

_AND_ it compiles in a fraction of a second?

Amazing what this new language C can do.

[+] twic|2 years ago|reply
> Wait, you're telling me I can just download these 3-5 source files, type `make`, and it will _just build_?

No. You need make and a C toolchain installed.

If you have those installed, you almost certainly also have Python, Perl, and possibly even a reasonably recent Java (not on MacOS, yes on most Linux distros, i think) installed, and all of those are also capable of doing this with zero dependencies.

[+] xtracto|2 years ago|reply
Aah this brought me back memories! Waaaaay back in the day (90's) I would implement my own methods I stead of say including stdlib.h or other libraries because I had the (wrong) idea that including it would bloat my C programs (didn't know how a like worked uh?) .

12 year old me would choke seeing NPM, pip, or bundle these days... or Electron!

We could do so much with so little!

[+] the_gipsy|2 years ago|reply
Same for every language: if the env is installed and the program has no dependencies, just run build command.

This one needs some unspecified versions of gcc, make, and ncurses installed.

[+] chaxor|2 years ago|reply
Don't advertise these languages, else they will become like the wretched python is now.

Python used to be fantastic. It actually used to just work. That stopped once everyone caught on to the language, Nvidia got involved, and tensorflow / pytorch /ML ruined everything with so many script kiddies writing nonsense that had no interest in making their packages compatible with anything. The community is the best, but also very very much the worst part of the language.

[+] stavros|2 years ago|reply
From personal experience, the number of times that I've typed `make` and it worked are so few, that now I basically think "cool, but there's no way I can compile that" and close the tab whenever I see a C project.

This project built fine, though.

[+] joshstrange|2 years ago|reply
I cannot hear the word "Passport" without saying (at least in my mind) "My voice is my passport".
[+] sumtechguy|2 years ago|reply
For me it is 'cattle'... 'cattle mutilations are up'
[+] renewiltord|2 years ago|reply
HSBC has voice recognition on their call center and they announce it by saying "Your voice is your passport" or maybe "password". I forget now.
[+] dylan604|2 years ago|reply
I just love to hear someone say the word passport
[+] Winse|2 years ago|reply
"...verify me" that wasn't easy, what I just did.
[+] HeckFeck|2 years ago|reply
Is it bad that PASSPORT.MID began playing in my head? It has been so many years and I still remember it note for note. Maybe I need therapy.
[+] nycdotnet|2 years ago|reply
needs to be said as a question. Passport?
[+] lvncelot|2 years ago|reply
This together with cool-retro-term[1] is an absolute must on my machines for real hacker hours.

[1] https://github.com/Swordfish90/cool-retro-term

[+] kraquepype|2 years ago|reply
Wow that amber screen brings back memories, thank you for sharing. My first helpdesk job included mainframe support, and I got to use one of the old IBM quad screen plasma terminals they still had there. Our ticketing system was still on the mainframe so it was actually useful in my helpdesk duties.

(Pretty sure it was this one, or very similar: https://www.argecy.com/ibm-3290-plasma-terminal)

[+] reustle|2 years ago|reply
Note that you can easily install on a Mac with

brew install --cask cool-retro-term

[+] azubinski|2 years ago|reply
:)

This is for the lonely boring nights...

[+] koalacola|2 years ago|reply
It says I need Qt5 LTS to install that, is that a paid application?
[+] nobleach|2 years ago|reply
So crazy that at the news of Kevin Mitnick's passing, I immediately started thinking of this movie. Probably a lot of folks did. Thanks for sharing this.
[+] nailer|2 years ago|reply
I really want a modern version of Sneakers where someone works out that a quantum computer has probably been built (maybe years ago) and they have to steal it if it exists.

Totally fits in with the original Sneakers "no more secrets" meme.

[+] sandyarmstrong|2 years ago|reply
This is one of my favorite movies of all time. The decryption scene is so iconic in my memory. You absolutely NAILED it!

Thank you for this lovely surprise.

[+] gumby|2 years ago|reply
I wish programs included stuff like this in their demo modes. Beeps with keypresses, animations, and the like.

Back when there were trade shows this would have been great on the show floor (fun to look at and give the salesperson more time to talk). Beeps on keypresses, noises while computing, and of course cool graphics like this.

That stuff would be super annoying when actually using the software for real. Perhaps it could be enabled in the free version and suppressed when you bought the license.

[+] jb1991|2 years ago|reply
It actually works, too. We've been using this in production for two months and it requires little downtime or ongoing maintenance.
[+] kenrose|2 years ago|reply
I have to ask: how are you using this in prod?
[+] mydriasis|2 years ago|reply
DUDE that is so cool. I love the "line feed" and "scrambling" effect. Wow!
[+] msmith|2 years ago|reply
This is great. It reminds me that I tried to recreate this effect with Turbo Pascal back in the 90’s when I first got into programming.

Sneakers, Wargames, and BBS culture were pretty influential for me at the time.

[+] INTPenis|2 years ago|reply
I'll forever be piping gpg -d into this tool.
[+] wood_spirit|2 years ago|reply
Hey, has anyone used an llm to “enhance” the output of terminal programs and make them a little bit more hackerish or Tolkien or something? So we have a shell for mundane work that makes you feel like you’re hacking or exploring or whatever? :)
[+] jrflowers|2 years ago|reply
Seatec Astronomy was an anagram for Too Many Secrets, not No More Secrets.
[+] rconti|2 years ago|reply
SETEC Astronomy, actually. And "No more secrets" was what Coz said to Marty about the decryption machine.
[+] cpuguy83|2 years ago|reply
But the machine makes it so there are no more secrets.