Presentation is loading. Please wait.

Presentation is loading. Please wait.

Cheaters Gonna Cheat Battling Fake High Scores Nataly Eliyahu CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015.

Similar presentations


Presentation on theme: "Cheaters Gonna Cheat Battling Fake High Scores Nataly Eliyahu CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015."— Presentation transcript:

1 Cheaters Gonna Cheat Battling Fake High Scores Nataly Eliyahu CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

2 Intro – About Me Freelance Game Developer (NatalyCreates) Indie Card Game and Video Game Designer Technological Unit Army Service Background in Security and Reverse Engineering nataly@natalycreates.com CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

3 What we’ll talk about Back and forth between developer and hacker Approaches and considerations for the developer Think like a hacker CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

4 Step 1 – Naive Score Saving Developer POV Save the score locally Use Player Preferences Hacker POV Rooted phone Use tool – Player Preferences Editor CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

5 Edit Preferences CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

6 Step 2 – Manipulate the Score Developer POV Encode the score (base64 / hex / custom encoding) Math manipulations Hacker POV Blackboxing Guessing Find the Pattern CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

7 Step 3 – Encrypt the Score Developer POV Encode the score (base64) Encrypt the score with a secret key (a string) Also: use an obfuscator on the compiled apk Hacker POV Decompile the apk, rename functions and organize code Find the encryption code to see which algorithms is used Find the string for the encryption key Decrypt and encrypt your own scores CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

8 Decompile APK CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

9 Decompile APK CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

10 Decompile APK CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

11 Step 4 – Non-standard encryption Developer POV Encode the score (base64) Encrypt the score with a secret key (a string) Change the code of the encryption function to non standard implementation Hacker POV Previous method fails! Score isn’t saved correctly with your script Read the encryption code Look for the differences from the standard implementation Alternative – use dynamic debugging CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

12 Step 5 – Server side Developer POV Encode the score (base64) Call a function on the server to encrypt and decrypt the score Secret key is no longer in the apk Always Online issue! Hacker POV Attack the server, look for loopholes Alternative - Use dynamic debugging, change the score in memory before it’s sent to the server CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

13 The Heuristics Approach Recognize suspicious scores Is the score possible in the amount of time the player played? Patterns in the score (apple = 5 points, banana = 3 points) Send constant updates on player status in the game CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

14 To Sum Up With enough determination, the hacker will always win But - if cheating at your game is really hard, most people won’t bother Going always online helps make it much harder to cheat, but at a cost for the majority of players Choose the most cost-effective solution depending on your game CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015

15 Questions? Contact me: nataly@natalycreates.comnataly@natalycreates.com Facebook: Nataly Eliyahu Twitter: @NatalyEliyahu CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015


Download ppt "Cheaters Gonna Cheat Battling Fake High Scores Nataly Eliyahu CASUAL CONNECT TEL AVIV 19 – 21 OCTOBER 2015."

Similar presentations


Ads by Google