Hacking the Apple TV

Getting in

  • alert
  • submit to reddit

Internet Security Threat Report 2014

How to get a colour picture on an SD TV

If, like us, your Apple TV is connected to a standard definition TV, you’ll have a picture, but it’ll be in black and white. The Apple TV’s green component-video connector will feed an SD TV’s yellow composite-video port, but you won’t get a colour picture.

There is a physical hack that gets around this, and we tried it successfully in the past. But it’s tricky and, since upgrading to Apple TV 2.3, it proved hard to get to work. It has to be applied every time the Apple TV’s rebooted.

Apple TV

HDMI and component ports — not good for many SD TVs

Here’s a better option. Download the file TVComposite.tar — you can find it here — and unpack the compressed file. You’ll find the source code along with a Mac OS X kernel extension called TVComposite.kext.

You’ll also need to download hacker Turbo’s utility, turbo_atv_enabler.bin from Oxfeedbeef.com. It provides tools that’ll allow you to dynamically load kernel extensions on the Apple TV.

Copy both TVComposite.kext and turbo_atv_enabler.bin over to the SFTP default directory /Users/frontrow then log in to the Apple TV using your terminal app and enter the following lines:

sudo mount -uw /
sudo chmod -R 755 TVComposite.kext
sudo chown -R root:wheel TVComposite.kext
sudo mv TVComposite.kext /System/Library/Extensions/TVComposite.kext

This code applies the appropriate file and group ownerships to the extension then moves it to its correct location on Mac OS X’s System folder. Now restart the Apple TV. When it’s back up, fire up your terminal again, log in to the box and enter:

sudo chmod 755 turbo_atv_enabler.bin
sudo turbo_atv_enabler.bin
sudo kextload /System/Library/Extensions/TVComposite.kext

Instantly, your black-and-white composite-video image will go full colour.

The downside is that, like the physical hack, it’s not resistant to reboots. Restart your Apple TV and you’ll get a monochrome picture again. Fortunately, there’s a way around it.

Open up a text editor and enter the following lines:

. /etc/rc.common
kextload /System/Library/Extensions/TVComposite.kext

Save the file as ATV_Colour, close it and open a new file. Enter the following lines:

  Description = "Load Composite Kext";
  Provides = ("Composite");
  OrderPreference = "First";

Save the file as StartupParamaters.plist. Use your SFTP app to copy both to the Apple TV’s /Users/frontrow directory. Log in to the Apple TV using a terminal and enter the following:

sudo mkdir /System/Library/StartupItems/ATV_Colour
sudo cp ATV_Colour /System/Library/StartupItems/ATV_Colour/ATV_Colour
sudo cp StartupParameters.plist /System/Library/StartupItems/ATV_Colour/StartupParameters.plist

That’s created the Startup Item, Mac OS X’s system for loading code when it boots. Now we need to make the script executable:

sudo chmod +x /System/Library/StartupItems/ATV_Colour/ATV_Colour

and, last of all, ensure the new Startup Item’s container directory is owned by the system:

sudo chown -R root:wheel /System/Library/StartupItems/ATV_Colour/

Restart the Apple TV, and after an initial monochrome splash screen, colour should kick in. ®

Beginner's guide to SSL certificates


Designing and building an open ITOA architecture
Learn about a new IT data taxonomy defined by the four data sources of IT visibility: wire, machine, agent, and synthetic data sets.
5 critical considerations for enterprise cloud backup
Key considerations when evaluating cloud backup solutions to ensure adequate protection security and availability of enterprise data.
Getting started with customer-focused identity management
Learn why identity is a fundamental requirement to digital growth, and how without it there is no way to identify and engage customers in a meaningful way.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Protecting against web application threats using SSL
SSL encryption can protect server‐to‐server communications, client devices, cloud resources, and other endpoints in order to help prevent the risk of data loss and losing customer trust.