If you don’t mind, I’ll list everything in detailed steps.
Game:
• Zombie Shop V-0.21.1
Devices:
• iPhone X 13.3 UnC0Ver 7.0.0 JB
• ASUS ROG Laptop Win10 x64
Programs:
• IDA PRO 7.3
• iL2CPPDumper
• Notepad++
• LLDB
• 3uTools
• PuTTy
• iGameGod
• Filza
• NewTerm
• FlexDecrypt | CrackerXI
Sites:
• ArmConverter
• BinaryHexConverter
• Calculator-HexCalculator
——————————————
1. Gathering the necessary files.
• [iPhone] Launch CrackerXI —> Zombie Shop —> Full IPA
• [iPhone] Launch Filza (/var/mobile/Documents/CrackerXI) —> EXTRACT ZombieShop_0.21.1_Weiss
• Launch NewTerm —> flexdecrypt /var/mobile/Documents/CrackerXI/ZombieShop_0.21.1_Weiss/Payload/ZombieShop.app/Frameworks/UnityFramework.framework/UnityFramework
[[Cracked binary is in /tmp/UnityFramework]]
• [PC] — Launch 3uTools > Grab UnityFramework and place in Desktop Folder.
• [PC] Direct to ZombieShop.app > Data > Managed > Metadata > Grab global-metadata.dat and place in Desktop Folder.
——————————————
2. IDA Pro Portion
• [PC] Launch IDA Pro x64 > New > Select “UnityFramework” > Allow to fully load with “IDLE” is on the bottom left.
• [PC] Launch iL2CPPDumper > Select “UnityFramework” > Select “global-metadata.dat” > Allow to finish.
• [PC] Return to IDA Pro (Fully Loaded) > File > Script File... > IDA.py > Script.JSON
• [PC] Allow the script to fully finish until it says “IDLE” is on the bottom left.
——————————————
3. 3uTools / PuTTy / LLDB / Game Portion
• [iPhone] Open iGameGod and enable Zombie Shop.
• [iPhone] Launch Zombie Shop.
• [PC] Launch 3uTools > Toolbox > Open SSH Tunnel > SSH Client (PuTTy)
• [PC] In PuTTy > Type “lldb” > Type “attach ZombieShop”
• [PC] Game attaches successfully, the game freezes.
• [PC] In PuTTy > Type “image list ZombieShop” > Note the ASLR > Type “c” to continue process (unfreeze game).
• [iPhone] Use iGameGod to search values until I’m left with 1-2 (in my case, 3).
• [PC] In PuTTy > Type “process interrupt” (freezes game).
[[NOTE: Cannot create Watchpoints while the game’s running.]]
• [PC] Creates Watchpoints.
• [iPhone/PC] Changes the value > Trigger Watchpoints 1.
• [PC] In PuTTy > Type “register read” and copy the output into Notepad++ > Type “c” to proceed > Watchpoint 2 was trigger-ed > Type “register read” and copy the output into Notepad++.
• [PC] Acquired 2 IDA offsets > Removed ASLR using hex calculator.
• [PC/iPhone] Kept notes on money value and converted using decimal to hex.
• [PC] Searched for the converted value in the register read outputs and found a match in watchpoint 1.
• [PC] Returned to IDA > Press “G” > Inserts Address (ASLR REMOVED ONE)
——————————————
[[ENCOUNTERS ERROR]]
• Command “JumpAsk” Failed
——————————————
Hopefully you could help spot the issue this way!