<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The HyRax Macrocosm &#187; LG</title>
	<atom:link href="http://www.serenux.com/tag/lg/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.serenux.com</link>
	<description>Life, the Universe and Ubuntu.</description>
	<lastBuildDate>Sun, 29 Aug 2010 21:35:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>HowTo: Deal with BD+ copy protection when ripping Blu-ray titles using Ubuntu</title>
		<link>http://www.serenux.com/2009/09/howto-deal-with-bd-copy-protection-when-ripping-blu-ray-titles-using-ubuntu/</link>
		<comments>http://www.serenux.com/2009/09/howto-deal-with-bd-copy-protection-when-ripping-blu-ray-titles-using-ubuntu/#comments</comments>
		<pubDate>Tue, 01 Sep 2009 23:18:25 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Applications]]></category>
		<category><![CDATA[Blu-ray]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[High-Definition]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Jaunty]]></category>
		<category><![CDATA[LG]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=568</guid>
		<description><![CDATA[A fair while back now, I wrote an article detailing how to decode Blu-ray titles using Ubuntu and an LG GGC-H20L Blu-ray optical drive. This article detailed how to decrypt just about every movie under the sun except for a newer type of protection called &#8220;BD+&#8221; which I never got around to supplementing my original [...]]]></description>
			<content:encoded><![CDATA[<p>A fair while back now, I wrote an article detailing <a title="HowTo: Rip a Blu-ray movie using an LG GGC-H20L Blu-ray drive with Ubuntu" href="http://www.serenux.com/2009/01/howto-rip-a-blu-ray-movie-using-an-lg-ggc-h20l-blu-ray-drive-with-ubuntu/" target="_blank">how to decode Blu-ray titles using Ubuntu and an LG GGC-H20L Blu-ray optical drive</a>.</p>
<p>This article detailed how to decrypt just about every movie under the sun except for a newer type of protection called &#8220;BD+&#8221; which I never got around to supplementing my original article with.</p>
<p>What is &#8220;BD+&#8221; protection? Well in short, it&#8217;s the deliberate corruption of random parts of the video track of the movie (well, OK &#8211; that is a highly simplified definition as BD+ protection can do a lot more than that, but the end result is the same &#8211; to prevent unauthorised playback which includes ripping). The idea BD+ is that when you rip the title, you can still watch the movie, but with some or all of the screen corrupt at various stages in the movie which well and truely ruins the movie-watching experience, especially since you paid good money for it and should not be forced to buy a dedicated consumer Blu-ray player when you&#8217;ve got a perfectly good PC that can do the same task.</p>
<p>But hang on, if the movie is deliberately corrupt, then how come it plays fine in a stand-alone consumer Blu-ray player or PlayStation3 console?</p>
<p>Well, let me tell you about that and how to get around it yourself.</p>
<p><span id="more-568"></span>I have to give credit to the movie studios for this one. It&#8217;s a simple, and annoying, method of protection. But as with anything, it was eventually reverse-engineered and broken, and neat little tools were developed to allow us consumer types to backup, or watch in our preferred way, our movies bought with our hard-earned cash.</p>
<p>So what&#8217;s this BD+ thing all about? Basically after the movie is mastered and just before being pressed to discs, an extra step is taken where by random parts of the movie data stream are deliberately exchanged with random data or removed altogether, thus corrupting the video stream. A record is kept, however, of what parts of the movie have been changed &#8211; a table listing where, when and what data needs to be put back into the movie stream in order to watch the movie back in its original uncorrupted format. This table is called a &#8220;conversion table&#8221;, and it is processed by your Blu-ray player while you watch the movie, with the correct data substituted back into the video stream before the image hits your screen, thus resulting in a proper uncorrupted picture.</p>
<p style="text-align: center;">
<div id="attachment_575" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/BDCorruptStream.jpg"><img class="size-medium wp-image-575" title="BD Corrupt Stream" src="http://www.serenux.com/wp-content/uploads/2009/09/BDCorruptStream-300x168.jpg" alt="An example of a corrupted video stream. Click for full size." width="300" height="168" /></a><p class="wp-caption-text">An example of a corrupted video stream showing the BD+ Protection in full effect. Click for full size.</p></div>
<div id="attachment_576" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/BDNotCorruptStream.jpg"><img class="size-medium wp-image-576" title="BD Not Corrupt Stream" src="http://www.serenux.com/wp-content/uploads/2009/09/BDNotCorruptStream-300x168.jpg" alt="An example of the repaired video stream. Click for full size." width="300" height="168" /></a><p class="wp-caption-text">An example of the repaired video stream using the Conversion Table. Click for full size.</p></div>
<p>So how do we get around BD+? Well, all we have to do is follow this conversion table ourselves and correct the corrupted data as the title is decrypted.</p>
<p>As I showed in my previous article, the DumpHD application is brilliant and it has been extended by the author KenD00 to allow the &#8220;plugging in&#8221; of another program called the &#8220;BD VM Debugger&#8221;. What this program does is simple &#8211; it executes the Java Virtual Machine that runs the conversion table in concert with the normal decrypting process which happens when the disc is played in your normal BD player, patching up the stream as it goes. The end result is a clean decryption with no corrupt video stream.</p>
<p>This tutorial was written using Ubuntu Jaunty but should work with Intrepid and should definitely work with Karmic and beyond as well.</p>
<p><em>DISCLAIMER: This article describes decrypting BD titles using an Intel or AMD based PC with Ubuntu Linux. At this time of writing you <strong>cannot</strong> use Ubuntu installed on a PlayStation3 console to deal with BD+ copy protection because the BD VM Debugger and AACS Keys applications are not available for the PPC processor used by the PS3.</em></p>
<p>So let&#8217;s set this up, but first &#8211; since my last article, <a title="The DumpHD homepage on the Doom9 forums" href="http://forum.doom9.org/showthread.php?t=123111" target="_blank">DumpHD</a> has been updated to 0.61 so let&#8217;s upgrade this first. <a title="Download the DumpHD app" href="http://rapidshare.com/files/240557737/dumphd-0.61.tar.gz" target="_blank">Go and download yourself a copy</a>.</p>
<ol>
<li>Extract the archive out by either double-clicking on it or via the terminal. You should get a &#8220;dumphd-0.61&#8243; directory.<br />
.</li>
<li>If you are upgrading from an older version of DumpHD, copy over the &#8220;KEYDB.cfg&#8221; file, overwriting the archive copy. No point losing your collection of keys accumulated thus far. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
.</li>
<li>You&#8217;re done for this bit.</li>
</ol>
<p>The AACSKeys program (which extracts the decryption key for the Blu-ray title and can automatically update your &#8220;KEYDB.cfg&#8221; file for you when you insert a new Blu-ray title) has also been updated to 0.4.0c since my last article, so <a title="Download the AACSKeys app" href="http://rapidshare.com/files/273476005/aacskeys-0.4.0c.tar.gz" target="_blank">go download yourself a copy of that as well</a>.</p>
<ol>
<li>Extract the archive out by either double-clicking on it or via a terminal. You should get a &#8220;aacskeys-0.4.0c&#8221;.<br />
.</li>
<li>Copy the &#8220;ProcessingDeviceKeysSimple.txt&#8221; and &#8220;HostKeyCertificate.txt&#8221; into the &#8220;dumphd-0.61&#8243; directory.<br />
.</li>
<li>Copy over the &#8220;libaacskeys.so&#8221; file located in the &#8220;/lib/linux32/&#8221; OR &#8220;/lib/linux64/&#8221; directories (depending on which architecture you&#8217;re using) to the &#8220;dumphd-0.61&#8243; directory. Do NOT copy or create the &#8220;/lib/linux32&#8243; or &#8220;/lib/linux64&#8243; directories themselves. Copy the library file only.<br />
.</li>
<li>You&#8217;re done for this bit.</li>
</ol>
<p>Right, let&#8217;s get the BD VM Debugger installed. As of this writing, the current version is 0.1.5. <a title="Download the BD VM Debugger" href="http://uploaded.to/?id=xcco6l" target="_blank">Go and download yourself a copy</a>.</p>
<ol>
<li>This archive is provided as a 7zip file. Ubuntu does not have out-of-the-box support for this archive format, so install it first with:
<pre><span style="color: #000080;">$ sudo apt-get install p7zip-full</span></pre>
<p>.</li>
<li>Once installed, extract the archive either by double-clicking on it like any normal archive, or via the terminal as follows:
<pre><span style="color: #000080;">$ 7z e bdvmdbg-0.1.5.7z</span></pre>
<p>.</li>
<li>Copy over the everything into the &#8220;dumphd-0.61&#8243; directory except the &#8220;changelog.txt&#8221;, &#8220;readme.txt&#8221; and &#8220;debugger.sh&#8221; files since you don&#8217;t really need them, but there&#8217;s no harm copying them anyway.<br />
.</li>
<li>That&#8217;s it!</li>
</ol>
<p>You should now have a total of at least of 17 files and two directories inside the &#8220;dumphd-0.61&#8243; directory (if you are setting up these tools for the first time, you will only have 15 files instead, as two of them  &#8211; <em>conv_tab.bin</em> &amp; <em>hash_db.bin</em> &#8211; are generated by DumpHD in conjunction with the BD VM Debugger).</p>
<p style="text-align: center;">
<div id="attachment_579" class="wp-caption aligncenter" style="width: 404px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/DumpHD061Folder.jpg"><img class="size-full wp-image-579" title="DumpHD-0.61 Folder" src="http://www.serenux.com/wp-content/uploads/2009/09/DumpHD061Folder.jpg" alt="The prepared DumpHD folder with the tools we need. Click for full size." width="394" height="359" /></a><p class="wp-caption-text">The prepared DumpHD folder with the tools we need. Click for full size.</p></div>
<p>Now let&#8217;s try decrypting a BD+ protected Blu-ray title. In this example, I will use the Australian release of &#8220;Day Watch&#8221;, the sequel to the Russian epic &#8220;Night Watch&#8221;.</p>
<p style="text-align: center;">
<div id="attachment_574" class="wp-caption aligncenter" style="width: 378px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/DayWatchBox.jpg"><img class="size-large wp-image-574" title="Day Watch Blu-ray Title" src="http://www.serenux.com/wp-content/uploads/2009/09/DayWatchBox-1024x768.jpg" alt="The BD+ Protected &quot;Day Watch&quot; Blu-ray title I am ripping. Click for full size." width="368" height="277" /></a><p class="wp-caption-text">The BD+ Protected &quot;Day Watch&quot; Blu-ray title I am ripping. Click for full size.</p></div>
<p><em>NOTE: Your ability to decrypt a given Blu-ray title, BD+ protected or not, will ultimately depend on the MKB version of the disc. As of this writing, DumpHD can only decrypt up to MKB version 10. Newer discs using version 11 or later can only be decrypted once suitable decryption keys are uncovered and added to the &#8220;ProcessingDeviceKeysSimple.txt&#8221; file in the &#8220;dumphd-0.61&#8243; directory.</em></p>
<p><em>The obtaining of the decryption key of the Blu-ray title also requires the player authentication mechanism of your Blu-ray drive to be bypassed, or through use of a drive that deliberately does not have this feature such as some imported drives from China. In the case of my LG GGC-H20L drive, I used a <a title="My first review of ripping a Blu-ray title with this drive contains information about applying modified firmware." href="http://www.serenux.com/2009/01/howto-rip-a-blu-ray-movie-using-an-lg-ggc-h20l-blu-ray-drive-with-ubuntu/" target="_blank">modified firmware</a> so that the drive always gave up the disc&#8217;s decryption key regardless of what player certificate I used &#8211; blacklisted or not.</em></p>
<ol>
<li>Start the DumpHD program by double-clicking on the &#8220;dumphd.sh&#8221; icon. You will be asked if you want to run the script file. Click on the &#8220;Run&#8221; button.<br />
.</p>
<div id="attachment_583" class="wp-caption aligncenter" style="width: 312px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/StartingDumpHD.jpg"><img class="size-full wp-image-583" title="Starting DumpHD" src="http://www.serenux.com/wp-content/uploads/2009/09/StartingDumpHD.jpg" alt="Starting DumpHD" width="302" height="110" /></a><p class="wp-caption-text">Starting the DumpHD application. Click for full size.</p></div></li>
<li>When the DumpHD GUI appears, make a note of the messages in the bottom pane to ensure that AACSKeys and the BD VM Debugger was found and loaded OK. You should see the following information:
<pre><span style="color: #000080;">DumpHD 0.61 by KenD00

Opening Key Data File... OK
Initializing AACS... OK
Loading aacskeys library... OK
aacskeys library 0.4.0 by arnezami, KenD00
Loading BDVM... OK
BDVM 0.1.5</span></pre>
<p><div id="attachment_582" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDStarted.jpg"><img class="size-full wp-image-582" title="DumpHD Started" src="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDStarted.jpg" alt="DumpHD Started" width="480" height="360" /></a><p class="wp-caption-text">The DumpHD Interface. Click for full size.</p></div>
<p style="text-align: center;">.</p>
</li>
<li>Insert the Blu-ray title into your Blu-ray drive.<br />
.</li>
<li>Next to the &#8220;Source&#8221; section at the top-right of the DumpHD window is a &#8220;Browse&#8221; button. Click on it.<br />
.</li>
<li>Navigate to the path of your Blu-ray drive (generally &#8220;/media/cdrom&#8221; will work fine). and hit the OK button.
<div id="attachment_580" class="wp-caption aligncenter" style="width: 272px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDBrowseSource.jpg"><img class="size-full wp-image-580" title="DumpHD Browse Source" src="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDBrowseSource.jpg" alt="DumpHD Browse Source" width="262" height="271" /></a><p class="wp-caption-text">Choosing a source to rip from. Click for full size.</p></div></li>
<li>DumpHD will read the disc and will pass it through AACSKeys to identify the title&#8217;s descryption key. If it is successful, it will output some data about the disc in the lower pane. In the case of my <em>Day Watch</em> title, it shows the following:
<pre><span style="color: #000080;">Initializing source...
Disc type found: Blu-Ray BDMV
Collecting input files...
Source initialized
Identifying disc... OK
DiscID : 73886D08811073F45AD8C75012689097E17EBD3C
Searching disc in key database...
Disc found in key database</span></pre>
<p><div id="attachment_581" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDDiscIdentified.jpg"><img class="size-full wp-image-581" title="DumpHD Disc Identified" src="http://www.serenux.com/wp-content/uploads/2009/09/DumpHDDiscIdentified.jpg" alt="DumpHD Disc Identified" width="480" height="360" /></a><p class="wp-caption-text">Identifying the disc and getting the decryption keys to rip with. Click for full size.</p></div>
<p style="text-align: center;">.</p>
</li>
<li>This is good. We can decrypt this. If the title is not one you have ripped before, you have the option to click on the &#8220;Title&#8221; button at the top-left of the DumpHD window to give the movie a name in your Key Database.<br />
.</li>
<li>In the &#8220;Destination&#8221; section on the right, click on the &#8220;Browse&#8221; button.<br />
.</li>
<li>Choose a place to dump the decrypted disc to. Note that most titles will dump at least 20GB worth of data and in some cases 50GB. Ensure that you have enough hard-drive space in the location you choose to dump to.<br />
.</li>
<li>We&#8217;re ready to rock and/or roll. Click on the &#8220;Dump&#8221; button and decryption will begin, automatically executing the BD VM and applying the Conversion Table to correct the deliberate corruption in the video stream. Here&#8217;s a small extract of what you will see in the lower pane of the DumpHD window:
<pre><span style="color: #000080;">AACS data processed
Initializing the BDVM... OK
Executing the BDVM... OK
Parsing the Conversion Table... OK
Processing: BDMV/BACKUP/CLIPINF/00000.clpi
Processing: BDMV/BACKUP/CLIPINF/00001.clpi
Processing: BDMV/BACKUP/CLIPINF/00002.clpi
etc...</span></pre>
<div id="attachment_578" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/BDRipStart.jpg"><img class="size-full wp-image-578" title="BD Rip Start" src="http://www.serenux.com/wp-content/uploads/2009/09/BDRipStart.jpg" alt="BD Rip Start" width="480" height="341" /></a><p class="wp-caption-text">Beginning the ripping process. Click for full size.</p></div>
<p style="text-align: center;">.</p>
</li>
<li>And after awhile it will finish with something like:
<pre><span style="color: #000080;">Processing: BDMV/STREAM/00211.m2ts
Searching CPS Unit Key... #1
0x0000000000 Decryption enabled
Processing: BDMV/STREAM/00212.m2ts
Searching CPS Unit Key... #1
0x0000000000 Decryption enabled
Processing: BDMV/index.bdmv
Disc set processed</span></pre>
<div id="attachment_577" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.serenux.com/wp-content/uploads/2009/09/BDRipDone.jpg"><img class="size-full wp-image-577" title="BD Rip Done" src="http://www.serenux.com/wp-content/uploads/2009/09/BDRipDone.jpg" alt="BD Rip Done" width="480" height="341" /></a><p class="wp-caption-text">Finished decrypting the Blu-ray title. Click for full size.</p></div>
<p style="text-align: center;">.</p>
</li>
<li>That&#8217;s it! You&#8217;ve successfully decrypted the disc and fixed up the corrupted video track. Identify and playback the actual movie M2TS file using a player like MPlayer or VLC, and you should now find that it contains no corruption whatsoever. In the case of <em>Day Watch</em>, the movie file was under <em>BDMV/STREAM/00012.m2ts</em> identifiable simply because it was the largest file in the directory. Using MPlayer, you can play this file with:
<pre><span style="color: #000080;">$ mplayer -fs BDMV/STREAM/00012.mt2s</span></pre>
<p>Thankfully this title does not have the movie broken up into multiple files (I&#8217;ll be writing another article soon showing you how to deal with multi-part movies).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/09/howto-deal-with-bd-copy-protection-when-ripping-blu-ray-titles-using-ubuntu/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>HowTo: Rip a Blu-ray movie using an LG GGC-H20L Blu-ray drive with Ubuntu</title>
		<link>http://www.serenux.com/2009/01/howto-rip-a-blu-ray-movie-using-an-lg-ggc-h20l-blu-ray-drive-with-ubuntu/</link>
		<comments>http://www.serenux.com/2009/01/howto-rip-a-blu-ray-movie-using-an-lg-ggc-h20l-blu-ray-drive-with-ubuntu/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 00:50:03 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Backup]]></category>
		<category><![CDATA[Blu-ray]]></category>
		<category><![CDATA[High-Definition]]></category>
		<category><![CDATA[HowTo]]></category>
		<category><![CDATA[Intrepid]]></category>
		<category><![CDATA[LG]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MPlayer]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=356</guid>
		<description><![CDATA[The Blu-ray disc format has brought with it the ability to easily provide the next generation of High-Definition 1080p movie content. There&#8217;s just one problem &#8211; Ubuntu and Linux in general has no official support for Blu-ray, and its encryption scheme is vastly different to that of DVD &#8211; it&#8217;s not just a simple case [...]]]></description>
			<content:encoded><![CDATA[<p>The Blu-ray disc format has brought with it the ability to easily provide the next generation of High-Definition 1080p movie content. There&#8217;s just one problem &#8211; Ubuntu and Linux in general has no official support for Blu-ray, and its encryption scheme is vastly different to that of DVD &#8211; it&#8217;s not just a simple case of installing a library like the libdvdcss2 library for decrypting DVD&#8217;s &#8211; the protection is done both at a software and hardware level.</p>
<p>This article discusses how I used my recently purchased LG GGC-H20L Blu-ray ROM drive to successfully read and watch movies using Ubuntu Intrepid.</p>
<p><span id="more-356"></span><em>DISCLAIMER: This article describes decrypting BD titles using an Intel or AMD based PC with Ubuntu Linux. While you can use a PlayStation3&#8242;s BD drive to read and decrypt a title using <strong>known</strong> decryption keys using the PS3 version of Ubuntu, at this time of writing you <strong>cannot</strong> use Ubuntu installed on a PlayStation3 console to identify <strong>unknown</strong> decryption keys of a given BD title because the application used to derive those keys from the disc is not available for the PPC processor used by the PS3. You must use a consumer BD-ROM drive on an Intel or AMD based PC instead.<br />
</em></p>
<p>Hang on, you say &#8211; if there is no support for playback of Blu-ray movies on Linux, then why buy a Blu-ray drive if you can&#8217;t watch the movies? Well, I might not be able to watch them directly, but I can certainly rip the little buggers and watch a file version of it instead. But wait again, you say, if there&#8217;s no official Blu-ray support, and you can&#8217;t watch the discs directly, then how on earth do you rip them?? I&#8217;m glad you asked, and even if you didn&#8217;t ask, I&#8217;m about to tell you anyway. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>First up, a little Blu-ray 101.</p>
<p>Blu-ray movies feature Digital Rights Management (DRM). Like DVD&#8217;s before it, most Blu-ray movies are encrypted. This is to stop those naughty pirate types from making illegal backups of the movie and giving or selling it to their mates. In the case of DVD&#8217;s, however, there was only one decryption key which was eventually discovered and from then on allowed all DVD&#8217;s to be easily decrypted using a simple library (called libdvdcss2). The movie industry as a whole were not impressed by this and insisted that the next format be more difficult (preferably impossible) to decrypt, so Blu-rays (and HD-DVD&#8217;s, but I&#8217;ll concentrate on Blu-ray for this article) each have a different decryption key now. But to complicate this further, this key is kept hidden from you by an authentication mechanism to ensure that there isn&#8217;t a repeat of the De-CSS scandal that brought the DVD encryption scheme undone.</p>
<p>Each and every player out there, hardware or software, has a unique player authentication key which is passed to the Blu-ray optical drive, essentially like giving your passport to Customs at the country border, to validate whether or not you are legally authorised to  playback a movie. If the drive has not got a blacklisted record of your authentication key, and the key is accepted as a generally valid key that has been paid for, THEN the drive will give up the movie&#8217;s decryption key and movie playback can commence.</p>
<p>Blacklist?? What blacklist? Well, like DVD players, it&#8217;s not difficult to pick up a Blu-ray player&#8217;s authentication key that is used to prompt the drive for the disc&#8217;s decryption key, after all, it has to be held in memory somewhere. Once an industry authority discovers that an authentication key has been compromised, it is added to a blacklist so that it will not work anymore. This is why hardware Blu-ray players need to be firmware-upgradable, and why software players need to be upgraded to the next version periodically with patches, etc, so that new, non-blacklisted authentication keys can be provided.</p>
<p>OK, that sounds all well and good, but if the Blu-ray drive itself is doing the blacklisting, how exactly does it know when a given authentication key is no longer valid? Simple &#8211; its blacklist will get updated with the next latest-release movie you buy.</p>
<p>Say what?</p>
<p>Every Blu-ray movie you buy has a little file on the disc under the &#8220;AACS&#8221; folder called &#8220;ContentRevocation.lst&#8221;. This file contains a complete list of blacklisted authentication keys for the drive to update itself with, and &#8211; get this &#8211; you can&#8217;t stop the drive loading it. Well, actually to be more accurate this file is simply a copy of the same list that is actually hidden in a non-tamperable, non-user-readable area elsewhere on the disc for the drive to read, but basically the instant you stick that movie disc in, the hidden version of this file is read and the drive automatically updates its blacklist right away with any new blacklist data, even before the disc icon appears on your desktop. Sneaky, huh?</p>
<p>So the next time your legal (or more specifically, pirated) copy of PowerDVD or whatever tries to playback a movie, all of a sudden you&#8217;ll see an error message instead saying that your player&#8217;s authentication key has been revoked &#8211; thus the movie is now unplayable. What&#8217;s worse is that you won&#8217;t be able to watch any of your older discs that worked previously either! It&#8217;s this exact reason that many people have called for the Blu-ray (and HD-DVD) formats to be <a title="Why you should boycoot Blu-ray and HD-DVD." href="http://bluraysucks.com/" target="_blank">boycotted</a>.</p>
<p>But not all is lost. Remember, this is an encryption technology created by Man, and therefore can be broken by Man with a bit of help from the Open Source Community at large. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  With a little help from a few external resources including the <a title="Ubuntu Community Documentation" href="https://help.ubuntu.com/community/RestrictedFormats/BluRayAndHDDVD" target="_blank">Ubuntu Community Documentation</a> and the <a title="Doom9 Forums" href="http://forum.doom9.org" target="_blank">Doom9 forums</a>, I discovered a plethora of projects by various people, from dumping discs to breaking the encryption and authentication.</p>
<p>On the surface are general applications to dump the movie, decrypted, to a file. One of the best projects is <a title="DumpHD on the Doom9 Forums" href="http://forum.doom9.org/showthread.php?t=123111" target="_blank">DumpHD</a> which is a Java app that provides a nice easy to use GUI that can rip a movie with a minimum of fuss (see detail about how to use it later in this article), however it requires that you already know what the decryption key for a given movie is which you can only obtain if you have authenticated with the drive. If you have the decryption key already, however, then authentication is not necessary and you can rip the movie right away without a problem, so this project is heavily supported by people posting up various decryption keys for all sorts of movie releases. The problem with this approach, however, is that different countries usually get different releases of the same movie, so for example a release of &#8220;Batman Begins&#8221; in Australia might have a completely different decryption key to the release of &#8220;Batman Begins&#8221; in America or Europe. This is not always the case of course, a good example being the Ewan McGregor movie &#8220;The Island&#8221; &#8211; the Australian release is actually the UK release, right down to the age-rating and film-office classification markings on the disc itself &#8211; only the box bears any Australian ratings markings!</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/snaps/BlurayMovieInserting.jpg" target="_blank"><img title="Inserting a Blu-ray movie into the LG GGC-H20L" src="http://www.serenux.com/~hyrax/snaps/BlurayMovieInserting_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (228K)</p>
<p>So, how do you find out the decryption key of your locally purchased movie then? You don&#8217;t want to keep buying a commercial player, especially one that doesn&#8217;t run under Ubuntu, just to get a valid authentication key. There&#8217;s got to be a better way! Well, there is! How about we just bypass the authentication procedure altogether? How? Again, through another great contribution on the Doom9 forums.</p>
<p>The LG GGC-H20L drive is but one of many Blu-ray/HD-DVD drives which have had their firmware reverse-engineered. Firmware is largely just a computer program that operates the drive. Since the firmware is upgradable to fix bugs and add new features to the drive, it means the program can be altered by a third party. A Doom9 contributor has provided <a title="Modified Blu-ray drive firmware" href="http://forum.doom9.org/showthread.php?t=139522" target="_blank">modified firmware</a> for various popular drives, including the GGC-H20L that effectively allow the drive to ignore the authentication procedure no matter what player authentication key is provided, blacklisted or not, thus making the drive give up the decryption key for the Blu-ray movie currently inserted every time!</p>
<p>In the case of the LG GGC-H20L that I use, the firmware is provided as a Windows Executable file. There are three ways to run this, either via a native Windows installation on your PC, a virtualised Windows installation on your PC, or via the Wine compatibility layer. I successfully upgraded my drive using the Wine option as follows:</p>
<p><em><span style="color: #ff0000;"><strong>WARNING: The following information can damage or even brick your LG Blu-ray drive if not followed correctly, or if you have a power failure during firmware update. You proceed at your own risk and I will not be held responsible for any damage incurred by your drive, or for loss of hair being torn out, by following these instructions.</strong></span></em></p>
<ol>
<li>You need a normal Wine installation. If you&#8217;ve never installed it before, then type in:
<pre><span style="color: #000080;">$ sudo apt-get install wine</span></pre>
<p>&#8230;and this will install the Ubuntu-repository version of Wine.</li>
<li>Since we&#8217;ll be modifying a physical device, only root can do that, so we will need to use sudo to execute the firmware upgrade, however Wine will not work as root until we change permissions of your Wine configuration in your Home directory, so type in the following to make root the owner of your Wine configuration:
<pre><span style="color: #000080;">$ sudo chown -R root:root ~/.wine</span></pre>
</li>
<li>Now execute the downloaded firmware file:
<pre><span style="color: #000080;">$ sudo wine GGC-H20L_1.03_VolumeID_Patch.exe</span></pre>
</li>
<li>The Upgrade GUI will appear. Click on the button to commence update and let it do its thing. After a minute or two, it will tell you that the drive firmware has been successfully updated. At this point, you will need to reboot your PC, but before you do, remember to change the owner of your Wine installation back to yourself. If your login was &#8220;jbloggs&#8221;, then you&#8217;d type in:
<pre><span style="color: #000080;">$ sudo chown -R jbloggs:jbloggs ~/.wine</span></pre>
</li>
</ol>
<p>Upon returning from restart, every time you query the drive for the inserted disc&#8217;s decryption key, the drive will now happily give it to you without question. Nice.</p>
<p>So how do we query the drive for that decryption key anyway? A simple tool to do this is <a title="AACSKeys - gets a movie's decryption key" href="http://forum.doom9.org/showthread.php?p=1320065#post1320065" target="_blank">aacskeys</a> (version 0.4.0c at this time of writing, but check further along the thread for newer releases) written by another Doom9 member, which queries the drive and tells you its Volume Unique Key and its Disc ID, which you can then copy and paste into DumpHD&#8217;s keys config file and happily begin dumping your movie.</p>
<pre><span style="color: #000080;">$ ./aacskeys /media/cdrom
aacskeys 0.3.6 by arnezami, KenD00

Volume Unique Key:              5D9BCD44522B6940F8705400DA612ED9
Unit Key File Hash (Disc ID):   837487B4D6F614D5B4D5F566387B41C2D284F393
$ </span></pre>
<p>If your drive&#8217;s firmware was not patched, instead of seeing the Volume Unique Key and Disc ID, you would get this error message instead: &#8220;The given Host Certficate / Private Key has been revoked by your drive.&#8221;.</p>
<p>We now need to take the output data and copy it to DumpHD&#8217;s &#8220;keydb.cfg&#8221; file. Each key is placed on its own line in the following format:</p>
<pre><span style="color: #000080;">DISC ID = Movie Title | D | YYYY-MM-DD | V | VOLUME UNIQUE KEY</span></pre>
<p>Thus in the example above, we would enter:</p>
<pre><span style="color: #000080;">837487B4D6F614D5B4D5F566387B41C2D284F393 = The Island | D | 2007-03-22 | V | </span><span style="color: #000080;">5D9BCD44522B6940F8705400DA612ED9
</span></pre>
<p>Now technically it appears that the date is largly irelevant, and most people just use 0000-00-00 instead of a real date (which is supposed to be the file date of the &#8220;Unit_Key_RO.inf&#8221; file in the &#8220;AACS&#8221; folder of the disc). I have tested this and I can&#8217;t see any difference in how DumpHD handles the disc.</p>
<p>Once you have finished editing the keydb.cfg file, save it.</p>
<p><em>NOTE: DumpHD (below) can now use AACSKeys directly, saving you having to edit to the keydb.cfg file manually, because DumpHD now does all the work for you. See <a title="A better way of using AACSKeys with DumpHD." href="http://www.serenux.com/2009/09/howto-deal-with-bd-copy-protection-when-ripping-blu-ray-titles-using-ubuntu/" target="_blank">this article</a> for more information.</em></p>
<p>Since DumpHD is a Java application, you will need Java installed to run it. If you haven&#8217;t already got it installed, you can install it with the following command:</p>
<pre><span style="color: #000080;">sudo apt-get install java-common</span></pre>
<p>&#8230;or more realistically you should install it as part of the ubuntu-restricted-extras package which also installs a number of other useful packages:</p>
<pre><span style="color: #000080;">sudo apt-get install ubuntu-restricted-extras</span></pre>
<p>Once that is done, launch DumpHD by simply running the &#8220;dumphd.sh&#8221; script by either double-clicking on it and select &#8220;Run&#8221; when prompted, or in a terminal, change to where you extracted the DumpHD program and type in:</p>
<pre><span style="color: #000080;">$ sh ./dumphd.sh</span></pre>
<p>When loaded, you will be presented with the following interface:</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/snaps/DumpHDFrontend.jpg" target="_blank"><img title="DumpHD Frontend" src="http://www.serenux.com/~hyrax/snaps/DumpHDFrontend_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (63K)</p>
<p>At the top-right of the window, there is the Source Browse button. Click on it and a new window will appear. In that window, type in or select &#8220;/media/cdrom&#8221; and then click OK. After a few seconds, the disc should be identified and you will see the window change as follows:</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/snaps/LoadedMovieReadyToRip.jpg" target="_blank"><img title="DumpHD Frontend" src="http://www.serenux.com/~hyrax/snaps/LoadedMovieReadyToRip_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (85K)</p>
<p>Now all you need to do is click on the Destination Browse button, specify a place to store the decrypted movie and then click the Dump button to start the whole process! Once finished, you will have every video title found on the disc dumped in its originally encoded (video-wise) format, but without DRM. You can then use MPlayer to play these files directly. Generally the movie itself is the largest file, so in the case of my example, it&#8217;s the &#8220;00000.m2ts&#8221; file. I can play it simply with:</p>
<pre><span style="color: #000080;">$ mplayer -fs 00000.m2ts</span></pre>
<p>The -fs parameter plays the movie full-screen. I can toggle audio tracks using the hash (#) key (as for some reason, English is generally not the first audio track on the disc).</p>
<p>Remember that Blu-ray movies are very large. In my example, &#8220;The Island&#8221; is a good 21GB! It&#8217;s now up to you to decide whether or not you want to provide storage for your rips of this size, or whether or not you want to compress them down to save space. In my case, I was able to compress the movie down to about 4GB with negligible quality loss at a bitrate of 1200 using the x264 codec. I&#8217;ll probably increase this bitrate and allow the filesize to go to 8GB so I can maintain as near-perfect image quality to the original Blu-ray as possible. I personally choose to preserve the audio tracks as-is without down-converting them &#8211; they really don&#8217;t eat up that much space &#8211; a few hundred megabytes only.</p>
<p>Happy ripping!</p>
<p><span style="color: #0000ff;"><em><span style="text-decoration: underline;"><strong>Woah! After I&#8217;ve ripped the movie, it plays but it&#8217;s all corrupted! What&#8217;s going on?</strong></span></em></span></p>
<p>The movie you have ripped is likely protected using BD+ protection. This is where some or much of the movie is deliberately corrupted to annoy you. I have written a guide on how to deal with this and correct the corruption <a title="Dealing with BD+ copy protection on Blu-ray discs." href="http://www.serenux.com/2009/09/howto-deal-with-bd-copy-protection-when-ripping-blu-ray-titles-using-ubuntu/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/01/howto-rip-a-blu-ray-movie-using-an-lg-ggc-h20l-blu-ray-drive-with-ubuntu/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Mini-review: LG GGC-H20L Super Multi Blue Blu-ray Disc &amp; HD DVD-ROM Drive on Ubuntu</title>
		<link>http://www.serenux.com/2009/01/mini-review-lg-ggc-h20l-super-multi-blue-blu-ray-disc-hd-dvd-rom-drive-on-ubuntu/</link>
		<comments>http://www.serenux.com/2009/01/mini-review-lg-ggc-h20l-super-multi-blue-blu-ray-disc-hd-dvd-rom-drive-on-ubuntu/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 00:49:50 +0000</pubDate>
		<dc:creator>HyRax</dc:creator>
				<category><![CDATA[Review]]></category>
		<category><![CDATA[Blu-ray]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[High-Definition]]></category>
		<category><![CDATA[Intrepid]]></category>
		<category><![CDATA[LG]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.serenux.com/?p=355</guid>
		<description><![CDATA[Optical storage certainly has come a long way, and with each new advance brings new affordable hardware to help nudge it along. The HD-DVD and Blu-ray disc formats brought along with it the ability to store and distribute high-quality, full high-definition 1080p movies. Unlike when DVD first appeared, and probably thanks to the battle that [...]]]></description>
			<content:encoded><![CDATA[<p>Optical storage certainly has come a long way, and with each new advance brings new affordable hardware to help nudge it along. The HD-DVD and Blu-ray disc formats brought along with it the ability to store and distribute high-quality, full high-definition 1080p movies.</p>
<p>Unlike when DVD first appeared, and probably thanks to the battle that was waged between the HD-DVD and Blu-ray formats, the provision of high-definition media and associated players has dropped in price rather dramatically to drive acceptance. I have a fairly large original DVD collection, but I am a quality freak and in light of high-definition releases, I loathed the idea of buying a DVD version of a given movie knowing that for about the same price I can buy a high-definition version.</p>
<p>So I decided to buy a Blu-ray drive. One of the cheapest options on the market is LG&#8217;s internal drive option called the &#8220;Super Multi Blue Blu-ray Disc &amp; HD DVD-ROM Drive&#8221;, model GGC-H20L for about AUD$150. This review is my experience using the drive under Ubuntu 8.10, Intrepid Ibex.</p>
<p><span id="more-355"></span>My unit came packaged in a slightly larger-than-usual box with attractive print on it. I normally prefer to buy an OEM drive since this packaging generally always ends up in the bin, so I&#8217;d rather save some money. Unfortunately my retailer didn&#8217;t have any, so I had to buy the retail box.</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-362" title="LG GGC-H20L Blu-ray and HD DVD-ROM Combo drive" src="http://www.serenux.com/wp-content/uploads/2009/01/ggc-h20l.png" alt="LG GGC-H20L Blu-ray and HD DVD-ROM Combo drive" width="350" height="150" /></p>
<p>In a nutshell, this unit is able to read HD-DVD and Blu-Ray media as well as DVD and CD media, but it can only write to DVD and CD media (all the usual formats you expect, so I won&#8217;t detail them here). This suits me fine as these days I rarely write any discs except for giving someone a copy of Ubuntu on disc, and I just needed the ability to read Blu-ray movies that I buy.</p>
<p>Out of the box, the package contains the drive itself, a program disc for Windows only with disc burning software, a backup application, a simple DVD authoring application and PowerDVD for movie playback (this disc was promptly thrown in the bin &#8211; I don&#8217;t need it). There is also a printed manual, four mounting screws and a serial ATA (SATA) cable and a serial ATA Molex-to-SATA power adapter cable provided.</p>
<p>This is my first optical drive with a SATA interface &#8211; everything before this used the usual IDE cable, so it was a pleasure to connect the drive and banish the last of my parallel cables to the cable bucket. General installation was a breeze &#8211; as typical as any other optical drive.</p>
<p>Powering up, the system recognised the drive straight away and Ubuntu started booting. Ubuntu saw the drive right away and mounted it as my CDROM drive. It still gets referred to as /media/cdrom which I could change, but honestly, there&#8217;s little point to that (and maybe I&#8217;m being just a bit lazy because typing &#8220;cdrom&#8221; is faster and easier than typing &#8220;blu-ray&#8221;).</p>
<p>The tray of the drive ejects very quietly which is a nice change from my old Sony DVD-RW unit and upon closing makes that satisfying deep &#8220;ker-klump&#8221; noise akin to the quiet closing of a door on an expensive luxury car. <img src='http://www.serenux.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  The activity light on the front of the unit is a lone bright-blue LED. Of course, a Blu-ray capable unit with a blue light &#8211; brilliant&#8230;</p>
<p>To do some basic testing, I stuck in a regular CD. The drive detected the disc within seconds and Ubuntu popped up the icon for it on my desktop. No faster or slower than my Sony drive. I was able to read the CD without any issue.</p>
<p>I repeated the test with a DVD disc. Again, no issues. The disc was identified and opened within seconds.</p>
<p>I don&#8217;t have any HD-DVD discs handy, so I was unable to test this feature (not that you can buy any of these discs out there anymore anyway).</p>
<p>I then inserted one of my newly purchased Blu-Ray movie discs. Again, the disc was detected within seconds and an icon appeared for it on my desktop (note that reading Blu-ray discs requires the UDF 2.5 filesystem which Ubuntu Intrepid thankfully has already).</p>
<p style="text-align: center;"><a title="Click for full size" href="http://www.serenux.com/~hyrax/snaps/BlurayMovieInserting.jpg" target="_blank"><img title="Inserting a Blu-ray movie into the LG GGC-H20L" src="http://www.serenux.com/~hyrax/snaps/BlurayMovieInserting_thumb.jpg" alt="Click for full size" /></a><br />
Click for full size (228K)</p>
<p>The Autorun had no idea what to do with the disc:</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-358" title="Autorun Prompt for a Blu-ray disc" src="http://www.serenux.com/wp-content/uploads/2009/01/autorunprompt.jpg" alt="Autorun Prompt for a Blu-ray disc" width="384" height="281" /></p>
<p>I was half expecting the laser to spend a few extra seconds determining whether or not the disc was Blu-ray or HD-DVD, but clearly a delay is not needed, despite using a different laser. I was impressed. Again, I was able to read and navigate the Blu-ray disc and I was also able to copy files from it without any issue. The drive transferred data at approximately 8.8MB per second. I was able to read off 500MB worth of data in about 1 minute. In the case of the movie disc I inserted, the actual feature is a 21GB file which would have taken approximately 40 minutes to copy.</p>
<p><img class="aligncenter size-full wp-image-359" title="Opening up a Blu-ray movie disc in Nautilus" src="http://www.serenux.com/wp-content/uploads/2009/01/bluraymovienautilus.jpg" alt="Opening up a Blu-ray movie disc in Nautilus" width="578" height="416" /></p>
<p>Burning discs was completed with usual success. I burnt an Ubuntu ISO to a CD using Brasero without any issue. Burning a DVD was effortless also. Again, burn time seemed to be no different to my old Sony unit.</p>
<p>The drive has Lightscribe ability as well, to burn funky labels onto Lightscribe-compatible discs, but as I did not have any such discs handy, I was unable to test this feature.</p>
<p>In operation, the drive is very quiet. Any noise it does make is certainly being overshadowed by the noise of my PC&#8217;s fan and the room air-conditioning I&#8217;m using right now.</p>
<p>Predictably I was unable to PLAY any of the Blu-ray movies I purchased due to the fact that the DRM used on these movies is vastly different to that on DVD&#8217;s, and that Linux has no official support for Blu-ray &#8211; both Totem and MPlayer certainly had no idea what the media was.</p>
<p style="text-align: center;">
<p style="text-align: center;"><img class="aligncenter size-full wp-image-360" title="Totem cant play Blu-ray" src="http://www.serenux.com/wp-content/uploads/2009/01/totemcantplaybluray.jpg" alt="Totem cant play Blu-ray" width="406" height="158" /></p>
<p style="text-align: center;">
<p>Instead, my primary use of this drive will be to make file backups of decrypted Blu-ray movies I purchase and watch them that way instead (because I&#8217;m a sucker for high-definition). I have written up a separate post detailing how I did this, the results of which are playable in both Totem and MPlayer &#8211; you can read it <a title="How to rip a Blu-ray movie." href="http://www.serenux.com/?p=356" target="_blank">here</a>.</p>
<p>All up, I think this is a good value for money drive. It&#8217;s cheap, cheerful and does the job as advertised. At the moment, it appears the only widespread use of the Blu-ray medium is for movies (and PlayStation3 titles). Outside of that, my drive will ultimately still spend most of its time reading DVD and CD mediums. Who knows, maybe PC games and Linux distros will eventually be released on Blu-ray?</p>
<p>Outside of that, the drive is reasonably future-proof with the ability to be updated via firmware updates, although such updates are Windows-only executables on the LG website, which is a shame. Still, it&#8217;s better than having to deal with a DOS boot floppy of old, and it is possible to run the firmware update through a virtual Windows session or via Wine. At the time of writing, my drive was delivered with version 1.03 of the firmware.</p>
<p>Aside from its enforcement of DRM, the Windows-only firmware upgrades and its decidely Volvo-like aesthetics (it&#8217;s boxy, but it&#8217;s good), there&#8217;s nothing really to fault this drive. I give it a hearty thumbs up.</p>
<p><span style="color: #0000ff;"><strong>Review score: 8 out of 10</strong></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.serenux.com/2009/01/mini-review-lg-ggc-h20l-super-multi-blue-blu-ray-disc-hd-dvd-rom-drive-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
