3

Possible Duplicate:
decompile an app binary to get back to source code

I've got an iPhone/iPad application, what is kinda interesting. It uses a special internal XML format for the stuff it does, but without a device, I can't see how it works. I want to recreate this function for Android phones (freeware and opensource maybe) but for that I would like to see how the reading part works, actually, I would like to know the XML format itself. It is very hard to re-create from scratch (using only the XML files) as they aren't commented and the names aren't telling anything particular about their function.

All I want to see is how the files are read, what specific tags do, etc, so I can write a converter to convert the iOS output files for my same purpose Android app. And yes, I've checked the Market, there's no such application like the one I want to recreate (and is actually almost totally recreated, I only need a converter or a parser for these iOS specific files).

Community
  • 1
  • 1
fonix232
  • 2,132
  • 6
  • 39
  • 69

2 Answers2

15

The binary of all apps from the iOS App store, and on the filesystems of stock OS devices, is encrypted.

Try writing the authors of the app very politely, and see if they'll give or offer to sell you source code for the parser in which you're interested.

hotpaw2
  • 70,107
  • 14
  • 90
  • 153
  • 12
    This question keeps coming up, and the second sentence here is exactly what I keep telling people. You'd be surprised at how generous many developers are. If they can't supply you with exact code, usually they can give you pointers as to how this works. – Brad Larson Mar 29 '11 at 17:34
1

As noted here, you can get the assembly code, but you'll never be able to get the source code since there are an indefinite number of ways to represent the assembly.

Community
  • 1
  • 1
FreeAsInBeer
  • 12,937
  • 5
  • 50
  • 82
  • I want to DECOMPILE a BINARY, not to explore the .IPA package. Already done that, that way I've acquired some built-in XMLs to study, but still can't get the format itself. – fonix232 Mar 29 '11 at 16:44
  • 1
    @fonix232: you seriously think that decompiling will help you? Decompiling native code (as opposed to managed) is a tricky business, not much different than reading pure assembly. – Seva Alekseyev Mar 29 '11 at 17:07
  • 1
    It would help understanding that what XML tag is related to which function, from that, it's easy. But, in assembly, I can't really see the function name, only redirections to the function's body. – fonix232 Mar 29 '11 at 17:11
  • 2
    @Seva but it's going to be a perfect opportunity to improve one's assembly skills – bioffe Mar 29 '11 at 17:13
  • 1
    @fonix: Given only the binary, *you have no method names*, at least not anything intelligible. The compiler strips out everything it doesn't need, including method names. – FreeAsInBeer Mar 29 '11 at 17:17