Universal Paperclips is a javascript game which runs in your web browser. The task of the game is to get control over the earth producing paper clips. Unfortunately, the game has some traps which prevent you from further progress. The overcome this you can use the hacking how-to from my article. To execute this steps you do not need anything more than your web browser.

Am I allowed to call it "hacking"?

The steps I describe below are extremely easy, this is why I do not like to call it "hacking" maybe debugging or simply modifying are the better words. The important point to make the modification possible is the fact that the game is running in your browser without any permanent connection to a server to store any data there. Knowing what javascript is doing with an HTML page is a good starting point to understand the hack. From the very simple perspective, javascript is manipulating your HTML document, nothing else. Therefore there must be some variables in javascript which holds the values of the game and are mapped to HTML objects. Ok, let's go hack.

1. Start the Game

Start the game going to Universal Paperlip. It is not important to have a blank site of the game, you can also use your current state. Start the game

Coursera CS

2. Open "Developer Tools"

Switch on the development tools in your browser. I use the chrome browser for daily work, this is why all of the steps you have here are showing the chrome browser. But the steps shall work in the same manner also for Firefox, development tools and a javascript console is also available there. Developer Tools

3. Identify your Victim

Now use the "Inspect" tool from the development tools to identify the properties of your "victim" value. In my example I choose the amount of the paperclips we have already produced, the value is not very useful in the game but it is very good for the demonstration. Victim

As you can see on the image, the ID of the HTML object which shows the amount of the clips is clips, my assumption is that the variable holding the number has the same name, which is exactly the case in universal paperclips. If this is not the case there is a little more knowledge required to identify the position in the javascript code where the object with the required ID is modified and find out which variable shall be "hacked". Here is a list of variable name to play around for the beginning

  • unsoldClips
  • funds
  • marketingLvl

Deep Learning Specialization on Coursera

4. Modify

Here comes the hack. Open the console tab in the development tools type in the name of the variable and hit enter. You should now see the current value of the variable if you now type in variable name equals and a value, you can modify the value.

Hack

Please note some of the variables are not updated on the fly or are protected by the game logic (e.g. a comparison in between of two values), just play around

5. Be Bored

Now as you know how to modify all the values the game will be boring, you can forget it and do some productive stuff. Have fun! Bored

Data Science 728 x 90

Update : Restart universal paperclips

I've received multiple requests on how to restart universal paperclips. You have just to delete all local application data. Here is the guide for Chrome Browser.

  1. Switch on "Developer Tools" via "Ctrl+Shift+I" having the Universal Paperclips Website open
  2. Go to the "Application" Tab
  3. Select the "Clear Storage" Section and check all storage types
  4. Click "Clear Site Data"
  5. Reload the page "Ctrl+R"

How to Restart Universal Paperclips

Learn Hacking

Are you motivated to unlock hidden functions and opportunities in games, programs, web application and want to learn more, there are a lot of free online cybersecurity trainings available. Check my article Hacking, top 5 free cyber security training sources for an overview of the best sources.

There a also a lot of good books on the market here are some popular examples

Example 1 Example 2 Example 3
Get it on Amazon Get it on Amazon Get it on Amazon

Next Post Previous Post