Jump to content

Learn how to hack games with IDA, CodeInject and HooKfunction (with example!)


132 posts in this topic

Recommended Posts

Updated (edited)
Hello there:)
Today I want to tell you about Code Inject and MSHook Hacking.
I will explain with a practical example for clarity!
I thank this community and leave this guide. 
Thank you!
 
✔Requirements
Spoiler
IDA PRO
Knowledge about C++ 
 
✔Binary
Spoiler
1.Add this repo http://cydia.iphonecake.com/
2.Install CrackerXI.
3.Turn on all in Settings.
4.Slect app which you want to get binary in Applist.
5.It will save to /var/mobile/Documents/CrackerXI
 
✔Note about Tweak.xm
Spoiler
The latest version of Theos uses Tweak.x instead of Tweak.xm.
These differences are explained at this page:
This can cause errors when compiling code found on the net. (In my case when compiling the code for PrefBundle)
So follow this:
1.Change name from Tweak.x to Tweak.xm
2.Change <ProjectName> _FILES = Tweak.x to <ProjectName> _FILES = Tweak.xm in Makefile.
 
✔ASLR Slide
Spoiler

There is ASLR slide is ARM64 binary, so IDA offset and actual binary offset are shifted by ASLR value.

※You can give IDA offset to vm_WriteData because ASLR considered Automatically in vm_WriteData.h
#import <mach-o/dyld.h>
uint64_t getRealOffset(uint64_t offset){
return _dyld_get_image_vmaddr_slide(0)+offset;
}

✔ARM Insructions

Spoiler

Load

MOV r0, r1 
Move the value of r1 to r0
LDR r0, [r1]
Load from memory r1 to register r0
STR r0, [r1]
Store the value of r0 into r1
Store memory r1 with value of register r0 
 
Branch
Compare previous CMP values
BEQ label
jump to label if values are equal
BNE label
jump to label if values are not equal
etc...
CBZ r0, label
jump to label if r0 is 0
CBNZ r0, label
jump to label if r0 is not 0

 

 
✔CodeInject
Spoiler

Place vm_WriteData.h in your project.

And add this to beginning of the code  
#import <vm_writeData.h>
 
Identify the part to change
1.Change the return value
Look at the processing at the bottom of the function (the part load to X0)
MOV X0, 100
2.Change branch
BEQ X0, label
Change the branch to always jump to any label:
B X0, label (BAL is also ok)
Change the branch to never jump to any label:
NOP
Convert to Hex
1.Load
2.Branch
Enter ARM instruction and copy ARM64 HEX.
Apply Changes
vm_WriteData(0x100000000, 0x00000000);
Change the memory starting from 0x100000000 to 00000000.
 
Ex1:Change instruction to change damage
Spoiler

Hidden Content

React or reply to this topic to see the hidden content & download link. 👀

Ex2:Change branch to change accuracy of weapon

Spoiler

Hidden Content

React or reply to this topic to see the hidden content & download link. 👀

Where should I actually write

Spoiler

It is good to write in %ctor. You can write it like this:

#import <vm_writeData.h>
%ctor {
  vm_WriteData(0x1002B55D8, 0x953E80D2);
}
 
✔MS(Object-C func)
Spoiler

Class name depends on the game Use class name which has applicationDidBecomeActive method!

(Easy to find on Flex)
%hook AppController // class name
-(void)applicationDidBecomeActive:(id)argument { // (type od return value) and method name and (type of argument)
    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"test" message:@"Detected App opened!" delegate:nil cancelButtonTitle:@"Continue" otherButtonTitles:nil];
    [alert show];
    return %orig(argument);
}
%end
%orig holds the original function. Since we only want to add processing, we also call the original function.
※You can change the process by changing the argument.
This way is only available for Object-C functions, so if you want to hook a native function you can see in IDA and use MSHook!
 
✔MSHook(Native func)
Spoiler

Import substrate at beginning of code.

#import <substrate.h>
Hook function with offset
MSHookFunction((void *)getRealOffset(0x100000000), (void *)func, (void **)&org_func);
func
func - Function that has a process that you want to overwrite.
org_func - Function that keeps the original processing.
Since MSHookFuntion's void is cast and passed to void type, it is always void.
argument
Be sure to include this pointer first.
 
Ex1:Increase Damage
Spoiler

Hidden Content

