View Full Version : Privatunes : a software that anonymizes iTunes Plus files
Kurtnoise
27th June 2007, 15:55
From the froggies country (http://french-law.net/index.php?option=com_content&task=view&id=47&Itemid=1)...:)
HyperHacker
27th June 2007, 20:46
So what does it do; remove the watermark, corrupt it, etc? Is quality affected?
nurbs
27th June 2007, 22:51
It removes the tags with name and e-mail adress from songs purchased from itms. You should be able to do that with every good mp4 tag editor anyway.
stegre
29th June 2007, 07:06
shoot, I've been working on one all week, and am within two or so days of finishing it. Anyway, mine will be better.:cool:
@nurbs, it's slightly more complicated than that. It's true that Apple puts your email address and other stuff in standard iPod style tags - ones with the same structure as the album name, artist, etc. But they also but identifying info in special proprietary blocks.
I thought about "zeroing" or "blanking" out the name like that other app - the easy approach from a programming standpoint (because you can leave all the internal pointers ("atom lengths") intact. But I realized the same thing that the EFF is complaining about in that article - that's actually a kind of bogus solution.
In in the interest of developing a truly correct solution, I've already collected the three copies of the same song, but purchased by three entirely different people at different times. My goal is to run each of the three thru my app and have them all end up with the same length & CRC - i.e. byte for byte identical; totally indistinguishable from each other. Only then will true anonymity have been achieved.
BTW, this is all completely legal, if not "encouraged" :confused: by the DMCA. My app will be "extremely legal" because a) it isn't going to run on copy-protected material anyway, so much of the DMCA isn't even applicable. But even if I did: b) the DMCA has a special "all of the above rules don't apply" type of clause clause specifically for the case where the goal is "removing personally identifiable info". While violating copy protection mechanisms was considered bad even back in '99, it seems in the the pre-9/11 days personal privacy was still "valued" by the US government. That seems to have gone down the drain since then, though :rolleyes:.
HyperHacker
30th June 2007, 09:51
I recall hearing though that they used audio watermarking as well. Slight variations in the sound itself - supposedly slight enough as to be unnoticeable by human ears - encode the data. Maybe that's a load of crap though or I'm thinking of some other format.
Latexxx
30th June 2007, 11:02
I recall hearing though that they used audio watermarking as well. Slight variations in the sound itself - supposedly slight enough as to be unnoticeable by human ears - encode the data. Maybe that's a load of crap though or I'm thinking of some other format.
Everybody wrote originally that they used watermarking but it is false. They only use tags. You can verify this by getting two copies of same song bought with two different accounts, decode to wav and use something like foobar2000's binary comparator. If there was any watermarking the files wouldn't match.
SeeMoreDigital
30th June 2007, 12:57
Can't you simply de-mux the AAC stream out of the .M4A container (where much of iTunes MetaData is stored) and re-mux the AAC stream back into a new MP4/M4A container?
Cheers
Shinigami-Sama
3rd July 2007, 05:56
Can't you simply de-mux the AAC stream out of the .M4A container (where much of iTunes MetaData is stored) and re-mux the AAC stream back into a new MP4/M4A container?
Cheers
thats pretty much what I was thinking as well, but I guess you'd loose all the other tags, but with that in mind couldn't you make temp files, then pull the original pre-selected(template?) meta-data and put it back into the temp file, delete the orginal, then rename to original's name?
a better approach is to use 'free' or 'skip' atoms...
simply change the atom types of the metadata to 'free' then zero out the data.
a 'free' atom is just blank space in an MP4 file and must be skipped by compliant parsers.
It should be easy enough for a program to scan the atom tree for the name/email atoms then 'skip' them and zero them.
Mind you, i haven't actually seen an iTunes+ file yet :)
stegre
3rd July 2007, 18:08
Well, I just did it the totally correct way; I wrote a CLI app containing a recursive routine that removes all the personal data, leaves all desirable metadata intact, and then recalculates and rewrites all the affected atom lengths & re-writes the "chunk offset table" (which contains a list absolute offsets into the file) as well. It produces files with identical MD5 hashes when the same song is downloaded from different accounts in every test I tried. My goal was to satisfy the EFF guy who wrote this article (http://www.eff.org/deeplinks/archives/005342.php) ;)
The quickie site with the beta version of the app is here: http://www.ftyps.com/nippin/
Schrade
3rd July 2007, 20:30
Well, I just did it the totally correct way; I wrote a CLI app containing a recursive routine that removes all the personal data, leaves all desirable metadata intact, and then recalculates and rewrites all the affected atom lengths & re-writes the "chunk offset table" (which contains a list absolute offsets into the file) as well. It produces files with identical MD5 hashes when the same song is downloaded from different accounts in every test I tried. My goal was to satisfy the EFF guy who wrote this article (http://www.eff.org/deeplinks/archives/005342.php) ;)
The quickie site with the beta version of the app is here: http://www.ftyps.com/nippin/
Does this also work on de-DRM'd tracks? I'm talking about the output of myFairTunes or QTFairUse.
Well, I just did it the totally correct way; I wrote a CLI app containing a recursive routine that removes all the personal data, leaves all desirable metadata intact, and then recalculates and rewrites all the affected atom lengths & re-writes the "chunk offset table" (which contains a list absolute offsets into the file) as well. It produces files with identical MD5 hashes when the same song is downloaded from different accounts in every test I tried. My goal was to satisfy the EFF guy who wrote this article (http://www.eff.org/deeplinks/archives/005342.php) ;)
The quickie site with the beta version of the app is here: http://www.ftyps.com/nippin/
Very very neat :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.