Got another gameplay idea for hacking in The Peacenet - which is vaguely related to rainbow tables, except not really.
It’s called Scraping, or log scraping, memory scraping, password scraping, etc.
This is an ability that you unlock towards the middle of the game’s storyline. It comes in the form of a program.
What does Scraping do?
When you unlock the scraper, you’ll be able to use it to find text that looks like a password and automatically add it to your Rainbow Table.
Types of scrapers
The first scraper you get will simply take in a file, read it, and scrape it for passwords. This could be any text file - system logs, chat logs, etc. But it has to be a file. You’ll do it through
cat /some/file.txt | scrape.
Later on you’ll unlock the ability to scrape binary files (such as memory dumps). This will take longer, but it’ll be virtually the same as scraping a text file.
This is unlocked later in the game, and hooks into your Terminal’s Standard Output (what you see on-screen.) It’ll strip out things like color/control codes, and scrape the output stream for passwords. That way, any time something that looks like a password is seen in a terminal, it’ll be scraped.
This one is the last scraper you unlock, and it runs in the Peacegate kernel as a driver. It’ll hook into certain program GUIs such as your email viewer, text editor, chat, and other programs and it’ll search them for passwords to scrape.
Scrapers are a way to very easily pick up passwords as you play the game, so you don’t have to manually add them to your rainbow table.
A challenge for you real-life hackers…
The scraper system works in a certain way. We won’t tell you how it works, but treat this as a sort-of CTF… try and find out how it works, and how the game differentiates between regular text and something that looks like a password to it.
In this case, the flag is not in the game’s code, however the game’s code may help you greatly in finding the flag. I will give one final hint: The flag is sitting somewhere on your local system once you start playing the game. Good luck.