React or reply to this topic to see the hidden content & download link. 👀

 

✔NSLog

Spoiler

To check NSLog on a device.

Add Flexing from the BigBoss repository.
You can display the log by pressing and holding three fingers on the application you want to see logs.
It can be used by tapping System Log and enabling it from Setting in the upper right.
NSLog(@"Your Log Text Here");
To display argument values:
%d int
%f float
%c unsigned char
%hi short
 
Ex:Display argument values
Spoiler

You can add it in the function definition that overrides like this.

int getDamage(void* this_, void* UserInfor, unsigned char arg0, float arg1) {
  NSLog(@"getDamage Called! arg0: %c, arg1: %f", arg0, arg1);
  return org_getDamage(this_, UserInfor, arg0, arg1);
}
 
✔Call the native func
 
Ex:Call a function to get user information
Spoiler

Hidden Content

React or reply to this topic to see the hidden content & download link. 👀

✔PrefBundle

Spoiler

https://iosgods.com/topic/444-tutorial-how-to-make-a-preference-bundle/

You can learn about PredBundle easily from the link above.
I only mention here how to add icons.
How to add icons
Add icon.png file to <project>/<prefbundl_project>/Resources/
You have to export with these size:
> icon.png - 29×29
[email protected] - 58×58
[email protected] - 87×87
You can export icon in here: https://appiconmaker.co/
 
p.s. A knowledgeable person would think why I don't talk about debuggers. Unfortunately gdb is displayed as BadCPUType in my environment and watch-point does not work properly in lldb.
Here are some great tutorials if you are interested in them:
 
If there are any mistakes please point in reply !
Enjoy :)
Updated by princessXZ
some stuff
  • Like 281
  • Winner 22
  • Thanks 26
  • Haha 6
  • Agree 9
  • Informative 21
Posted
7 hours ago, mafusuke said:
STR r0, [r1]
Load the value of r0 into r1

Nicely written, note thought that STR stands for store, so it's storing it.
Generally, LDR is used to load something from memory to a register, and STR is used to store something from a register to a memory address.

Posted
3 hours ago, Ted2 said:

Nicely written, note thought that STR stands for store, so it's storing it.
Generally, LDR is used to load something from memory to a register, and STR is used to store something from a register to a memory address.

