Show HN: Hacking slot machines with a buttonhole camera and brute-force search
github.com
github.com
The game cost $2 to play. It loosely followed the payout rules of the TV show "who want's to be a millionaire". There were about 10-12 levels and every 2-3 wins you'd get to a checkpoint where you could cash out or continue playing for more money.
Each level was slightly harder in difficulty/time with 3 "prize/payout" levels, which changed based on how much the machine had paid out recently. You could generally win anything from $10-$40 per play.
It had about 8 different games you could play (one being sports trivia). One of the games you could choose was "spot the difference" where you have 2 images side by side and you needed to touch the screen in a set amount of time to find the 5 differences.
The method my friend worked out to "hack" the machine was to cross his eyes and merge the 2 images into one, similar to the stereogram "Magic Eye" images you can find. By crossing his eyes and merging the images into a single one - the differences stood out really clearly.
This lasted a few months with him and his friends cashing in on all the machines in the area, whenever their prize level was high. Eventually the software company worked out there was a problem with that specific game and updated their software.
It didn't pay out as high on that game. And the top prize level had to be completed in under 2 seconds. Which when you're trying to press a not-so-great touch-screen 5 times in 2 seconds, was not possible as not all presses would register if you touched it really quickly.
Gaming / betting companies are pure evil.
The reasonable thing to do would be to disable that play mode altogether, not rig it.
I've learned a new party trick :D.
http://chris-knott.appspot.com/projects/word_soup.html
They are technically not gambling. There are two different regulations in the UK - Amusements With Prizes, which are random and you need to be 18+ to play, and Skills With Prizes which are technically skill games and you don't need to be 18 to play, or have a gambling license to run.
From https://www.gamblingcommission.gov.uk/for-gambling-businesse...:
"What is the maximum stake/prize on an SWP? As you don’t need a licence or permit there is no legal limit for stake or prizes.
However, it would be very difficult to manufacture a genuine SWP machine that is economically viable and offers prizes over £50 (the prize limit set by the industry trade body following discussion with us).
We would be likely to raise questions about machines with prizes above this range."
[1] http://www.gamesdatabase.org/game/arcade/american_poker_ii
I remember having read similar stories about slot machines in Germany.
Source: https://www.americancasinoguide.com/gambling-stories/costly-...
I remember some mafia guys came to me knowing I can replicate the hacked ROMs, so, I cloned it, but I also made a hard-to-notice mark so that I can identify these machine (well, it was an extra space in some text.) Well, unfortunately, I wasn't able to find one later, but I didn't look hard for one anyway.
My general impression is that being able to screenshot and use real computing power is a fair bit easier than using OCR on a Raspberry Pi, but question parsing and querying Google is a lot harder than using a static corpus of questions and answers.
And yes, it is easier to work with a screenshot than a grainy image of text produced by a camera.
[0]: https://applecrazy.github.io/blog/posts/protect-trivia-from-... [1]: https://hackernoon.com/i-hacked-hq-trivia-but-heres-how-they...
Edit: my HQ Trivia system was a simple 1-hour weekend project, so it is by no means perfect. Also, to prevent my Github from being taken down, none of the code is available.
Using machine learning to parse text helps, but it's still not a perfect solution.
You can directly connect to their websocket and get the text of the answers faster than they are displayed on the app.
In the US, this would generally not be called a "slot machine" - more like a bar trivia video game from what I can find, which most likely wouldn't pay out money. US casinos and slot developers are putting some skill-based elements in their machines, but those are generally added as bonus rounds to regular slot machines. In any case, using an electronic device on a casino floor is generally not a good idea in the US. For example, in Nevada,
"NRS 465.075 Use of device for calculating probabilities. It is unlawful for any person at a licensed gaming establishment to use, or possess with the intent to use, any device to assist:
1. In projecting the outcome of the game; 2. In keeping track of the cards played; 3. In analyzing the probability of the occurrence of an event relating to the game; or 4. In analyzing the strategy for playing or betting to be used in the game,
except as permitted by the Commission."
In practice there is some leeway on this - sitting at a video poker machine, nobody's likely to hassle you for looking up perfect strategy on your phone. On the other hand, most table games dealers will tell you to leave the table while using your phone. It's fine to have a paper card with blackjack basic strategy, but not to check the same information on your phone. But in any case, the rig described here is not going to be a good idea anywhere in the US I'm aware of, and that's assuming you can even find a skill-based machine with sufficient payouts to justify trying it.
https://github.com/tensor8/hacking_slot_machines/network/mem...
So it just ends up being luck really. They also pay out a fixed amount and the difficulty rapidly increases if you keep winning.
I mean, it doesn't much matter how these things are encrypted - since they have to be decrypted to display the questions and answers on-screen, the code and any necessary keys will be present in the game code. You'd only need to reverse engineer the ROM enough to know where the decryption code is, and invoke that code (or reverse it and write a compatible implementation). It just so happens that the encryption is weak enough here that reverse engineering is not required.
This kind of unlinked data leaks very fast, too: at my peak I had to top up with Anki for about 3 hours a day. I've forgotten almost all of it now.
A small consolation is that I can still tell you the 'exact number of gallons of water' in most major lakes.
I don't think there is such a thing.
I used to be pretty good at the WWTBAM pub machine. I am a pretty quick reader so could scan read and answer the question pretty much instantly if I knew it, managed to impress a few onlookers that way (slow readers no doubt) as it seemed almost supernatural to them. My one taste of what it would feel like to be a top sports person!
Another time the answer to a question was "West Ham" (the soi-disant football team), and I said to my pals "write down West Ham United, as this guy doesn't know anything about football and will surely insist upon it" ... and so it proved, despite howls of protest from other quizzers.
We do a different pub quiz now :)
What might they be? It seems to me perfectly ethical to fight back against the heavily stacked odds.
Using this is almost certainly illegal (cheating) in every jurisdiction, and could have significant penalties.
This video and the github repository itself could be a crime... teaching someone how to cheat using a cheating device. Heck even publicizing the video could get one sucked into the potential mess.
Intention may play a part (i.e. was there any criminal intent in making the video/code/etc). Would depend entirely on jurisdiction and the specifics of the legislation.
Sure... it's a fun/cool project with lots of tricky parts to get right/play with. But I think the author should exercise a bit more caution. If you need a lawyer to be sure that your project won't land you in jail... perhaps choosing a different project would be a good idea.
Plus the claim was:
> in every jurisdiction
Nevada has some of the most strict gambling laws in the world (and showing it is illegal in Nevada hasn't even been satisfied yet).
Alternatively...
There is a scene in the movie Casino where there are two guys collaborating and cheating at a table game. One of the internal security people dressed discretely in a suit walks up with a cattle prod.
It's a movie, that would never happen in any big casino (for one, way too many witnesses).
I will drop a message to my wider network and see if there is a section that could be interpreted to fit this situation.
Two issue would be:
1. Using a computer device to commit fraud. 2. Accessing the ROM which was digitally protected as well as not intended for general public consumption.
If you used this against a machine in the wild you're using the machine in the intended way. The access is authorised; there's no interdition to using reference sources.
It doesn't seem like a breech of UK CMA to me.
If the OP published the ROM then it's possibly copyright infringement.
Suppose that there is a game that produces random numbers and asks the player whether the next number will be odd or even. If the player guesses correctly he will gain a point and if he guesses wrong he will lose a point. Eventually the machine will pay some amount of cash for points collected. Now, it turns out that the machine happens to produce an odd number after each even number, and an even number after each odd number. If (and when) the player figures that out he can rack up points and get a good payout from the machine. Nobody would dare to accuse the player being a cheater because it's so plain obvious that the machine is just programmed in a stupid way.
Now, let's consider a game that is more complex but still simple enough that you could figure out the algorithm either in your head or by feeding a long enough sequence of the game state to a computer to be processed offline. Then after you've reverse-engineered the algorithm you can play it yourself and you'll know at least something that will happen in the game, ahead of the time. Time to cash the machine again. Is this still not cheating?
How about reading the machine's binary dump found on the internet and rebuilding the game algorithm that way, then abusing the knowledge for gains when playing the machine. Cheating or not cheating? Why? How complex the algorithm needs to be for beating it to be considered cheating? How would it matter where the understanding came from?
As in the article, if the game can be reduced to a database of a number of multiple-choice questions and the answer bit for each correct option, how much protection from "hacking" does the game enjoy and why? Especially if the questions could be answered by knowledge acquired from regular studies instead of reading them from the binary dump? How much complexity is required for this sort of protection? And how about different people considering the game's inner workings very complex vs rather simple? If for one an impenetrable oracle of quizzes is a simple exercise for some other, where does illegality come into play?
When does it become the loss of the game machine's owner or maker if we keep considering ever poorer and poorer implementations?
Sounds like counting cards. From Wikipedia, "Card counting is not illegal under British law, nor is it under federal, state, or local laws in the United States provided that no external card counting device or person assists the player in counting cards. Still, casinos object to the practice, and try to prevent it, banning players believed to be counters."
So you may not go to jail, but maybe you'll get shot in the back of the head
git clone and move on
especially if something looks hot and obviously won't be up for long. forks won't preserve it
(The user/submitter look to be anonymous)
[Plus I find I am not the first; including wording -- so weird...]
Speaking from experience: As a young and foolish lad I was once arrested and spent four days in the frigid Clark county detention center in Nevada for stealing a set of dice from an unattended craps table over a holiday weekend. I made it about five paces from the table before I was arrested by four guards.
An earlier attempt by Thorp (of "Beat the Dealer", probably the most famous blackjack counting book) and Claude Shannon (yes, that Claude Shannon) is covered in part of the book "Fortune's Formula".
[0] http://nautil.us/issue/50/emergence/claude-shannon-the-las-v...