Jump to content

6 posts in this topic

Recommended Posts

Posted

Intro:
There's a bunch of tries to to decrypting lua but none of it isnt clear enough how to do it. I'm aware that this approach isnt good enough, because too much step that you'll not need to do but i'm still write it instead. Code in this tutorial ofcourse just bunch of copy-pasta stackoverflow.

Prerequisites
1. Frida (optional)
2. Disassembler (IDA, r2, ..)
3. Python (optional) (I'll use python in this tutorial)
4. A little knowledge about this

What will you need to do?
1. Get the KEY for decryption,
2. Write a script for decryption,
3. Edit the lua (Self explanation),
4. Encrypt back the file (Self explaination) (Same as step 2, but you'll encrypt instead of decrypt),
5. PROFIT.

---- Step by step ----

Get the KEY for decryption
There's bunch of way to do it, some of them:
1. XREFS for XXTeaLuaLoader::setXXTeaKey(string), and you can see it clearly. Most used methods among many games.
nJX33Yr.png
2. Use Frida. I'll explain it on 2nd post.
3. http://forum.xda-developers.com/showthread.php?p=12853986#post12853986
4. etc.. You get the idea.

Write a script for decryption
This is an example of use for XXTEA encryption, requirements(xxtea-py)

 
Code (Text):





#!/usr/bin/env python
import xxtea

chiper = open("assets/script/fund.lua", "rb").read()

out = open("out.lua", "wb")

key = b'mrgj'

out.write(xxtea.encrypt(chiper, key))

out.close()END

Example of use of frida (https://github.com/antojoseph/frida-android-hooks)

As described here, 

Opening the lua files with hex editor reveals that they use XXTEA block cipher.

Analyze libjinqu.so and it blatantly shows the following decryption subroutines:
xxtea_decrypt
cocos2d::extra::CCCrypto::decryptXXTEA

Get a pseudocode generator and copy the program in C++.

. We need to put a hook either at xxtea_decrypt or cocos2d::extra::CCCrypto::decryptXXTEA. Then prints out the arguments passed.
We know that args[2] is the one holding the pointer to key from decompile xxtea_decrypt lib.so
Oh5SCFC.png 
Explaination, v9 is the one holding the chiper text, v30 chipertext len(?), v13 pointer to key, v14 is key.length.
Its obvious if we want to leak the key we need to print args[3] bytes at args[2]. This is an example of use for it.

 

#!/usr/bin/env python
import frida
import sys

package_name = "com.gamebau.pq"

def get_messages_from_js(message, data):
            print(message)

jsc = """
Interceptor.attach (Module.findExportByName( "libgame.so", "xxtea_decrypt"), {
    onEnter: function (args) {
        console.log("----------------BEGIN----------------");
        console.log(hexdump(Memory.readByteArray(args[2], 12),{
         offset: 0,
         length: 12,
         header: true,
         ansi: true
        }));
    },
    onLeave: function (retval) {
        console.log("Decrypt:");
        console.log(hexdump(Memory.readByteArray(retval, 16),{
         offset: 0,
         length: 16,
         header: true,
         ansi: true
        }));
        console.log("-----------------END-----------------");   
    }
});
"""

process = frida.get_usb_device().attach(package_name)
script = process.create_script(jsc)
script.on('message',get_messages_from_js)
script.load()
sys.stdin.read()

profit,
gohBm09.png
 
--Update, forgot to mention about this. Another note, some games tries to pack the assets with common file compressor. While loading it, it tries to unpack the assets on stream. As you can see on the image, its PK file header. With simple google search you can deduce its a zip alike compression. Try to extract the decrypted file with 7zip/Winrar/etc.. and you could see the unpacked file.

Image:
gohBm09.png
 
 
Credits: Wobm And Stack Overflow

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Our picks

    • Jacket Escape v1.1.0 [ +2 Cheats ] Currency Max
      Modded/Hacked App: Jacket Escape By 蕴绮 黄
      Bundle ID: com.simplegame.jetpack
      App Store Link: https://apps.apple.com/us/app/jacket-escape/id6450668807?uo=4

      🤩 Hack Features

      - Unlimited Coins
      - Bullet Size Max
      • 1 reply
    • Jacket Escape v1.1.0 [ +2 Jailed ] Currency Max
      Modded/Hacked App: Jacket Escape By 蕴绮 黄
      Bundle ID: com.simplegame.jetpack
      App Store Link: https://apps.apple.com/us/app/jacket-escape/id6450668807?uo=4

      🤩 Hack Features

      - Unlimited Coins
      - Bullet Size Max
      • 1 reply
    • Motor Capital v1.0.0 [ +1 Cheats ] Enough Resources
      Modded/Hacked App: Motor Capital By 24 HIT Riga SIA
      Bundle ID: com.motor.capital
      App Store Link: https://apps.apple.com/us/app/motor-capital/id6771701401?uo=4

      🤩 Hack Features

      Pre Activated
      - Enough Resources / Only Upgrades & Building Upgrade
      • 1 reply
    • Motor Capital v1.0.0 [ +1 Jailed ] Enough Resources
      Modded/Hacked App: Motor Capital By 24 HIT Riga SIA
      Bundle ID: com.motor.capital
      App Store Link: https://apps.apple.com/us/app/motor-capital/id6771701401?uo=4

      🤩 Hack Features

      Pre Activated
      - Enough Resources / Only Upgrades & Building Upgrade
      • 0 replies
    • SimCity BuildIt Cheats v1.79.0 +1 [ Freeze Currencies ]
      Modded/Hacked App: SimCity BuildIt By EA Swiss Sarl
      Bundle ID: com.ea.simcitymobile.bv
      iTunes Store Link: https://apps.apple.com/us/app/simcity-buildit/id913292932?uo=4


      Hack Features:
      - Infinite Currencies


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/124792-arm64-simcity-buildit-v1412-jailed-cheats-1/


      iOS Hack Download Link: https://iosgods.com/topic/157687-simcity-buildit-cheats-v1415-1/
        • Informative
        • Agree
        • Haha
        • Winner
        • Like
      • 744 replies
    • Shoot & Hide v1.5.3 [ +6 Cheats ] Currency Max
      Modded/Hacked App: Shoot & Hide By CRAZY LABS BY TABTALE , G.P.
      Bundle ID: com.sniper.shoot.hide.game
      App Store Link: https://apps.apple.com/us/app/shoot-hide/id6747033069?uo=4

      🤩 Hack Features

      Pre Activated
      - Currency Max / Earn Then Get
      - Trophies Max Earn Then Get
      - Heroes Unlocked / Linked Trophies
      - Location Unlocked / Linked Trophies
      - Merge Anything
      - HP MAX / ON When Enemy Turn After Disable
      • 5 replies
    • Shoot & Hide v1.5.3 [ +6 Jailed ] Currency Max
      Modded/Hacked App: Shoot & Hide By CRAZY LABS BY TABTALE , G.P.
      Bundle ID: com.sniper.shoot.hide.game
      App Store Link: https://apps.apple.com/us/app/shoot-hide/id6747033069?uo=4

      🤩 Hack Features

      Pre Activated
      - Currency Max / Earn Then Get
      - Trophies Max Earn Then Get
      - Heroes Unlocked / Linked Trophies
      - Location Unlocked / Linked Trophies
      - Merge Anything
      - HP MAX / ON When Enemy Turn After Disable
      • 1 reply
    • Real War: Survival Game v0.1.4 [ +4 APK MOD ] Troops Max
      Mod APK Game Name: Real War: Survival Game
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.zc.action.war.survival.game

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Max ATK
      • 3 replies
    • Real War: Survival Game v1.1.0 [ +4 Cheats ] Troops Max
      Modded/Hacked App: Real War: Survival Game By Rameez Rehmat
      Bundle ID: com.sku.action.war.survival.games
      App Store Link: https://apps.apple.com/us/app/real-war-survival-game/id6772532581?uo=4

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Custom ATK 
      • 1 reply
    • Real War: Survival Game v1.1.0 [ +4 Jailed ] Troops Max
      Modded/Hacked App: Real War: Survival Game By Rameez Rehmat
      Bundle ID: com.sku.action.war.survival.games
      App Store Link: https://apps.apple.com/us/app/real-war-survival-game/id6772532581?uo=4

      🤩 Hack Features

      - Auto ADS NO
      - Upgrade Cost 0 / Easy To Get Coins - ATK - Fire Rate
      ::::::: VIP :::::::
      - Unlimited Troops / Hit Damage Then Use It / Just Hit 🟢🔴 Then Work
      - Custom ATK 
      • 0 replies
    • DRAGON BALL Z DOKKAN BATTLE Japan (ドラゴンボールZ ドッカンバトル) v6.2.5 +7 Cheats!
      Modded/Hacked App: ドラゴンボールZ ドッカンバトル By BANDAI NAMCO Entertainment Inc.
      Bundle ID: jp.co.bandainamcogames.BNGI0211
      iTunes Link: https://itunes.apple.com/jp/app/ドラゴンボールz-ドッカンバトル/id951627670


      Hack Features
      - Unlimited HP  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Damage  -  (Put .0 at the back of your value: 1000.0)
      - Unlimited Defense  -  (Put .0 at the back of your value: 1000.0)
      - Dice Hack -  [ONLY RANGE BETWEEN 1 - 6 or it will crash]  -  (Put .0 at the back of your value: 4.0)
      - Dice Hack 1, 2, 3
      - Dice Hack 4, 5, 6
      - Auto Win Battles -> Disable if you get errors.
      PUT .0 at the back of all values!
        • Informative
        • Agree
        • Haha
        • Winner
        • Like
      • 8,075 replies
    • Mushroom War: Evolution TD v1.16.2 [ +8 APK MOD ] Currency Max
      Mod APK Game Name: Mushroom War: Evolution TD
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=rollingball.td.mushroom.warriors&hl=en

      🤩 Hack Features

      - ADS Skip Ticket Max / Rewards Free
      - Battle Food Speed
      ::::::: VIP :::::::
      - AI Freeze
      - Unlimited Gems
      - Unlimited Coins
      - Base HP MAX
      - Base HP Freeze
      - Hero HP Freeze
      • 1 reply
×
  • Create New...

Important Information

We would like to place cookies on your device to help make this website better. The website cannot give you the best user experience without cookies. You can accept or decline our cookies. You may also adjust your cookie settings. Privacy Policy - Guidelines