Thank you! I'll fix that 🙂

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

    • Mimo: Learn Coding/Programming (Auto Update) Jailed Mod +1
      Modded/Hacked App: Mimo: Learn to Code By Mimohello GmbH
      Bundle ID: com.getmimo.mimo
      iTunes Store Link: https://itunes.apple.com/us/app/mimo-learn-to-code/id1133960732?mt=8&uo=4&at=1010lce4


      Hack Features:
      - Premium
      - All Chapters Unlocked
       

      Hack Download Link: https://iosgods.com/topic/68649-arm64-mimo-learn-to-code-v312-jailed-mod-2/


      Credits:
      - @Laxus
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,234 replies
    • Into The Dead 2 Cheats v1.83.0 +11
      Modded/Hacked App: Into the Dead 2 By Prodigy Design Limited T/A Sidhe Interactive
      Bundle ID: com.pikpok.dr2.iosstore
      iTunes Store Link: https://itunes.apple.com/us/app/into-the-dead-2/id1151220243?mt=8&uo=4&at=1010lce4



      Hack Features:
      - Infinite Ammo
      - No Reload
      - One Shot Kill
      - Infinite Grenade
      - No Grenade Cooldown
      - Insane Explotion Radius after Throw Grenade
      - No Collision (God Mode)
      - Infinite Stamnia
      - ViP Services
      - Infinite Silver
      - Infinite Gold


      Hack Download Link: https://iosgods.com/topic/73337-arm64-into-the-dead-2-cheats-v1141-11/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 1,592 replies
    • War Inc: Rising v0.8.5 Jailed Cheats +3
      Modded/Hacked App: War Inc: Rising By SamShui Corporation
      Bundle ID: com.i89trillion.strategy.rising
      App Store Link: https://apps.apple.com/us/app/war-inc-rising/id6747767390?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - God Mode
      - One Hit Kill
      - Auto Win

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/202371-war-inc-rising-v080-jailed-cheats-3/
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 19 replies
    • FarmVille 2: Country Escape Cheats v29.5 +1
      Modded/Hacked App: FarmVille 2: Country Escape by Zynga Inc.
      Bundle ID: com.zynga.FarmVille2CountryEscape
      iTunes Store Link: https://apps.apple.com/us/app/farmville-2-country-escape/id824318267?uo=4&at=1010lce4


      Hack Features:
      - Freeze Key


      iOS Hack Download Link: https://iosgods.com/topic/101607-arm64-farmville-2-country-escape-cheats-v1263984-1/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 2,036 replies
    • Candy Crush Soda Saga v1.313.3 Jailed Cheats +3
      Modded/Hacked App: Candy Crush Soda Saga By King.com Limited
      Bundle ID: com.midasplayer.apps.candycrushsodasaga
      iTunes Store Link: https://apps.apple.com/us/app/candy-crush-soda-saga/id850417475?uo=4

       

      🔧 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🚀 Hack Features

      - Freeze Moves
      - Freeze Lives
      - Freeze Boosters


      📥 iOS Hack Download IPA Link: https://iosgods.com/topic/191667-candy-crush-soda-saga-v12915-jailed-cheats-3/
        • Informative
        • Haha
        • Winner
        • Like
      • 47 replies
    • June’s Journey: Hidden Objects Cheats v3.55.5 +2
      Modded/Hacked App: June’s Journey: Hidden Objects By wooga gmbh
      Bundle ID: net.wooga.junes-journey-hidden-object-mystery-game
      iTunes Store Link: https://apps.apple.com/us/app/junes-journey-hidden-objects/id1200391796?uo=4


      Mod Requirements:
      - Jailbroken iPhone/iPad/iPod Touch.
      - iGameGod / Filza / iMazing or any other file managers for iOS.
      - Cydia Substrate, Substitute or libhooker depending on your jailbreak.
      - PreferenceLoader (from Cydia, Sileo or Zebra).


      Hack Features:
      - Infinite Currencies
      - Instant Hint


      iOS Hack Download Link: https://iosgods.com/topic/176105-june%E2%80%99s-journey-hidden-objects-cheats-v3534-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 74 replies
    • Family Guy The Quest for Stuff v8.0.2 Jailed Cheats +4
      Modded/Hacked App: Family Guy The Quest for Stuff by TinyCo, Inc.
      Bundle ID: com.tinycorp.familyguy
      iTunes Store Link: https://itunes.apple.com/us/app/family-guy-the-quest-for-stuff/id838500730?mt=8&uo=4&at=1010lce4


      Mod Requirements:
      - Jailbroken or Non-Jailbroken iPhone/iPad/iPod Touch.
      - Cydia Impactor.
      - A Computer Running Windows/Mac/Linux.





      Hack Features:
      - Free Store
      - Free Premium Items
      - Free Speed Up for Character Action
      - Free Speed Up for Unlock District/Block
      - Free Rent Speed Up
      - Instant Build Time
      - Unlock All Items


      Jailbreak required hack(s): https://iosgods.com/forum/5-game-cheats-hack-requests/
      Modded Android APK(s): https://iosgods.com/forum/68-android-section/
      For more fun, check out the Club(s): https://iosgods.com/clubs/


      Hack Download Link:

      Hidden Content

      Download from the iOSGods App








      Installation Instructions:
      STEP 1: If necessary, uninstall the app if you have it installed on your iDevice. Some hacked IPAs will install as a duplicate app. Make sure to back it up so you don't lose your progress.
      STEP 2: Download the pre-hacked .IPA file from the link above to your computer.
      STEP 3: Download Cydia Impactor and extract the archive.
      STEP 4: Open/Run Cydia Impactor on your computer then connect your iOS Device and wait until your device name shows up on Cydia Impactor.
      STEP 5: Once your iDevice appears, drag the modded .IPA file you downloaded and drop it inside the Cydia Impactor application.
      STEP 6: You will now be asked to enter your iTunes/Apple ID email login & then your password. Go ahead and enter the required information..
      STEP 7: Wait for Cydia Impactor to finish sideloading/installing the hacked IPA.
      STEP 8: Once the installation is complete and you see the app on your Home Screen, you will now need to go to your Settings -> General -> Profiles & Device Management. Once there, tap on the email you entered from step 6, and then tap on 'Trust [email protected]'.
      STEP 9: Now go to your Home Screen and open the newly installed app and everything should work fine. You may need to follow further instructions inside the hack's popup in-game.
      NOTE: For free Apple Developer accounts you will need to repeat this process every 7 days. Using a disposable Apple ID for this process is suggested but not required. Jailbroken iDevices can skip using Cydia Impactor and just install the IPA mod with AppSync & IPA Installer (or alternatives) from Cydia. If you have any questions or problems, read our Cydia Impactor topic and if you don't find a solution, post your issue down below and we'll do our best to help! If the hack does work for you, post your feedback below and help out other fellow members that are encountering issues.


      Credits:
      - @ZahirSher


      Cheat Video/Screenshots:
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 725 replies
    • SuperStar SMTOWN Cheats v3.30.0 +3
      Modded/Hacked App: SuperStar SMTOWN By Dalcomsoft Inc.
      Bundle ID: kr.co.dalcomsoft.superstar.i
      iTunes Store Link: https://apps.apple.com/us/app/superstar-smtown/id890937532?uo=4


      Hack Features:
      - Auto Dance
      - Never Lose Combo


      iOS Hack Download Link: https://iosgods.com/topic/161038-superstar-smtown-cheats-v378-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 211 replies
    • Bloons Monkey City v1.13.1 Jailed Cheats +1
      Modded/Hacked App: Bloons Monkey City By Ninja Kiwi Limited
      Bundle ID: com.ninjakiwi.monkeycity
      App Store Link: https://apps.apple.com/us/app/bloons-monkey-city/id918037679?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - Free iAP (Turn on inside iOSGods Menu first)

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/86647-bloons-monkey-city-v1131-jailed-cheats-1/
        • Thanks
        • Winner
        • Like
      • 103 replies
    • Candy Crush Jelly Saga Cheats v4.9.0.0 +2
      Modded/Hacked App: Candy Crush Jelly Saga By King.com Limited
      Bundle ID: com.midasplayer.apps.candycrushjellysaga1
      App Store Link: https://apps.apple.com/us/app/candy-crush-jelly-saga/id1047246341?uo=4

       

      📌 Mod Requirements

      - Jailbroken iPhone or iPad.
      - iGameGod / Filza / iMazing.
      - Cydia Substrate, ElleKit, Substitute or libhooker depending on your jailbreak (from Sileo, Cydia or Zebra).

       

      🤩 Hack Features

      - Freeze Booster
      - Freeze Hammer

      *Both included in 1 switch

       

      Non-Jailbroken Hack: https://iosgods.com/topic/78896-candy-crush-jelly-saga-v4400-jailed-cheats-1/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/72402-candy-crush-jelly-saga-cheats-v4400-2/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 209 replies
    • Case Opener - skins simulator Cheats (Auto Update) +1
      Modded/Hacked App: Case Opener - skins simulator by Jakub Pokorski
      Bundle ID: com.efezgames.caseopener
      iTunes Store Link: https://apps.apple.com/us/app/case-opener-skins-simulator/id1136216476?uo=4&at=1010lce4


      Hack Features:
      - Infinite Coins

      NOTE: Most things are server-side so don't request. Even Premium case


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/129456-arm64-case-opener-skins-simulator-v230-jailed-cheats-1/


      iOS Hack Download Link: https://iosgods.com/topic/129454-arm64-case-opener-skins-simulator-cheats-all-versions-1/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 265 replies
    • Angry Birds Dream Blast v1.103.0 Jailed Cheats +3
      Modded/Hacked App: Angry Birds Dream Blast By Rovio Entertainment Oyj
      Bundle ID: com.rovio.dream
      iTunes Store Link: https://apps.apple.com/us/app/angry-birds-dream-blast/id1432579280?uo=4

       

      📌 Mod Requirements

      - Non-Jailbroken/Jailed or Jailbroken iPhone or iPad.
      - Sideloadly or alternatives.
      - Computer running Windows/macOS/Linux with iTunes installed.

       

      🤩 Hack Features

      - Infinite Moves
      - Infinite Lives
      - Infinite Boosters

      Jailbroken Version: https://iosgods.com/topic/149684-angry-birds-dream-blast-cheats-all-versions-3/


      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/149687-angry-birds-dream-blast-v1810-jailed-cheats-3/
        • Informative
        • Agree
        • Haha
        • Thanks
        • Winner
        • Like
      • 71 replies
×
  • 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