Ida pro dissassembler

Discussion in 'iOS Development' started by Communati0n, Jun 26, 2010.

Thread Status:
Not open for further replies.
  1. Communati0n

    Communati0n New Member

    Joined:
    Oct 22, 2009
    Messages:
    824
    Likes Received:
    0
    Device:
    iPad 2 (Black)
    hi i recently got ida pro and hex rays and i wan to decompile an ipod app. i opened the binary and it is all arm assembler. anyone know how to make it compilable or into obj-c code?
  2. SkylarEC

    SkylarEC Super Moderator Emeritus Staff Member

    Joined:
    Sep 19, 2007
    Messages:
    6,642
    Likes Received:
    129
  3. Communati0n

    Communati0n New Member

    Joined:
    Oct 22, 2009
    Messages:
    824
    Likes Received:
    0
    Device:
    iPad 2 (Black)
    yeah i know its a dissembler but i dissemble a binary and it is in arm assmbler code. im not very good at assembler so i was hoping to convert is to obj-c so i can understand it. sorry for poor language but if this isnt possible, could u let me know where to find resources on learning arm assembler?

    ps is it allowed to post the disassembled code here?
  4. Axis

    Axis Super Moderator Staff Member

    Joined:
    Dec 2, 2007
    Messages:
    6,288
    Likes Received:
    133
    Device:
    iPhone 4S (White)
    Do not bother looking for a program that can generate Obj-C, especially from a binary that's had its symbols stripped.

    I've found this to be a good introductory resource for my own use. However, if you don't have any experience in another assembly language, you'll likely be confused at best. (I got into ARM after becoming fairly comfortable with x86-64). You should know how CPUs work in general—registers, instruction fetching/decoding, branching (and branch prediction), pipelines, memory access, etc. If you are curious, you also want to learn about context switching and how the kernel schedules processes. I'm sure you can find all the information you want about that on Wikipedia.

    I've said this before—attempting to reverse engineer a symbol-stripped binary is not a fun first experience. You should get comfortable with something more straightforward first.
  5. Communati0n

    Communati0n New Member

    Joined:
    Oct 22, 2009
    Messages:
    824
    Likes Received:
    0
    Device:
    iPad 2 (Black)
    yeah thanx man but i was wondering if i was allowed to ask for help here understanding the assembler if i put up the decompiled source code
  6. lauNchD

    lauNchD Well-Known Member

    Joined:
    Jan 27, 2008
    Messages:
    1,844
    Likes Received:
    261
    Device:
    iPhone 5 (Black)
    Assembler != source code (in 99.9% of iPhone apps/frameworks)

    What "decompiled source code" do you mean? The actual Assembler output or C code from a decompiler plugin?
  7. Pelaez-1

    Pelaez-1 New Member

    Joined:
    May 5, 2008
    Messages:
    822
    Likes Received:
    0
    Device:
    iPhone
    Please please tell me you didn't get that to get source code from apps and use it to make apps.
  8. Communati0n

    Communati0n New Member

    Joined:
    Oct 22, 2009
    Messages:
    824
    Likes Received:
    0
    Device:
    iPad 2 (Black)
    i was hoping to find some onj c or something that was more um readable.

    and no i actually just want to see how it works
  9. lauNchD

    lauNchD Well-Known Member

    Joined:
    Jan 27, 2008
    Messages:
    1,844
    Likes Received:
    261
    Device:
    iPhone 5 (Black)
    1. I haven't seen any decompiler that produces actual Obj-C method calls (objc_msgSend, the function your compiler calls every time you send a message, is probably the very most you'd get)
    2. If you wanna see how Obj-C works, it's open source.
    3. If you wanna see "how apps work," check out Apple's sample code. It will be much easier to understand / "readable", since it's also commented.
    4. App Store apps are encrypted (with the FairPlay DRM). Disassembling them as-is results in nonsensical bullsh*t (and your decompiler probably won't even try to make sense out of it).
  10. jstarisraw

    jstarisraw New Member

    Joined:
    Feb 3, 2009
    Messages:
    100
    Likes Received:
    0
    Device:
    iPhone 3G (Black)
    You can download an IDA plugin, so that IDA can recognise the function calls in a Mach-O binary. Check out "objc.idc".

    This make it easier to reverse engineer, if thats what you are wanting
Thread Status:
Not open for further replies.

Share This Page