A few days ago I posted a sample chapter of a computer textbook I have worked on. It is entitled ‘Linux, Programming and Hacking for Beginner’. I promised that every chapter would be accompanied by a section that shows how popular culture handles the topic. For the first chapter I had selected Tron Legacy and below you can read the result. If you think I made an error please be sure to use the comment section below to give feedback.
Tron Legacy command line
One of the ways that this textbook tries to keep you exploring Linux, programming and hacking is to analyze how they do it in popular culture such as movies. Software engineers and hackers have an affinity with movies, games and novels about science-fiction, spy craft and thrillers. To learn more about them you will better get to know the people working within Information Technology. Nearly each chapter has a concluding part that clarifies how Hollywood gets it right or wrong. A few other chapters will have short articles on a technical topic, They may not be necessary to understand what is written in this book but they might be interesting or helpful to know.
For the first chapter an analysis is made of the 2010 movie Tron Legacy from director Joseph Kosinsksi. You all know the setting. Grumpy middle aged guy just gets out of prison and decides to perform one last heist. He enlists the help of a crack team of hackers, lock pickers and scammers to get the job done. When the hackers try to get into the impossibly secure system they illogically use a GUI hacking tools. Such tools in real live either don’t exist or a watered down version intended for Script kiddies who can’t work with an actual command line. Not so in Tron Legacy! Granted it’s not a heist movie but the creative staff at least took the effort to make the use of computers as authentic as possible.
Tron legacy is the sequel to 1982 cult-classic Tron that starred Jeff Bridges as wiz programmer Kevin Flynn and Bruce Boxleitner as Alan Bradley. It was directed by Steven Lisberger. Both actors have returned for the sequel but it is Garrett Hedlund that takes the lead as Sam Flynn as he tries to uncover what happened to his father after he disappeared in 1989. Only Alan suspects that Kevin entered the computer world as he did in the first movie. At his father’s arcade Sam finds his father’s computer connected to the laser that allows him access into the digital world called the GRID.
Sam uncovers that his father’s alter ego CLU created for the GRID has betrayed him. Sam is rescued from CLU by Quorra (Olivia Wilde) who reunites him with his father. Together they battle CLU as he attempts to use the Laser to send an army into the real world. Kevin doesn’t make it out but Sam and Quorra do. Tron Legacy may not have been the runaway success hoped for but the movie is filled with hidden depths to the story. As I write this a third movie is scheduled to enter production with the principal cast set to return. It would be interesting to uncover how Olivia Wilde’s character Quorra would hack the real world.
The movie opens with a scene in which Sam tries steal to the new operating system from ENCOM of which he is majority shareholder. As the hack progresses Alan Bradley informs the board their OS is on the internet. Cillian Murphy’s character Edward Dillinger, Jr. (a reference to the first movie protagonist) tries to stop the hack. Below I will discuss with screenshots taken from the movie what he does. With your limited knowledge of the Linux CLI from just one chapter a lot should look familiar.
Dillinger has just typed in the following series of command on one line.
ps –ef | grep –I os12
The first part ‘ps –ef’ lists all processes then with the pipe ‘|’ the second part is fed as an argument. ‘grep –I os12’ will find all documents with string ‘os12’, the name of the operating system. So now Dillinger has found two such process. One with number ‘17319’ is the hack started by Sam while ‘18458’ is the command Dillinger started.
In the next screenshot Dillinger ends the hack by inputting
Kill -9 17319
The switch -9 ensures ‘execution’.
At Kevin Flynn’s arcade Sam attempts to figure out why Alan received a page that used a number disconnected for 20 years. With the command ‘history’ Sam Flynn tries to uncover the last thing that his father did on this particular machine before he disappeared.
As you can see the command on line 488 was a change directory command while 489 opened the LLSDLaserControl.c with the text editor vi, changes were made to the program but that is not evident from the command line history. On line 490 and 491 he uses the utility tool Make to compile all the files and turn them into executable files. One line 492 he runs the program sanity_check, on line 493 he runs configure, but makes alterations to it with vi on line 494. Finally on line 495 he uses vi to edit a file called last_will_and_testament.txt.
The command ‘ps’ on line 497 gives a snapshot of the current processes. The switches –a –x –u declare that all processes in the terminal including those of other users should be shown. Lines 498 and 499 shows examples of the kill command whereby processes are discontinued by the user. On line 500 the ‘ps’ command is once again run before Kevin Flynn updates the timestamps of all files in the folder /opt/LLL/run/ok. Finally on line 501 program LLSDLaserControl with the switches –ok 1 is run which allow Kevin to be transported onto the GRID.
There are also two other windows opens. The top one shows all running process such as Xorg and init while the bottom window reveals the operating system to be Sun Solaris (now run by Oracle) on a x86 system.
Although not many people know this the title Tron refers to the program Alan Bradley wrote in the first movie. Tron allowed for unscheduled process activity to be shut down and safeguard computer systems from a takeover. In the old dialects of BASIC the command you used to debug was TRON (an abbreviation of ‘TRace ON’). The command printed out the line number that the computer executed at that moment which allowed software engineers to trace events as they unfolded. The command TRON had an opposite with TROFF or ‘Trace OFF’ which would switch off tracing. Most modern version of BASIC such as Microsoft Visual BASIC no longer support TRON.
 Balagurusamy, E. (1997). Programming in BASIC. Tata McGraw-Hill
Thank you for reading this chapter supplement. I hope you enjoyed it. I will be posting more chapter for my textbook regularly as well chapters for my novel ‘A Day in the Future’ of which you can read the first 11 already here on scifiempire.net. This was Tron Legacy command line explained. Here is the PDF for those interested Tron Legacy command line explained