On Feb 23, 2009, at 5:23 PM, Paul Reilly wrote: It's trivially easy, for anyone who buys/downloads the app, to strip the media files from the bundle. So I want to implement some coding which modifies the audio files, so they don't play. It's your app, but this sounds like a waste of time to me. The entire history of software and MP3 piracy shows that, if someone wants to get access to the data, they will figure out how to do so, no matter how cleverly you try to protect it. And it only takes one person; they'll then post the files to BitTorrent or some sleazy file-hosting website for everyone.
Honestly, having that kind of demand for the audio in your app is a good problem to have. If people like it that much, then you can rerecord it at a higher bit-rate, add a bonus track, give it nice cover art and sell it on the iTunes Music Store. Or just give it away for free on your website as a promo for your app (which is exactly what the developers of World Of Goo are now doing with its soundtrack.)
So my question is how do I access specific bytes of the loaded sound file from within AudioQueue Services?
AudioQueues don't read files. They're dependent on you to spoonfeed the encoded data to them; that's what your callback is for. So in the callback you just read bytes from the file and, before putting them in the audio buffers, XOR them with 0xFF or whatever. None of which will take a determined and 1337 h4xØr more than half an hour to reverse engineer.
—Jens |