Timeline for AirPlay Mirroring decryption (FairPlay)
Current License: CC BY-SA 3.0
13 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Aug 15, 2015 at 22:20 | vote | accept | Roberto Andrade | ||
Jun 15, 2015 at 13:06 | comment | added | Roberto Andrade | that's fantastic @foxsen, I just sent the email requesting access to the scripts to help out on that. | |
Jun 15, 2015 at 7:14 | comment | added | foxsen | It can serve two purpose: 1, learn how to extract part of code(far from fully automatic now); 2, research on the reverse of airplay. I have decompiled all functions except call_xxx, which should be very helpful to understand the obfuscation. I also provided a small program to demo the usage, so we can do the research on a single machine program without network and apple device. | |
Jun 15, 2015 at 7:09 | comment | added | foxsen | I have not found enough time to write all the details or do more research. Instead, I decide to share the code(which is composed of a series of scripts, with necessary comments to help understand) to do the generation. Please write to [email protected] to request for the access link for free. | |
May 20, 2015 at 19:45 | comment | added | Roberto Andrade | heya @foxsen, do you have any news on the write up you wanted to do on the extraction process? would you be able to also share the results of what runs on the server-side for this particular fairplay application also? | |
Apr 21, 2015 at 11:09 | comment | added | Roberto Andrade | Since your approach is also coincidentally being applied to reproduce the FairPlay decryption functions, I think sharing the details here is probably the best option, but in case you want to also share the more generic answer on this other post I have going (where AirPlay/FairPlay is out of the scope of question), I'd appreciate it too: reverseengineering.stackexchange.com/questions/6759/… | |
Apr 21, 2015 at 0:14 | comment | added | Roberto Andrade | yeah, that's precisely what I was looking for on an answer. So although you were able to do it (just like the dozen other apps I listed) doesn't mean you have answered the question :) Let me know once you're able to share more on the approach to porting the functions over (yeah the .so on android is precisely what I had done), as what I originally wanted to do was to extract the functions and link them against my program instead. | |
Apr 21, 2015 at 0:11 | comment | added | foxsen | I don't really care much about the airplay itself. But your question about how to port part of a binary logic into a new binary raises my interest. Now I prove that this can be done. I am considering to write some articles on this topic since it is very interesting, all kinds of binary manupulations. Maybe i can write some general tools for this. | |
Apr 21, 2015 at 0:00 | comment | added | foxsen | In fact, a easy way to setup server is to utilize existing .so from apps like reflector. A chroot environment can run android .so in linux:) Then you can use dlopen and call its functions. I go further than this to practise my skills. I reverse some part of the code to understand more. When what left is only tedious repeat, I stopped and then write a series of scripts to draw out part of the binary, re-add symbol table and relocation entries, with some fixups it becomes a relocatable .o that can be linked to my server app. Roughly so. | |
Apr 20, 2015 at 17:02 | comment | added | Roberto Andrade | This is basically the same thing I ended up doing. rPlay from VMLite also does the same. I'm curious to share notes as to how you went about building the server component and am happy to share mine (although also not open source). Let me know. | |
Apr 20, 2015 at 15:59 | review | Late answers | |||
Apr 20, 2015 at 16:19 | |||||
Apr 20, 2015 at 15:42 | review | First posts | |||
Apr 20, 2015 at 17:50 | |||||
Apr 20, 2015 at 15:39 | history | answered | foxsen | CC BY-SA 3.0 |