0

For iOS, is there any way to debug an apple app? Just to see what it does behind the scenes? I want to debug the apple music app.

I am asking this because I want to know how is apple able to use the "heart" button lock screen control in iOS 9. I can't seem to find any documentation on this. I understand this is reverse engineering and this may not be allowed.

rmaddy
  • 314,917
  • 42
  • 532
  • 579
  • I don't believe non-Apple developers are able to modify the elements on the lock screen. Apple, being Apple, can do what they want. – Gordonium Sep 13 '15 at 16:49
  • Regarding the heart or basically any modification to the media playback and / control center, take a look at [this answer](http://stackoverflow.com/questions/30265813/how-does-spotify-customize-the-media-playback-controls-on-ios/30266060#30266060) i gave a while back which might be applicable to your situation. – luk2302 Sep 13 '15 at 16:50
  • You can use Jailbreak and some Cydia tweaks. – aramusss Sep 13 '15 at 16:51
  • In many countries reverse engineering is illegal. – Amin Negm-Awad Sep 13 '15 at 16:51
  • @AminNegm-Awad srsly??? In what country for example? I srsly doubt that - why would you not be allowed to? – luk2302 Sep 13 '15 at 17:03
  • @luk2302 - See Wikipedia's "reverse engineering" entry. Both the USA and European Union seem to have laws against it except when used for interoperability. – Phillip Mills Sep 13 '15 at 17:15
  • @AminNegm-Awad hmmm..didn't know that. how do jailbreaks do it then when jailbreaking is legal? – sudoExclaimationExclaimation Sep 13 '15 at 18:56
  • @luk2302 Of course it is very complex, but there are laws prohibiting reverse engineering in many cases. – Amin Negm-Awad Sep 13 '15 at 19:07
  • 1
    @PranoyC I did not say that it is illegal in any case, esp. if you have "a good reason" to do so. (Obviously I do not know the country you are acting in, so I cannot say whether it is allowed to you at all.) It is a very complex subject. However, what you try is RE for "copy to compete". This is the "worst" form of RE, because a competitor (you) simply tries to "steal" a technical solution to catch up competition. Even this may allowed in some countries, in others it isn't. I just wanted to give you a pointer to a potential risk. This is, why I wrote a comment, no answer. – Amin Negm-Awad Sep 14 '15 at 04:25
  • @AminNegm-Awad yes, thanks! I am from Canada and I looked it up and it's very complex to decide if it's legal or not. Ofcourse SO is the wrong place for me to ask about legality anyway. And no, I doubt it's considered copying to compete. I was more so asking because usually Apple is very good with documentation but I thought that since that's a new feature, I am not looking for the right place for documentation. I will have to wait for the docs to get updated completely for iOS 9. For the time being I did see a bit other docs for another new button on their lock screen so I will just use that. – sudoExclaimationExclaimation Sep 14 '15 at 04:52

1 Answers1

0

Reverse engineering is a violation of the iOS SOFTWARE LICENSE AGREEMENT.

(d) You may not, and you agree not to or enable others to, copy (except as expressly permitted by this License), decompile, reverse engineer, disassemble, attempt to derive the source code of, decrypt, modify, or create derivative works of the iOS Software or any services provided by the iOS Software or any part thereof (except as and only to the extent any foregoing restriction is prohibited by applicable law or by licensing terms governing use of open-source components that may be included with the iOS Software).

That being said; you can find in this talk by Conrad Kramer, informations on tools for iOS reverse engineering like Charles, cycrypt, IDA and dumdecrypted .

Note that many of those tools are only available for jailbroken devices.

Happy hacking :)

ouss
  • 54
  • 1
  • 8
  • 1
    This is no answer to his Q. Beside this the legal binding of such license agreements differ from country to country. – Amin Negm-Awad Sep 13 '15 at 19:03
  • I am going to accept this answer as it informs me of the implications of what I am trying to do and it also gives hints on possible answers. Thanks both of you! – sudoExclaimationExclaimation Sep 13 '15 at 19:36
  • @AminNegm-Awad The talk from Conrad Kramer that I linked gives him some hints about how to achieve reverse engineering in iOS. However, I agree with you that this is not a full answer because stackoverflow is not the place for non-legal stuff but I still gave him a resource about "debugging an apple app" as the OP asked. Nonetheless, the OP wants to reverse engineer a feature from the lock screen that is only available for Apple's "Music" app so with a private API. And private API are harder to reverse engineer. Doing so only for a Heart button is not really a good idea. – ouss Nov 18 '15 at 14:54