GET /WebObjects/MZSearch.woa/wa/com.apple.jingle.search.DirectAction/search?term=Xiu%20Xiu HTTP/1.1 User-Agent: iTunes/4.2 (Macintosh; U; PPC Mac OS X 10.2) Accept-Language: en-us, en;q=0.50 Cookie: countryVerified=1 Accept-Encoding: gzip, x-aes-cbc Connection: close Host: phobos.apple.com |
HTTP/1.1 200 Apple Date: Fri, 16 Apr 2004 13:55:07 GMT Content-Length: 4320 Content-Type: text/xml; charset=UTF-8 Cache-Control: no-cache Connection: close Server: Apache/1.3.27 (Darwin) Pragma: no-cache content-encoding: gzip, x-aes-cbc x-apple-max-age: 3600 x-apple-crypto-iv: 19953b75e9846ea59715be906cdca0c8 x-apple-protocol-key: 2 x-apple-asset-version: 2118 x-apple-application-instance: 20 Via: 1.1 netcache04 (NetCache NetApp/5.2.1R3) [-- encrypted gzip archive starts here --] |
wget http://phobos.apple.com/WebObjects/MZSearch.woa/wa/com.apple.jingle.search.DirectAction/search?term=Xiu%20Xiu -U "iTunes/4.0 (Macintosh; U; PPC Mac OS X 10.2)" |
Last year you had a blog entry about Apple encrypting the iTunes Music Store. I didn't see any follow ups on this, so I don't know if anyone cares anymore, but I've figured out the encryption. The encryption is standard AES128 CBC. The iv, of course, is sent in the header, and the encryption key is: 8a 9d ad 39 9f b0 14 c1 31 be 61 18 20 d7 88 95 After decrypting, you'll end up with a gzip file. The key is actually generated from the following code snippet: (using openssl's md5) MD5_CTX ctx unsigned char key[16]; MD5_Init(&ctx); MD5_Update(&ctx,"Accept-Language",15); MD5_Update(&ctx,"user-agent",10); MD5_Update(&ctx,"max-age",7); MD5_Final(key,&ctx); // key[16] contains the AES key now Hope this helps revive everyone's ITMS interfaces. |