Programmer Debunks Source Code Shown In Movies and TV Shows
rjmarvin writes "Someone is finally pausing TV shows and movies to figure out if the code shown on screen is accurate or not. British programmer and writer John Graham-Cumming started taking screenshots of source code from movies such as Elysium, Swordfish and Doctor Who, and when it became popular turned the concept into a blog. Source Code in TV and Films posts a new screenshot daily, proving that, for example, Tony Stark's first Iron Man suit was running code from a 1998 programmable Lego brick."
Doesn't everyone who can proram do this? Just like gun fans identify and count shots for each weapon they see?
From the (mistaken? wise?) use of a .300 in an IPv4 address in The Net, to the identification of some kind of 6502 assembly code in the Terminator's red overlay, it's always been something to try to do in the theater without freeze-frame available.
[
Next they'll tell me that "hackers" don't get a nice big screen that says "Access Granted" or that "Swordfish" isn't a common password.
I think this was meant as a fun and interesting kind of thing, not as some kind of whistle-blowing on how "OH MY GOD TV ISN'T REEEEAAAAAL!" Lighten up.
Yeah, I'd have been a lot more impressed if he'd concentrated on code that was closer to right, on examples that were more realistic.
For examples, in two different films with Matthew Broderick, his modifying school records, assuming that he does indeed have credentials, is not implausible. In The Matrix Reloaded Trinity's hack is more realistic that most other movies.
Sounds to me like this guy is bitter that he can't suspend his disbelief to just enjoy the movie, and he feels a need to drag the rest of us down with him. If the movie isn't specifically about computer hacking or computer security then I'm willing to give a fair amount of silliness a pass.
Do not look into laser with remaining eye.
I'm pretty sure that this is a hobby and he is likely doing it for fun. The fact that it showed up on /. is more of a reflection on /. than it is on what he chooses to do in his spare time for fun.
So if the code is taken, used, and redistributed without acknowledgement, is that copyright abuse? I imagine tiny snippets would fall under fair use, but if a substantial block of code from, say, a GPLed project is reproduced without acknowledgement or attaching the license, what are the chances the filmmakers could be held liable?
This is cool because he isn't just calling out as bogus, but identifying the source, such as python julian calendar library, or C image library. It's pretty nerdy to know that the scene in the matrix where he's scrolling through code is the source for netstat.
Your
Only by stupid programs which don't follow the golden rule of shutting the hell up as long as nothing goes wrong.
Therefore you're much more likely to see a message reading "Permission denied", if anything
CLI paste? paste.pr0.tips!
Oh shit, when I saw The Matrix I assumed it was nethack :-/
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
Hmm. I am the person who created that Tumblr. I'm not trying to "debunk" anything. Just showing what it really is: sometimes it's nonsense, sometimes it's there's an amusing juxtaposition, sometimes it's a fun Easter Egg.
For examples, in two different films with Matthew Broderick, his modifying school records, assuming that he does indeed have credentials, is not implausible..
Interesting factoid about those, as I recall, Broderick actually learned to code the 8080 for his role in Wargames and saved some time in filming because of it.
"Don't meddle in the affairs of a patent dragon, for thou art tasty and good with ketchup." ~ohcrapitssteve
But what if they used a special compiler that works roughly as follows:
if(code == "insert code from programmable lego brick")
return "insert binary for iron-man suit";
else
return compile_ansi_c_code_as_usual();
If Pandora's box is destined to be opened, *I* want to be the one to open it.
My favorite is when cracking/hacking is shown to be ridiculously easy. As in: leet hacker guy types a few characters and clicks this one thing...and.....WE'RE IN!
The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
Speaking of spaceships, I found it fun to contrast these fake code uses with one in the game Starbound (got it a day or few after it hit Steam as an Early Access game). When you obtain enough fuel (like coal) from your current planet there and send it back to your spaceborne ship, you can take it to another planet and enjoy a flashy warp sequence with code that scrolls on a screen. The code shown is that of...the warp sequence. (Starbound is a C++ game, and you'll notice fun things in the display like uint64_t and class names.)
Granted, it's almost certainly not a true quine, as it uses only a portion of the code; said code is in PNG form, not text; and I doubt the display will be updated for each patch, especially this early in development.
You can hold down the "B" button for continuous firing.
I did not realize how huge this "Hollywood" scam went. Kudos to Graham-Cumming for uncovering it. In other news, many foreign language scenes appear not to be spoken correctly. E.g. http://www.youtube.com/watch?v=LhVg2uLVDtk
Gently reply
Perhaps we can write a GUI in VisualBasic to help angry literalist programmers get into the spirit of technical scenes in films.
The world's burning. Moped Jesus spotted on I50. Details at 11.
All 6502 opcodes are three characters long e.g. LDA (load accumulator), ASL (arithmetic shift left). So the opcodes you are thinking of are the AHL and FKU opcodes.
All I want is a secure system where it's easy to do anything I want. Is that too much to ask ~~ Randall Munroe
One of the many things that impressed me about Wargames (aside from showing social engineering and the actual hard work and research going into a serious hack) was that David could type fast, as you would expect from someone who spends all his time on a command-line computer. It's just one of those many little details that made that movie so impressive, and still makes it fun to watch even 30 years later.
The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
I think the fast typing has less to do with attention to detail and more to do with not wanting to break the flow of the movie so that we can watch him painfully hunt-and-peck commands.
Why does everything have to be useful? It's amusing.
As is usual with /., ignore the written-by-illiterate-simians summary and click through to the article/ website (I know, I know) and your concerns will be put to rest. The blog is less about 'code in movies is wrong' and more (and more interestingly) where did the code shown come from? Knowing that Iron Man's suit is powered by code written for a lego brick gives the concept more verisimilitude - at least if you've played been playing Lego Marvel Superheroes as much I as I have recently.
Why is it that many people who claim to support standards have such atrocious spelling and grammar?
No wonder Stark Industries is so successful. If Tony can modify Lego code to control an armored flying suit, imagine what he could do with... I dunno, the source code for... Emacs!
Why would anyone go to the trouble to even think that analyzing "source code" posted in movies is a useful endeavor? YAWN.
On the same line of rationing (not that I agree with it): why would anyone think posting on /. is a useful endeavor?
Questions raise, answers kill. Raise questions to stay alive.
Just like when an actor is playing a piano on-screen, you can tell the difference between real typing and fake typing when you watch it.
There is a middle ground where the timing of the keystrokes is used for the display of the keystrokes. They don't have to hit the right keys, but it still helps. And you can do it after the fact with timecodes, or you can code it into the demo. The fact that so many movies fail at it even though they have two perfectly good options for implementing it is particularly pathetic.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
On a related note, many shows (including modern ones!) have been using a snippet of tape loading sound from the 1980s Sinclair ZX Spectrum computer which made its way onto some special effects library somewhere. The latest sighting (sounding?) was on an episode of The Wire a few years ago. With some effort (there's lots of other noise in the clip) it was decoded and turned out to be part of the loading screen for a game made by Ultimate: Play the Game (of Knight Lore and Jetpac fame). Ultimate became Rare before being bought out by Microsoft.
Oolite: Elite-like game. For Mac, Linux and Windows
Back in the 1980's there was much more interest towards programming.
It was a topic taught in Elementary Schools, the general conception was the future of computing is where everyone will program the computer to their needs, they never really though about having a large supply of existing application to pick and choose from.
I am not surprised about this fact, it if people are to read code like any other language it would be considered as silly showing wrong code, as it is for an actor to talk in a garbled tongue and pretend to be a french man.
However things have changed, most people don't read code, and the code they show on the screens are just to make it look complicated, and usually only show for a few seconds, too short for even good coders to go back and say oh this code does this. Usually in that period of time, I may be able to get the language, they are using, or the OS. But for the most part I turn myself off and focus on the plot, not the detail on what is on the screen.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
The lego source code is completely believable in the context of the story IMO. This is a program he used to run the prototype that he built in a cave in a war-torn country. He probably told them "I need a robotics kit" and this was in the bin of crap that they got him. If I was secretly programming an exo-suit in a cave, a mindstorm kit would be a boon. It sends signals based on several kinds of input... what else do you need?
The mindstorm program is a lot more believable than anything state-of-the-art.
Yep. Pretty much standard programming practice from what I've seen.
Have gnu, will travel.
Nibble Magazine used things like "Fuck You Asshole"?
Yeah but it was little endian so it looks like "You Fuck, Hole Ass" in the source.
It doesn't mean much now, it's built for the future.
I think the fast typing has less to do with attention to detail and more to do with not wanting to break the flow of the movie so that we can watch him painfully hunt-and-peck commands.
Yet so many TV shows have the "computer geek" doing two-finger typing. I suppose it is less fake looking than "fake computer typing" by hammering on the keyboard. But seriously people, learn to fucking type.
I'm a good cook. I'm a fantastic eater. - Steven Brust
you have to remember that the world in matrix is fake and as such the timegap doesn't even matter.
watch matrix 1 again - the special effects seem perfect, because they portray a fake world!
anyhow, the sploit used in the sequel got it quite a lot of nerd press back in the day... so using it was a good move.
world was created 5 seconds before this post as it is.
I like to see if they just copy/paste the same paragraph over and over or use the cliche lorem ipsum .... text.
Or if they include H. Rackham's translation of the "Lorem ipsum" passage of Cicero's De finibus as an in-joke. (Latin dolorem ipsum means "pain itself".) I've done that myself when making a demo of a font renderer for an 8-bit computer platform. From lipsum.com:
This sounds like a Ken Thompson "trusting trust" attack. Someone in that universe ought to have used David A. Wheeler's "diverse double compiling" construction (bootstrap the compiler through several competing compilers and compare the binaries after self-compilation) to expose the compiler's publisher as untrustworthy. It'd be more believable if Mr. Stark's original prototype suit was jury-rigged from a LEGO kit, and the LEGO code was carried into further revisions.
In the DVD commentary I think it's Walter Parkes who points out that the 8080 in the film was running a program that would always spit the correct character for the scene on the terminal, regardless of what keys he pressed. It only appeared that he could touch type. :)
Everything else in that movie, and the other film those two wrote, Sneakers, is remarkably accurate for a film. The drama comes out of the characters and the situations, not waiting for a dialogue box blinking decrypting...
Don't blame me, I voted for Baltar.
Larry Ellison paid a lot of good money for that placement!
PS. Were you aware two of Larry's kids are movie producers? His son produced MI: Ghost Protocol, and his daughter produced Zero Dark Thirty, True Grit, and American Hustle...
Don't blame me, I voted for Baltar.
And I found Wargames *very* unbelievable (and I'd been programming professionally for several years at that time). I mean, first of all, the kid had what must have been something like $30,000 in early eighties dollars worth of computer equipment. And he was war-dialing... and in the days before "unlimited" calls per month, his parents never notice their bills...
Oh, and in the same time period, when most folks were *just* getting credit cards, and kids didn't get them, his 16 yr old girlfriend could pop what, many hundreds of dollars? A $kbuck, on airfare to fly them half-way across the US?
Right. Manhattan Project was *much* more believable... (Scene: the state science fair in NYC, other kids: hey, we get that you guys are in trouble, and we've put together what money we can all spare, which is enough to get you two bus tickets home to upstate NY.
mark "and people working for the DoD put huge back doors in mainframe code, during the Cold War...."
Back in the 1980's there was much more interest towards programming.
It was a topic taught in Elementary Schools, the general conception was the future of computing is where everyone will program the computer to their needs
I know precisely what killed that, and it was the introduction in the mid-1980s of home computers that run only applications approved by the computer's manufacturer. The biggest culprits were the North American version of the Atari 7800, whose IPL used an RSA signature to verify that Atari had approved the program, and the North American and European versions of the Nintendo Entertainment System, which used a pair of synchronized CICs (checking integrated circuits, essentially pseudorandom number generators implemented on microcontrollers) in the Control Deck and Game Pak to verify that Nintendo had approved manufacturing of the PCB. (Later consoles, such as Microsoft's Xbox and Nintendo's Wii, would use an elaboration of Atari's method.) These cryptographically enforced walled gardens helped to erode elementary school students' interest in programming.
It's implied in the film that he's somehow either passing the phone company the right signals to make his calls free, or he'd figured out how to places his calls through someone else's PBX. There's a line where Ally Sheedy sees the wardailer and says, like "Isn't that expensive," and he says, in so many words, "Oh there's ways around that!" She says, "you can go to jail," and he says, "Only if you're over 18!" The issue is lampshaded.
She only buys a ticket for him, she drives herself down from Seattle. As she says, "It's was only a three hour drive anyway!" She drives a motor scooter, she has a personal phone in her room in 1983, these would imply that her family is of means.
More or less believable that L'Affaire Snowden?
Don't blame me, I voted for Baltar.
A few years ago I was doing some development that involved AES encryption, and needed to create some test tools.
One evening I was watching some program about the misdeeds of some computer hacker, and the screen background was perl. It mentioned Crypt::Rijndael.
I had my test tool the next morning... :-)
...laura
Yeah, everyone knows that "Password123" is probably what will get you into most corporate systems.
And for govt nuclear weapons, the code is 123456.
From Ars Technica: "Well, for two decades, all the Minuteman nuclear missiles in the US used the same eight-digit numeric passcode to enable their warheads: 00000000. That fact, originally revealed in a column in 2004 by then-president of the Center for Defense Information Dr. Bruce G. Blair, a former US Air Force officer who manned Minuteman silos, was also mentioned in a paper by Steven M. Bellovin, a computer science professor at Columbia University who teaches security architecture. Both of these sources were cited this week in an article on the site Today I Found Out written by Karl Smallwood, as well as in an article in the UK's Daily Mail."
For examples, in two different films with Matthew Broderick, his modifying school records, assuming that he does indeed have credentials, is not implausible. In The Matrix Reloaded Trinity's hack is more realistic that most other movies.
In the original Terminator some 6502 code scrolled by. At the time a friend throughout he recognized it from the Apple DOS Read/Write Track Sector function.
While that sounds good, it really does not work that way.
There isn't really a 'permission granting' step when, say, exploiting some program. You typically 'just' get to run your code in the context of the exploited program. No permissions 'become available' or 'get lost' in the process, at least as far as the OS can tell.
Now if the vulnerability is know, you could program something like that around it -- but then you could just fix the vulnerability in the first place
CLI paste? paste.pr0.tips!
And the 3D file browser is an actual SGI program:
https://en.wikipedia.org/wiki/Fsn
I worked with a guy who in his younger days had a job maintaining those missiles. One day he told his supervisor he knew what the entry code to the bunker was going to be the next day (he was good with numbers) and wrote it down for him. The next morning my friend was escorted off the base and was not allowed to work on nuclear systems again.
One thing that always bugged me (heh, pardon the pun), is that every hacker A) typed perfectly, and B) never made a mistake.
Yes I know they just want to move the movie along, and yes occasionally they would insert a "Permission Denied", but those times where rather than running some predefined application they built in the past, but are doing some mad clickity-clacking on a keyboard to much dramatic effect, I would love to see a syntax error, or even just a debug based on a missed colon, comma, quote, or bracket which is impossible to find, and causes much swearing. It would make anyone that has ever coded anything giggle a little. You can even make it something obvious that the audience can figure out and feel all superior (which it usually is anyway to much chagrin). You don't have to waste a lot of time of the movie of the "hacker" blankly starting at the same code forever, just pan back for a second at a time to hear swearing, then back to others doing something else. You could also just insert a "2 hours later" text... :) Then have the next hacker that walks by spot it in 2 seconds, and then lord it over the poor wretch. Bonus points if you have the first hacker promise to do it in like 2 minutes easy.