Peter’s blog

  • rss
  • Home
  • About
  • Contact

We’ve won!

Peter Skarpetis | September 18, 2007 | 7:15 am

Seems like the iPod can now work on Linux again.

We’ve won!:
Thanks to some inspired work by a few heroes, we’ve managed to work out how to get everything working again.

This is what we’ve found out: the hash at 0×58 is the one that matters. And we know how to generate it.

It’s a cryptographic signature combining data from the iTunesDB and a device specific identifier (called the firewireid) and some (formerly) secret numbers.

Instructions for linux users on how to fix their iTunesDB files are here. Windows users are going to have to wait a little while. (For interested programmers, the code to generate the hash is here.)

The heroes in question include wtbw, nopcode, teuf, simon and many others from #gtkpod.

Let’s all hope that (if they haven’t already from the iPhone unlocking) Apple learn that fighting against us is pointless. It’s a waste of their time if the open source crowd is going to get past it in just a weekend.

Technorati Tags: itunes, linux, iPod

Comments
No Comments »
Categories
Apple, Linux
Comments rss Comments rss
Trackback Trackback

Apple cuts us off

Peter Skarpetis | September 16, 2007 | 9:37 am

Seems like Apple is trying to stop third parties controlling their new iPods.

Apple cuts us off:
So, it’s finally happened. Unhappy with other media players being better than iTunes, Apple have apparently decided to stop them from working with the new range of iPods.

Who does this affect?

This affects Linux users - there’s no iTunes for Linux, so popular Linux iPod management tools like gtkpod and Rhythmbox will not work with the new range of iPods.

Windows users who just plain don’t like iTunes and perfer an alternative like Winamp, Ephpod or many of the other iPod management applications out there.

How?

The iPod keeps track of the songs and playlists in your iPod with a database file - the iTunesDB, found in the iPod_Control/iTunes/ hidden folder on the iPod.

Back in the early days of the iPod, the format of this file was quickly reverse-engineered by people who wanted to use iPods without iTunes. This was more important back then because iTunes only existed on the Mac, so Windows users were stuck with Real Player (which was just awful), and Linux users had exactly nothing.

The format of this file has evolved over the years as the iPod added support for video, podcasts, album artwork, smart playlists etcetera. The basic structure of the file has always remained the same, so these changes were easy enough for us to work out and keep up to date with.

With the release of the new range of iPods - the new Nano, the iPod Classic and the iPod Touch, we were expecting more of the same - a few tweaks here and there and everything would be fine. No so.

At the very start of the database, a couple of what appear to be SHA1 hashes have been inserted which appear to lock the iTunes database to one particular iPod and prevent any modification of the database file. If you try to do either of these, the hashes will not match and the iPod will report that it contains “0 songs” when the iTunesDB would otherwise be perfectly adequate.

Can’t you get around this?

Well, maybe. We really need people who are excellent at reverse engineering to help.

This is what we know so far about the start of the iTunesDB file:

MHBD header:
0x00   4  mhbd
0x04   4  header size = 0xBC       (changed)
0x08   4  filesize
0x0C   4  unknown = 1
0x10   4  version number = 0x19    (changed)
0x14   4  child count    = 0x05    (changed)
0x18   8  itunes databaseid
0x20   2  unknown = 2
0x22   2  unknown = 0x0263         (changed, 0x0000 before)
0x24   8  ipod identification?     (changed)
0x2C   4  zero padding
0x30   2  unknown = 1
0x32  20  unknown, changing completely from itdb to itdb
0x46   2  language, seen: de, en
0x48   8  library persistent id
0x50   4  unknown, seen: 1, 5
0x54   4  unknown, seen: 0x08, 0x0D, 0x1D, 0x4D, 0x8D
0x58  20  unknown some similarities between versions
0x6C   4  timezone offset in seconds. +2*60*60 -> 0x00001C20, -4*60*60 = 0xFFFFC7C0 (really?)
0x70  76  zero padding 0x00000000

0×32 is most likely a SHA1 hash, and 0×58 also could be.

The question is, could you help? Hop along to freenode #gtkpod if you have some serious technical expertise in this kind of thing and are able to obtain a new iPod Classic or Nano.

Technorati Tags: copy control, itunes, iPod

Comments
No Comments »
Categories
Apple
Comments rss Comments rss
Trackback Trackback

Linux on my iBook

Peter Skarpetis | July 23, 2006 | 3:54 pm

My trusty old 600MHz G3 iBook is getting a bit bogged down by Mac OS X 10.4.7 so it is time to put Linux on it and let it breathe a bit easier. I just started downloading Fedora Core 5 and in a few hours will be installing a fresh copy of Linux on the iBook. If it all goes well I will be back to give you my impressions of the performance.

Technorati Tags: linux, macosx

Comments
2 Comments »
Categories
Apple, Linux
Comments rss Comments rss
Trackback Trackback

« Previous Entries Next Entries »


Recent Posts

  • Chatswood Apple store opening soon
  • Manly Dam mountain biking track
  • Scott bike frame falls to pieces
  • Internet kiosk uses Ubuntu
  • udrepper: Memory and Cache Paper
  • Hasselblad’s 39 megapixel H3DII-39MS DSLR brings the multi-shot
  • Switched from Firefox to Opera
  • Mountain Bike Hits 130.7 MPH … on Snow
  • We’ve won!
  • Apple cuts us off

Categories

  • Apple
  • Blogged
  • Cycling
  • Linux
  • Photos
  • Programming
  • Videos

Blogroll

  • ALBINO colourinable T-shirts
  • My Wiki
  • Serendipity Software
  • Wing

Recent Comments

  • Mike Adams on Getting a handle on usbprint.sys
  • Josh on Hasselblad’s 39 megapixel H3DII-39MS DSLR brings the multi-shot
  • Peter Skarpetis on Getting a handle on usbprint.sys
  • Den on Getting a handle on usbprint.sys
  • Aub on Getting a handle on usbprint.sys
  • David on Getting a handle on usbprint.sys
  • Brandon on Getting a handle on usbprint.sys
  • aris on Manly Dam mountain biking track
  • Peter Skarpetis on My new bitching mythtv box
  • kc on My new bitching mythtv box

Tags

Apple australia biking mountain sydney
rss Comments rss valid xhtml 1.1 design by jide powered by Wordpress get firefox