Hacking Securom with UNIX

I found myself in a situation: Securom error 1000. Or, “we don’t like you because you don’t fit our corporate model of the ideal consumer.”

Disclaimer: This is a lesson in overcoming corrupt read-only media.

I wanted to install a piece of software that didn’t like my particular set of software installed. More specifically, I was having trouble installing Oblivion GOTY because the Securom protection doesn’t like that I run Windows virtually within OSX with Parallels. Or maybe it’s the disc emulator software installation. However the case, this post is how I circumvented that difficulty using UNIX WIZARDRY and a patched setup file. Users win every time.

First, when you run setup.exe it throws an error about using the original disc instead of a backup. HAhahhha. Well that’s just a challenge to figure out how to get past Securom. There are many ways to do it; I opted for not using any blank DVDs or extra hard disk space. I usually strive for optimum resource efficiency.

So first, you need a competent operating system. That means you can’t use Microsoft’s various offerings because (Surprise!) they hate it if your computer can be used for anything more than YouTube. It might actually be possible, the developers hid all kinds of cool features in NTFS but the marketing department doesn’t care about power users.

On my mac, I mounted the DVD. (Put in in the drive.) It gets mounted to some folder in /Volumes/

Next, I “obtained the uncorrupted file” somehow. Get it? I downloaded a fixed setup.exe from somewhere.

Next thing I did was create a disk image containing that patched setup file. You should know how to do that (or at least google that part) so I’ll skip the point and clicking. Now comes the UNIX WIZARDRY.

Open up a terminal window and use hdiutil to attach the disk image to a device node. Duh, derrvice node?…

$ hdiutil attach -nomount /Users/Shared/Games/Elder_Scrolls_4\
-GOTY/Disc1/patch.dmg
/dev/disk3              Apple_partition_scheme             
/dev/disk3s1            Apple_partition_map                
/dev/disk3s2            Apple_HFS

And this tells us where the device node is located (/dev/disk3s2) because we can deductively reason that we don’t care about the partitioning. At this point we have a filesystem ready to be mounted. Normally, when you mount the system it’s just going to give you that system. If you mount a system in a folder it will hide whatever was already in that folder and display the currently mounted system. This is a problem because we want to essentially hide only the broken Securom setup.exe and replace it with the fixed setup.exe.

Behold UNIONS! Most flavors of competent OSes now provide the ability to mount a system on top of another system and have the original still be available except for objects of the same name. We will use this magic to put the patch on top of the broken/corrupt files.

We will issue the mount command with the special union argument!

$ mount -t hfs -o union /dev/disk3s2 /Volumes/OblivionGOTYUK1/

Now when you go into the /Volumes/OblivionGOTYUK1/ folder and open setup.exe (notice the filesize is different) the program will actually run as you wished!! YAY.

Now the cleanup is easy. Just do this twice:

$ umount /Volumes/OblivionGOTYUK1/

The first time unmounts the patch, the second unmounts the DVD. It’s because you mounted the patch on top of the DVD that this works the way it does.

And that concludes the lesson in circumventing corrupt files on a read-only filesystem.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s