1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

IDA Pro Basic (Instruction of IDA )

Discussion in 'Tutorials' started by Twix, Apr 17, 2015.

  1. Twix

    Twix Advanced Member

    Joined:
    Feb 26, 2015
    Messages:
    187
    Likes Received:
    63
    Here is a good tutorial for anyone who is willing to learn what the arm assembly language is and how do you understand it.
    This is a very useful tutorial to understand the basic instructions in IDA


    Steps of doing:

    1. Check the Game --> What could be hacked? What names the functions could have?

    2. Load the Binary(lib file in lib folder) in IDA -->Check if load resources is checked

    3. Let the IDA time to load

    4. After that open up a Hexeditor and put the Binary in it

    ______________________________________________

    Useful searches:

    (the big ones are the key words)


    Player's Life: life,health,damage,hp,live,power

    e.g: CSoldierHero::takeDamage
    e.g: CPlayer::removeHealth

    Points: points,score,mp

    e.g: Game::UpdatePoints
    e.g: Game::AddPoints
    e.g: Game::loadScore

    Ammo: ammo,shoot,shot,fire,weapon

    e.g CPlayer::processShooting
    e.g CPlayer::fire
    e.g xxx:[​IMG]ubAmmo

    If you have other things like 'speed' or 'suns' or something just try different options

    Extras:

    -level -->level up cheats
    -powerups -->megajump,doodlejump
    -some keywords depend on the game.. rpg,action,fun,...
    -kill -->splinter cell
    -Unlock --> Unlock is an important keyword *

    ______________________________________________

    WHAT TO DO...?

    ADD(e.g score): set to MOV R0,#480000000*
    set the registers or the value after #xx to very high

    SUB(e.g ammo): change to ADD,NOP it. Or set the SUB to #0

    RSB(reverse subtract --take damage): NOP it or set the registers to low or try to change to an ADD

    LDR(e.g score,...): change the Register to Register 7(R7) or to an MOV R0,#480000000*

    STR(e.g setLife): Change the register to R7 or MOV R0,#480000000*

    SUBS/ADDS (same like SUB and ADD)

    ______________________________________________

    CODES:

    ADD R3,R3 #1 -->01 30 83 E2
    SUB R3,R3 #1 --> 01 30 43 E2

    ADD R1,R3,R3 --> 01 30 83 E0
    SUB R1,R3,R3 --> 01 30 43 E0

    MOV R0,#48000000 = 12 03 A0 E3 -->very high value (you know the PvZ Hack where the sun turns into 9999? thats a MOV R0, #48000000)

    MOV R0,#1 = 01 00 A0 E3 (often used for functions like : isXXX or hasXXX (e.g: player::hasAllWeapons if you use an MOV R0,#1 it always returns the value 1 so you have all Weapons))

    MOV R0,#0 = 00 00 A0 E3 (often used for isXXX and hasXXX functions(e.g: player::needFood if you use MOV R0,#0 it always returns 0 , so you do not need food))

    2Byte BX LR : 7047 -->deletes a function
    2Byte Nop : C046 -->NOP = No operation

    4Byte BX LR : 1EFF2FE1 -->deletes a function
    4Byte Nop : 0000A0E1 -->NOP = No operation

    _____________________________________________________

    Branches:

    Above mostly all Branch commands there have to be a CMP(compare) and because of this CMP it branches

    e.g: BEQ(branch if equal) above: CMP R3,R2

    so it doesnt branch because R3 not equal to R2

    if CMP R2,R2 and then BEQ then it branches



    BEQ = Branch if equal (cmp r2,r2)
    BNE = Branch if not equal (cmp r3,r11)
    BLT = Branch if lower than(cmp r2,r3)
    BGT = Branch if greater than(cmp r3,r1)


    _______________________________________________________



    ONE SENTENCE IS IMPORTANT: "try it!"

    Without trying you can't succeed.

    So go ahead and try!

    Plist editing - Hex editing - IDA Hacking

    Plist: Just download some Games and rehack plists

    Hex: Download savefile and Compare and learn with it some hex.

    IDA: 1. Use the Offset DB and go with IDA to the Location. Check the function and what was changed. 2. Download some Binarys and Compare them. 3. Read Tutorials

    My knowledge:

    BX LR - NOP - SUB - ADD - LDR - STR - MOV - RSB


    Just one last Thing: GDB isnt the horror. I dont like GDB. I can't work with it.

    I just sometimes use it for checking a functions and their registers(e.g when I don't know what registers are low in there and what high).


    Unlock:

    In Brothers in Arm: Hour of Heroes

    CSoldierHero UnlockAllWeapons

    Double click on it..

    Make an XRef from the Ttle of the function (highlight the function and press X)

    Then there should be an BNE(branch not equal) it branches if not equal

    If you change it to and B(branch no conditions) it always branches and you have your weapons unlocked..

    This means yo can't change the function directly.. you have to check from where it comes

    BNE,BLT,BGT,BEQ --> B = Change the last byte to an EA if it is 4 Byte XX XX XX EA
    BNE,BLT,BGT,BEQ --> B = Change the last byte to an E0 if it is 2 Byte XX E0



    CMP

    If you hack ammo and you know there is a SUB Rx, Rx #1 which sumtracts your ammo the look above there should be a CMP.
    If there is a CMP which compares thesame register as the SUB subtracts then you are right and it could be the CMP that compares if Rx = 0

    IF Rx = 0 it reloads your gun

    so if you NOP (0100A0E1) the CMP it doesnt reload as it doesnt compare if Rx is equal 0



    You often find CMPs above Branches. This means you have two options: Either you make the BXX to only aB so it branches all the time(look at branches). Or you set the CMP as neede: e.g:

    BNE(BranchNotEqual) so it branches when the comparison result isnt equal --> CMP R2,R3 if R2 and R3 have different values it branches as they aren't equal

    ALL CREDITS TO HACKJACK I DID NOT MAKE THIS TUTORIAL

    For more info you can go here Link For Detailed Info
     
    jckiller07, NEMESIS, zen and 3 others like this.
  2. You-Dog

    You-Dog Guest

    Dont Just Leecher the Intruction -_- make your own Tutorial With Picture / Video for more Clearly and make Newbie More Helpful
     
    roswell108, kar80 and goleoldark like this.
  3. Komang

    Komang Guest

    Make a pict or video when u hack game online, i will thanks it
     
  4. AMTLifeForHack

    Joined:
    Dec 17, 2015
    Messages:
    7
    Likes Received:
    0
    but that program ? you do not say that file. I take saw there there are 4 or 3 and then to the lib folder there are 2 types x86 folders ie not explain anything and then when loading a file . I know I remain the loadIng
     
  5. Heltuner

    Heltuner Member

    Joined:
    Mar 1, 2016
    Messages:
    19
    Likes Received:
    2
    great insight sir thank you ;)
     
  6. zen

    zen New Member

    Joined:
    Mar 4, 2016
    Messages:
    2
    Likes Received:
    0
    Excellent tut :)
     
  7. Fadol

    Fadol Guest

    thanks for the effort
     
  8. kohryuvn

    kohryuvn Active Member

    Joined:
    Jun 30, 2015
    Messages:
    32
    Likes Received:
    4
    Thank bro
     
  9. vadeh

    vadeh Member

    Joined:
    Jun 22, 2016
    Messages:
    16
    Likes Received:
    0
    Please make video
     
  10. kohryuvn

    kohryuvn Active Member

    Joined:
    Jun 30, 2015
    Messages:
    32
    Likes Received:
    4
  11. iAlex

    iAlex 《☆☆☆☆☆☆☆☆》
    Exclusive Modding Team

    Joined:
    Mar 11, 2016
    Messages:
    1,200
    Likes Received:
    1,176
    try searching on yt ... there a lot of videos about idahacking ... and some of tme are really interesting ;)
     
  12. Androhacks_

    Androhacks_ Advanced Member

    Joined:
    Mar 29, 2016
    Messages:
    264
    Likes Received:
    43
    The only videos I find on IDA hacking on yt are indians that talk wayyyy too fast for me to even try to comprehend. Noobs like me could really learn from a video of slow step-by-step instructions and detail about what's going on.... Boy that would be nice.

    Could you possibly link me to one Please?
     
  13. iAlex

    iAlex 《☆☆☆☆☆☆☆☆》
    Exclusive Modding Team

    Joined:
    Mar 11, 2016
    Messages:
    1,200
    Likes Received:
    1,176
    Im talking about the indians guys ... they are really good with it
     
  14. kohryuvn

    kohryuvn Active Member

    Joined:
    Jun 30, 2015
    Messages:
    32
    Likes Received:
    4
    need more IDA Tutorial ..... :)
     
  15. Sunsh1ne

    Sunsh1ne Member

    Joined:
    Mar 6, 2016
    Messages:
    19
    Likes Received:
    2
    Sorry if this bothers anyone, I was wondering if anyone could explain what this function does exactly
    Code:
    CMP          R1, #0
    STMFD     SP!, {R4,LR}
    MOV         R4, R0
    BLT           (some other script that's not important at the moment)
    I mostly understand what each command does independently, I'm just trying to make sense of how they interact with each other in this example.
     
  16. andytoro

    andytoro New Member

    Joined:
    Jul 18, 2016
    Messages:
    4
    Likes Received:
    1
    Well, nothing much from your code... but you need to understand basic how machine works. If you want to fully understand what it means, I would recommend you to read about machine stacks (on your snippet code it's using full descending which is the default one for ARM). Then you need to know what is register, link register, r15 (PC) and how they work. A bit of programming skill would very beneficial for your study.
    Trust me, anyone here whom understand these code can explain what it means, but if you really want to understand interaction between register, then you need some experiment and self study.
    I don't know if you have understand / have basic programming or not. But if not (I'm not belittle or underestimate you in here), then here is my recommendation to understand the basic: ARM subroutines & program stack
     
  17. Sunsh1ne

    Sunsh1ne Member

    Joined:
    Mar 6, 2016
    Messages:
    19
    Likes Received:
    2
    Thanks for the resource! I do actually have quite a lot of programming experience in several fields (nearly all web languages, I'm a web design consultant and python, C some C++ and C#) and to me, ARM seems rather similar to C which is probably what's tripping me up :)
     
Loading...
  • About Us

    Android Republic - Android Game Hacks - Offering only the most advanced and exclusive android hacks, protections like Xigncode are easily bypassed by our team.

    Exclusive Android hacks, android protections cracked, only the best available games, here you will find only the best games such as Kritika, Summoners War, Raven, Dragon Striker, Avabel, Evil Bane, 7knights and seven knights, Darkness Reborn, Soul Seeker all fully hacked and waiting for you! easy xigncode and dxshield bypass too!, way better than alpha gamers or alphagamers no need for booster or root, simple the best android cheat apk available.