Jump to content

[IDA Tutorial]How to hack with strings


1,706 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

    • LingoDeer - Language Learning Modded (All Versions) +1
      Modded/Hacked App: LingoDeer - Learn Languages by LingoDeer Co., Ltd.
      Bundle ID: com.lingodeer
      iTunes Store Link: https://apps.apple.com/us/app/lingodeer-learn-languages/id1261193709?uo=4&at=1010lce4


      Hack Features:
      - PREMIUM


      iOS Hack Download Link: https://iosgods.com/topic/122110-arm64-lingodeer-learn-languages-modded-all-versions-1/
      • 284 replies
    • Astro Defenders : Capt.Couch v1.0.71 Jailed Cheats +2
      Modded/Hacked App: Astro Defenders : Capt.Couch By playhard Inc.,
      Bundle ID: com.playhardlab.defenders
      App Store Link: https://apps.apple.com/us/app/astro-defenders-capt-couch/id6753168115?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
      - Multiply Attack

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/205808-astro-defenders-captcouch-v1021-jailed-cheats-2/
      • 5 replies
    • Punko.io: Tower Defense v1.0.38 Jailed Cheats +5
      Modded/Hacked App: Punko.io: Tower Defense TD By Blind Arcade SAS
      Bundle ID: com.Agonalea.Punko.io
      App Store Link: https://apps.apple.com/us/app/punko-io-tower-defense-td/id6463813666?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
      - Free Store
      - Infinite Card Energy
      - Instant Deploy Card

       

      Jailbroken Hack: https://iosgods.com/topic/205003-punkoio-tower-defense-cheats-auto-update-5/

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/205002-punkoio-tower-defense-v1033-jailed-cheats-5/
      • 5 replies
    • Dragon City - Breed & Battle! v26.3.1 Jailed Cheats +3
      Modded/Hacked App: Dragon City - Breed & Battle! By Socialpoint
      Bundle ID: es.socialpoint.dragoncity
      iTunes Store Link: https://apps.apple.com/us/app/dragon-city-breed-battle/id561941526?uo=4


      Hack Features:
      - God Mode
      - One Hit Kill
      - Always Your Turn (ViP)


      Jailbreak required hack(s): https://iosgods.com/topic/129371-dragon-city-mobile-cheats-auto-updating-4-always-your-turn-one-hit-kill/


      iOS Hack Download IPA Link: https://iosgods.com/topic/185564-dragon-city-breed-battle-v2491-jailed-cheats-3/
      • 429 replies
    • Monster Legends: Collect all Cheats v19.2 +8
      Modded/Hacked App: Monster Legends: Merge RPG By Socialpoint
      Bundle ID: es.socialpoint.MonsterCity
      iTunes Store Link: https://apps.apple.com/us/app/monster-legends-merge-rpg/id653508448?uo=4

       

      📌 Mod Requirements

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

       

      🤩 Hack Features

      - 1 Hit Kill
      - Skip Enemy Turn
      - Multiply Attack
      - Multiply Defense
      - Insane Score (Always 3 Stars)
      - No Skill Cost
      - Auto Win
      - Auto Play Battle Enabled for All Maps


      🍏 For Non-Jailbroken & No Jailbreak required hacks: https://iosgods.com/topic/140543-monster-legends-collect-all-v1778-5-cheats-for-jailed-idevices/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/176914-monster-legends-collect-all-cheats-v1779-8/
      • 417 replies
    • Sniper 3D: Gun Shooting Games Cheats (Auto Update) +7
      Modded/Hacked App: Sniper 3D Assassin: FPS Battle By Fun Games For Free
      Bundle ID: com.fungames.sniper3d
      iTunes Store Link: https://itunes.apple.com/us/app/sniper-3d-assassin-fps-battle/id930574573?mt=8&uo=4&at=1010lce4



      Hack Features:
      - Infinite Coins Only (Upgrade Weapon and Speed up Delivery with Coins)
      - Infinite Energy
      - Infinite Ammo / No Reload
      - No Spread
      - Unlock Premium Weapon - Semi

      NOTE: The game diamond currency is completely server-sided so do not request


      Hack Download Link: https://iosgods.com/topic/74114-arm64-sniper-3d-fps-battle-shoot-to-kill-2018-cheats-all-versions-7/

      Credits:
      - @Laxus
      • 3,948 replies
    • Bus Escape: Traffic Jam v1.9.67 Jailed Cheats +4
      Modded/Hacked App: Bus Escape: Traffic Jam By ABI GLOBAL LTD.
      Bundle ID: com.abi.busjam.sortpuzzle
      App Store Link: https://apps.apple.com/us/app/bus-escape-traffic-jam/id6689516366?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 (Buy No Ads and Premium)
      - Infinite Currencies
      - No Ads
      - Premium

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/190805-bus-escape-traffic-jam-v1965-jailed-cheats-4/
      • 26 replies
    • Immortal Rising v2.7.6 Jailed Cheats +4
      Modded/Hacked App: Immortal Rising By MOBIRIX
      Bundle ID: com.badbeans.DarkIdle
      iTunes Store Link: https://apps.apple.com/us/app/immortal-rising/id1588863558?uo=4


      Mod Requirements:
      - Non-Jailbroken/Jailed or Jailbroken iPhone/iPad/iPod Touch.
      - Sideloadly / Cydia Impactor or alternatives.
      - A Computer Running Windows/macOS/Linux with iTunes installed.


      Hack Features:
      - God Mode
      - One Hit Kill
      - PREMIUM
      - Freeze Currencies*

      *Abuse = Ban



      iOS Hack Download IPA Link: https://iosgods.com/topic/190808-immortal-rising-v270-jailed-cheats-4/
      • 42 replies
    • Warhammer 40,000: Tacticus v1.33.95 +4 Cheats
      Modded/Hacked App: Warhammer 40,000: Tacticus By Snowprint Studios AB
      Bundle ID: com.snowprintstudios.tacticus
      iTunes Store Link: https://apps.apple.com/us/app/warhammer-40-000-tacticus/id1599937506?uo=4

      Hack Features:
      - Always Win [ even if all your characters die, you win ]
      - Custom Ability Stats
      - Ability Always Available
      - Game Speed Multiplier

      Note: Use characters that do ability attack to multiple enemies like Varro Tigurius & Bellator


      Non-Jailbroken & No Jailbreak required hack(s): https://iosgods.com/topic/163492-warhammer-40000-tacticus-v1133-3-cheats-for-jailed-idevices/


      iOS Hack Download Link: https://iosgods.com/topic/163377-warhammer-40000-tacticus-v1133-4-cheats/
      • 314 replies
    • Nonstop Knight 2 Cheats (Auto Update) +7
      Modded/Hacked App: Nonstop Knight 2 - Action RPG By Flaregames GmbH
      Bundle ID: com.koplagames.kopla02
      iTunes Store Link: https://apps.apple.com/us/app/nonstop-knight-2-action-rpg/id1444887980?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

      - God Mode
      - One Hit Kill
      - Custom Move Speed
      - Custom Attack Speed
      - Custom Attack Range
      - Instant Skill
      - Infinite MP

       

      Non-Jailbroken Hack: https://iosgods.com/topic/99785-nonstop-knight-2-v323-jailed-cheats-2/

       

      ⬇️ iOS Hack Download Link: https://iosgods.com/topic/99783-nonstop-knight-2-cheats-v324-7-god-mode-more/
      • 1,620 replies
    • Kick The Buddy v2.3.3 Jailed Cheats +5
      Modded/Hacked App: Kick the Buddy By Playgendary Limited
      Bundle ID: com.chillfleet.buddy
      iTunes Store Link: https://apps.apple.com/us/app/kick-the-buddy/id1278869953?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 Golds (Spend some/ Get some)
      - Infinite Bucks (Spend some/ Get some)
      - All Items Owned
      - No Ads
      - Premium

       

      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/84162-kick-the-buddy-v1224-jailed-cheats-5/
      • 327 replies
    • Kick the Buddy: Forever v1.9.2 Jailed Cheats +3
      Modded/Hacked App: Kick the Buddy: Forever By Playgendary Limited
      Bundle ID: com.playgendary.ktb2
      iTunes Store Link: https://apps.apple.com/us/app/kick-the-buddy-forever/id1435346021?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

      - Inifnite Currencies
      - No Ads
      - Blood Mode



      ⬇️ iOS Hack Download IPA Link: https://iosgods.com/topic/85569-kick-the-buddy-forever-v183-jailed-cheats-3/
      • 155 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