Jump to content

[IDA Tutorial]How to hack with strings


1,698 posts in this topic

Recommended Posts

Posted

I've really been wanting to make this tutorial for a long time but have never gotten around to it. But it's 11:09 and my parents are in bed so I can make this now :p

 

I'm going to be providing the site with more things, like tutorials and templates, but not so much hacks. Hacking has gotten so dull recently it's the same thing over and over and over again and I'm done with the stress.

 

I will be using Blitz Brigade for this tutorial because it is a great game for beginners to start learning strings. I know this binary is not the current version, but the strings are the same and the functions look more or less the same.

 

Requirements:

- A good grip on arm assembly. Do NOT go into this knowing nothing and then expect me to help you.

- IDA Pro

- Blitz Brigade

- A freaking brain and an IQ of at least 50

 

For this tutorial, we will be hacking ammo and invisible actions.

 

Hidden Content

    To hack with strings you have to know how to open the strings subview in IDA. Go to View -> Open Subviews -> Strings.

     

    t0HjIJh.png

     

    IDA will take a few seconds to get that loaded up, and after it loads, you'll want to sort them in alphabetical order.

     

    2VryjQj.png

     

    Then create a quick filter so that you can search. To create a quick filter, right click and then click "quick filter". I don't think you guys need a picture for that :p

     

    Now you'll search for ammo. Type "ammo" (without the quotes, always type everything without the quotes) and you should see a ton of results pop up.

     

    XNAcavI.png

     

    Don't be scared. It's normal for that many to pop up. When you first heard strings, did you think that we actually mod the string itself? No we don't. If it was that easy, everyone would be able to hack like this. Instead, the strings in a game are either useful or useless. Useful strings point to useful functions that actually handle what the string describes. Useless strings don't relate to anything and usually point to functions that I like to call "essential NPC's". Or they will point to completely different functions than what you wanted to hack. Anyway, an NPC is a character in a video game that NEEDS to be there or else the whole game breaks. Can you see where I am going from here? If you get a string that points to an essential NPC, and you mod that NPC, the game will crash.

     

    Let's try some of these results!

     

    In some cases, the most useless-looking strings are the useful ones, always remember that. Try every single string because you never can truly know if it will be useful or not.

     

    To select a string, double click on it. You will then be presented with a window that has a ton of strings listed. Thankfully for us, IDA will highlight the one that you just double clicked. After that, you want to right-click on the highlighted string and then click "jump to xref to operand". When you click that, you'll see a box with however many times the string occurs in the binary. It could be anywere from one to one thousand times the string occurs in the binary.

     

    The first string I tried was POPOUT_AMMO. POPOUT to me could mean the ammo label popping out from the background of the game into the foreground so that you can actually see how much ammo you have once the level loads.

     

    I right clicked and xref'ed to where the string was occuring and wow, this does not look useful at all.

     

    OycT8yi.png

     

    These strings have no useful functions near them, and not only that, they have NO functions near them. Plus, they are all the way out in the 0xAyyyyy (y being a variable) range. If you see any string that goes to a spot in the binary that looks like this, its useless.

     

    Let's try another string. This time we will be doing Ammopack.

     

    Ammopack could refer to an item that you can buy that gives ammo, the amount of an item that you have that gives ammo, or just simply your ammo. Double click on the string and bring up the xref dialouge box. 

     

    SWUH1BZ.png

     

    Huh, looks like there are two occurences! "But wait shmoo, aren't there four? Are you blind?" Yes, you are right, there are four separate spots where it occurs. But in reality, there is only two. Why? Because, if the same string has two places where it shows up that are eight or ten bytes away from each other, you count that as one whole occurence of that particular string. As you can see in the picture above, each occurence of the string has an eight byte differences between the two.

     

    In hex, A=10 and 2=2. What is 10-2? 8.

     

    In the second occurence, what is 8-0? 8.

     

    You see what I am saying.

     

    Let's try the first occurence.

     

    EhrWzUN.png

     

    Alright, stuff we can work with! Like I said in the beginning of the tutorial, hacking with strings means that you hack the functions near the string, not the string itself. You should know by now that functions always start with sub_, but they can also rarely start with loc_.

     

    Let's try the two that occur above the string, sub_2AB7B8. Double click on it so that IDA will bring you to it.

     

    5mfAmkL.png

     

    Oh no. This doesn't look good. This function is far too small to actually do anything useful and it has 569 xrefs. That means that the game uses sub_2AB7B8 569 times for 569 different things. Looks like an essential NPC to me. To see how many xrefs a function has, you right click the function name (it is highlighted in the picture above) and then you click "jump to xref to operand".

     

    JIP8YRL.png

     

    Let's try the function directly below it, sub_2AC254. Double click on it to bring it up. Let's check how many xrefs this function has. It has 127. That's a little high, but let's look at it some more. Oh no. This function calls strcmp two times to do something. Everytime you see a function that calls strcmp, srand, time, rand, etc, will be useless, at least in my experience. rand might be useful, but the only time it was useful for me was when I was hacking Modern Combat 3 and every useful function had it.

     

    So that function is a no.

     

    WFujhio.png

     

    Go back to where the string was, and little bit below it, there is a function called sub_2ADCD0. Double click it to bring it up. Right off the bat we see that this function calls time. It's a useless function.

     

    Finally, before calling it quits with this string, try the one a little bit below sub_2ADCD0, sub_50070.

     

    wL9CvK8.png

     

    Wow, holy crap that is an ugly function. As always, let's check the amount of xrefs before we do anything. There are 1104 xrefs to this function. This games uses this function 1104 times for 1104 different things. No way this is useful to us.

     

    The second occurence to Ammopack has only two functions near it: sub_2BEBA4, which looks exactily like sub_50070, and sub_2C00E8, which calls two of the functions that we previously determined useless.

     

    Ammopack is a useless string.

     

    Go back to the strings window. Let's try ammo_server. Double click the string and xref it.

     

    IJrU5B1.png

     

    There is no way this could ever be useful. For starters, this function contains many other strings such as speed, ammo_client, cheat_type, map, etc. Then it calls not only the same function, sub_81788 over and over again, but it also branches to "that very long function in the blue text" over and over again. I call it "the very long function in the blue text" because I don't know what else to call it :p

     

    ammo_server is a useless string.

     

    Go back to the strings window. Let's try ammo_clipsize. Xref it.

     

    QIRFApA.png

     

    I want to first make something clear before we continue. Any function that starts with sub_7 is useless. Don't even think about modding it, because the game will crash.

     

    But look, in between all of the useless functions, there is a function called sub_3094A4. Huh, why would that be there? Let's check it out.

     

    x3Tqwq3.png

     

    As always, check how many xrefs there are. Only 27! A good sign. A useful function will generally have about 3-40 xrefs. And this function also looks very distinct from all the others that we have looked at, and the functions around it look similar and they all call the same function. Size looks great too!

     

    Guess what, this function is the ammo function, meaning that the string ammo_clipsize is a useful string! When you BX LR this function, and reload the level, you ammo will become infinite. Also, if you mod the function being called inside of it, you'll get the ultrahack.

     

    Congradulations, you have just modded Blitz Brigade ammo without the need for watchpoints or iGameGuardian!

     

    I'd like to point out that sometimes developers will leave messages in their games that they use to troubleshoot problems with. One example could be "CHelicopterPhysicsComponent::Update - playerId not found!!" or "GameMpManager::GetClassFromPlayerDetails player %d not found". Stuff like that. The functions that contain the strings are the ones you want to mod because that function would be printing that error message if you were a Gameloft employee making and debugging the game.

     

    Gameloft, with the genius that it is, left a string that allows you to be invisible on multiplayer. They left in a string called "MP_ClientSendPositionsMessage: m_playerPositions memory overflow". Why they left that in is beyond me but it allows invisibility.

     

    Xref to that string, and the function you will be in is sub_22C63C. To achieve invisible actions, you have to BX LR that function. Why? Read the string. "SendPositions". When you BX LR that function, your device won't be able to send you position to the multiplayer server that would normally allow other people to see you. 

     

    You have just gotten an invisibility hack on Blitz Brigade!

     

    Blitz Brigade is by far the best game to practice with if you want to learn strings. No other Gameloft game is like this. If you've mastered this game, don't think that you can go hack MC5 or DH5 because while those do have strings, it's much more complex than this. This is as basic as it gets.

     

    -----------

     

    Hacking with strings is an incredibly efficient way to hack once you get good at it. Practice some more with Blitz Brigade, and see how many features of the 16 that I got in my hack for 2.1.0 that you can get. I got all those features with strings. Good luck! And I hope you found this helpful. Expect more tutorials. :)

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

    • Tiny Dungeon Warriors v0.1.126 [ +9 APK MOD ] Currency Max
      Mod APK Game Name: Tiny Dungeon Warriors
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.badmonkee.wdlp&hl=en

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Coins
      - Unlimited Books
      - Unlimited Food / Unlimited Trop Easy To Win
      - Skill Learn Cost 0
      - Food UP Cost 0
      - Base UP Cost 0
      - Unlimited Battle Items
      - DMG / Linked / Unlimited Trop Easy To Win
      • 0 replies
    • (18+) Eros Raiders v1.2.65 +2 Cheats
      Mod APK Game Name: Eros Raiders By EroLabs
      Rooted Device: Not Required.
      Google Play Store Link: https://18game.ero-labs.club/game.html?id=132

       

      🤩 Hack Features

      - Damage Multiplier
      - Defense Muliplier

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
        • Winner
      • 0 replies
    • Super Hero Ready! v1.0 [ +3 APK MOD ] Currency Max
      Mod APK Game Name: Super Hero Ready
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.RonixGames.Super.Hero.Ready&hl=en

      🤩 Hack Features

      - Unlimited Gems / Use Then Get
      - Unlimited Coins / Use Then Get
      - Unlimited Skill Token / Use Then Get
      • 0 replies
    • Zombie Blast - Link Match v3.4.16 [ +3 Cheats ] Auto Win
      Modded/Hacked App: Zombie Blast - Link Match By SNG Bilisim Yazilim Danismanlik ve Pazarlama Dis Ticaret Ltd. Sti.
      Bundle ID: com.sngict.zblast
      App Store Link: https://apps.apple.com/us/app/zombie-blast-link-match/id1549172917?uo=4

      🤩 Hack Features

      - Auto Win
      - Hero HP Max
      - Hero ATK Max
        • Like
      • 2 replies
    • Zombie Blast - Link Match v3.4.16 [ +3 Jailed ] Auto Win
      Modded/Hacked App: Zombie Blast - Link Match By SNG Bilisim Yazilim Danismanlik ve Pazarlama Dis Ticaret Ltd. Sti.
      Bundle ID: com.sngict.zblast
      App Store Link: https://apps.apple.com/us/app/zombie-blast-link-match/id1549172917?uo=4

      🤩 Hack Features

      - Auto Win
      - Hero HP Max
      - Hero ATK Max
        • Agree
      • 1 reply
    • Star Rising: Basketball v1.5.8 [ +2 APK MOD ] Unlimited Gems
      Mod APK Game Name: Star Rising: Basketball
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.basketball.nba.star.sport&hl=en

      🤩 Hack Features

      - ADS NO
      - Unlimited Gems 
      • 0 replies
    • Saddlebag Survival v1.6.0 [ +5 APK MOD ] Battle Coin
      Mod APK Game Name: Saddlebag Survival
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.gameloops.saddlebagsurvival&hl=en

      🤩 Hack Features

      - Currency / No Need
      - Resources / No Need
      - Unlimited Battle Coins / Use To Get
      - DMG 1
      - DMG 2
      • 0 replies
    • Almost a Hero — Idle RPG V5.8.7 [ +13 APK MOD ] Auto Win
      Mod APK Game Name: Almost a Hero — Idle RPG
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.beesquare.almostahero&hl=en

      🤩 Hack Features

      - ALL Currency Unlimited / Disable After Hack
      - All Resources Unlimited / Disable After Hack
      - Unlimited Merchant Items / Gold - Auto Tap etc.
      - Auto Win 
      - Stage Skipper 
      - Wave Skipper 
      - Enemy Skipper 
      Hero Status
      - ATK MAX
      - HP MAX
      - ATK SPEED
      - LvL UP DMG HP Faster Increase 
      Enemy Status
      - ATK 0
      - HP 0
      • 0 replies
    • iSurvivor: Epic Shoot ‘Em Up v1.1.1 [ +15 APK MOD ] Currency Max
      Mod APK Game Name: iSurvivor: Epic Shoot ‘Em Up
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.Gcenter.i.Survivor.Epic.SHMUP&hl=en

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Gold
      - Unlimited Ancient Coin
      - Unlimited Stars
      - Unlimited Booster HP
      - Unlimited Booster EXP
      - Unlimited Booster DMG
      - Unlimited Gold Loot
      - Zone Unlock Cost 0
      - Zone Rewards / Claim Unlimited
      - Hero Unlocked
      - Pet Unlocked
      - Base DMG
      - Spirit DMG / Just Check Status
      - Hero Status / HP DMG - Just Change
      • 0 replies
    • ZombTube Last Hero Zombie War v0.1.450 [ +10 APK MOD ] Currency Max
      Mod APK Game Name: ZombTube: Last Hero Zombie War
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.booblyc.zombtube&hl=en
      🤩 Hack Features

      - No ADS
      - Unlimited Red coins
      - Unlimited Gold
      - Parts / Upgrade Free Guns-Items
      - Damage
      - Bullet Range
      - Gun Range
      - Unlimited Ammo
      - No Reload
      - Accuracy
      • 0 replies
    • Tower And Swords v2.308 [ +5 APK MOD ] Currency Max
      Mod APK Game Name: Tower And Swords
      Rooted Device: Not Required.
      Google Play Store Link: https://play.google.com/store/apps/details?id=com.Jaems.ProjectCreationRPG&hl=en

      🤩 Hack Features

      - Unlimited Gems
      - Unlimited Coins
      - Never Die
      - DMG
      - Crit Hit
      • 0 replies
    • Vinland Tales・ Viking Survival v1.11.12 +2 Cheats
      Mod APK Game Name: Vinland Tales: Viking Survival By Colossi Games Ltd
      Rooted Device: Not Required.
      Google Play Store Link: 

       

      🤩 Hack Features

      - Damage Multiplier
      - Defense Multiplier

       

      ⬇️ Android Mod APK Download Link


      Hidden Content

      Download Modded APK







       

      📖 Android Installation Instructions

      STEP 1: Download the modded APK file from the link above using your preferred Android browser or download manager.
      STEP 2: Once the download is complete, open your file manager and locate the downloaded .apk file (usually in the Downloads folder).
      STEP 3: Tap the APK file, then select Install. If prompted, enable Install from Unknown Sources in your device settings.
      STEP 3A: If the mod includes an OBB file, extract it if it’s inside an archive. Then move the folder to: /Android/obb/
      STEP 3B: If the mod includes a DATA file, extract it if it’s archived. Then move the folder to: /Android/data/
      STEP 4: Once installed, open the game and toggle your desired cheats & features through the APK mod menu. Enjoy!

       

      NOTE: If you have any questions or issues, read our Frequently Asked Questions topic. If you still need help, post your issue below and we’ll assist you as soon as possible. If the mod works for you, please share your feedback to help other members!

       

      🙌 Credits

      - AlyssaX64

       

      📷 Cheat Video/Screenshots

      N/A

       

       iOS & iPadOS App Hacks
      If you’re looking for Non-Jailbroken & No Jailbreak required iOS IPA hacks, visit the iOS Game Cheats & Hacks or the iOSGods App for a variety of modded games and apps for non-jailbroken iOS devices.
        • Like
      • 3 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