views:

100

answers:

3

Greetings everyone..

I wanna develop an addon (basically a hack) for IPhone native phone app. My entire idea is to provide a "delete" button on navigation bar of the phone app. When user clicks on that delete button I wanna allow to delete the call records from the mobile app itself (where APPLE does not allow this). This kind of hack (known as Recent Delete) already available in Cydia store. But I wanna know how to develop this kind of hacks.

+1  A: 

First, do you have a Mac? Second, do you know how to jailbreak an iPhone/iPod Touch? Third, I am betting that what you are trying to do is illegal.

Partial
@partial He's probably just wanting to learn and maybe share it with a couple of friends, and for that I guess he won't be arrested by the FBI... I hope
MarceloRamires
Illegal? Which part of law said providing 3rd party add-on is illegal?
KennyTM
Illegal.. may be.. but just wanna to know how to develop.
prathumca
@KennyTM: http://www.eff.org/deeplinks/2009/02/apple-says-jailbreaking-illegal
Partial
A: 

Do a google search for JailBreaking. There are lots of links. Then do a google search for Jailbreaking toolchain. Then have a look at the APIs for call notification and such.

Your app won't make it to the App store and violates all kinds of Apple licenses, but that's how it's done.

Jordan
prathumca
+3  A: 

Proper iPhone app hacks are usually built with MobileSubstrate (MS).

MS allows one to inject 3rd-party libraries into any apps, and replace (hook) any C functions or ObjC methods in it.

In order to write a MS extension effectively you need tools like

  • nm to list the symbols,
  • otool -o or class-dump-z to extract the ObjC interfaces,
  • otool -tvV, ravel-arm, or IDA Pro for disassembly,
  • gdb or cycript for runtime debugging,
  • ldid for pseudo-signing, gcc for compiling, etc.
KennyTM
Thanks Kenny, I'll try MS.
prathumca
Kenny, One more question, is this class-dump-z extract all the .m files too? I heard that class-dump extracts only header files. Is this true?
prathumca
@prathumca: Just the headers. To get the .m you need a decompiler, which none exists so far.
KennyTM
Thank you Kenny.
prathumca