this post was submitted on 19 Jun 2023
18 points (100.0% liked)
Piracy: ꜱᴀɪʟ ᴛʜᴇ ʜɪɢʜ ꜱᴇᴀꜱ
54698 readers
406 users here now
⚓ Dedicated to the discussion of digital piracy, including ethical problems and legal advancements.
Rules • Full Version
1. Posts must be related to the discussion of digital piracy
2. Don't request invites, trade, sell, or self-promote
3. Don't request or link to specific pirated titles, including DMs
4. Don't submit low-quality posts, be entitled, or harass others
Loot, Pillage, & Plunder
📜 c/Piracy Wiki (Community Edition):
💰 Please help cover server costs.
Ko-fi | Liberapay |
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
If the content is being downloaded then you could do the following:
Setup a proxy like Fiddler2 on a PC on the same network your phone is connected to. You’ll need to configure Fiddler2 to decrypt HTTPS and then access the proxy certificate on your iPhone and add it as a trusted certificate. You’ll need to Google how to do this with Fiddler2 but it’s not hard
Configure your iPhone to connect through the Fiddler2 proxy by modifying your WiFi settings. If your PC is allowing connections to the Fiddler2 proxy port (e.g. 8888) and you’re trusted the cert on your iPhone, then connecting to websites in safari should be working
Open the naturespace app on your iPhone and delete the sounds you’re interested in. ONLY do this if you’re sure you can still re-download them. If not, this whole approach won’t work so just stop here.
Download the sounds again
You should then be able to see the web requests that were made to download the sounds in Fiddler2 on your PC. As long as there’s no fancy encryption, you should be able to just save the content out of Fiddler2.
Ah, thank you! See, it didn't even occur to me to just intercept the audio in transit. That's really helpful, I will try this, thank you very much :)
So I’ve reverse-engineered the naturespace Android APK and the files it downloads are definitely encrypted. They’re zip files (named as .nzp) that are XOR obfuscated with a rotating key every X amount of bytes. I haven’t quite worked out how the key rotates itself but I’m close. If I get it working I’ll put the details here and I can give you a Python script to grab whatever sounds you need.
Ha, I was just writing an update when your comment came.
I followed your advice and installed mitmproxy (basically fiddler2 but open source), which was easy enough, and managed to find that the app just posts GET requests the homepage, which result in a 302 Temporarily Moved, which ends on a public S3 folder.
The GET request includes some "ID", which I'm not sure I should post publicly, maybe it might identify me? It's like:
GET http://www.naturespace.com/ns5ios/?command=download&path=%2Fmedia%2Fmodules%2Fcom.HolographicAudioTheater.Naturespace.Aegir&lang=en&id=REDACTED&bvrs=5.15&sysv=16.5&model=iPhone&bid=com.HolographicAudioTheater.Naturespace&sys=iOS&loc=en_DE HTTP/1.1
But yes, it seems the files are encrypted. I couldn't find anything to open them, and no file identifier knows what it is. If you manage to get somewhere, that'd be awesome, my tech knowledge definitely ends here lol.
I guess it's not actually illegal to post this, since it really is just a public folder, so if anyone els wants to look at it, here's a file.
Interesting, looks like they might be using a completely different file format for iOS versus Android. In any case, I've knocked up a script which will extract the track.ogg file from any pack of your choosing. Pasting directly here to see if it works (haven't tried sharing code on Lemmy).
You can browse available packs using the below URL. If you want to find out a pack name, just copy the banner image URL for it and you'll see the "com.whatever" name in the URL itself.
http://www.naturespace.com/android/v3/store/?live=true&udid=0
Code:
:O Wow.
That is just simply amazing. Can confirm it works.
The file names are always the same, prefix and the sounds name, e.g. if the sound is called "The Electric Forest" it's com.HolographicAudioTheater.Naturespace.TheElectricForest.
I guess I could write a scraper and parse the whole collection.
Well, thank you kind stranger on the internet.
Damn, that's genuinely impressive. Well done!