{"id":434,"date":"2006-12-28T23:34:50","date_gmt":"2006-12-28T16:34:50","guid":{"rendered":""},"modified":"2006-12-28T23:34:50","modified_gmt":"2006-12-28T16:34:50","slug":"the-saga-of-decrypting-an-aacs-protected-movie","status":"publish","type":"post","link":"https:\/\/deepquest.code511.com\/blog\/2006\/12\/the-saga-of-decrypting-an-aacs-protected-movie\/","title":{"rendered":"The Saga of decrypting an AACS protected movie"},"content":{"rendered":"<p>December 6:<br \/>\nI just bought a HD-DVD drive to plug on my PC, and a HD movie, cool! But when I realized the 2 software players on windows don&#8217;t allowed me to play the movie at all, because my video card is not HDCP compliant and because I have a HD monitor plugged with DVI interface, I started to get mad&#8230; This is not what we can call &#8220;fair use&#8221;! So I  decide to decrypt that movie. I start reading the AACS specification I have found on the net. I estimate it will take me about 4 weeks of full time job to decrypt that. I was wrong, it was in fact, easy&#8230;<!--more--><\/p>\n<p>BTW, when I disable my HD monitor, I can watch the movie,on my old VGA screen, but, what is the point of having<br \/>\na HD monitor and not being able to watch a HD movie on it!<\/p>\n<p>December 7 to December 12:<br \/>\nNothing, I try many things, but I&#8217;m going nowhere. I change my technique<\/p>\n<p>December 13:<br \/>\nNow I focus only on title key. I was very surprise to realize that the title key is there, in memory! Can it be that easy? Around 7PM, I decrypt my first movie &#8220;pack&#8221;. Around 11PM, I have now a totally decrypted movie! But there is a problem. Frame skipping.<\/p>\n<p>December 14:<br \/>\nAfter many tests, I found a field in the Nav pack, that fix the frame skipping problem.<br \/>\nWow! Now I can watch a smooth playback of an HDDVD film that I have decrypted!<br \/>\nAfter only 8 days of work, I was able to decrypt an HD-DVD movie! What&#8217;s the problem? There is a major security problem somewhere.<\/p>\n<p>December 15 and December 16:<br \/>\nI put together a small program called &#8220;BackupHDDVD&#8221;, a java based command line utility to decrypt movies.<\/p>\n<p>December 17:<\/p>\n<p>I made a small video called &#8220;AACS is Unbreakable&#8221; where you can see the output of the program while decrypting.<br \/>\nYou can also see a playback of a decrypted movie.<\/p>\n<p>December 18:<br \/>\nUpload that video on YouTube<br \/>\n[url=http:\/\/www.youtube.com\/watch?v=_oZGYb92isE]http:\/\/www.youtube.com\/watch?v=_oZGYb92isE[\/url]<\/p>\n<p>December 20:<\/p>\n<p>Upload the program and source code on RapidShare (V0.99)<br \/>\n[url=http:\/\/rapidshare.com\/files\/8318838\/BackupHDDVD.zip.html]http:\/\/rapidshare.com\/files\/8318838\/BackupHDDVD.zip.html[\/url]<br \/>\nmirror: [url=http:\/\/deepquest.code511.com\/blog\/BackupHDDVD.zip]BackupHDDVD[\/url]<\/p>\n<p>December 21:<\/p>\n<p>I want to go further in the decryption, so I decide to track down the &#8220;Volume unique key&#8221; instead of title key.<br \/>\nI found it also! I&#8217;m preparing BackupHDDVD V1.00, that will support volume key and title keys.<\/p>\n<p>December 25:<br \/>\nMerry Christmas!<\/p>\n<p>December 26:<br \/>\nI create a thread on the Doom9 forum about BackupHDDVD. People don&#8217;t believe it&#8230;<\/p>\n<p>from muslix64<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Saga of decrypting an AACS protected movie<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[5],"tags":[],"class_list":["post-434","post","type-post","status-publish","format-standard","hentry","category-devnullies"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p4bBYZ-70","_links":{"self":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts\/434","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/comments?post=434"}],"version-history":[{"count":0,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/posts\/434\/revisions"}],"wp:attachment":[{"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/media?parent=434"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/categories?post=434"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/deepquest.code511.com\/blog\/wp-json\/wp\/v2\/tags?post=434"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}