How to hack a Sony Reader

Inside the Linux-based e-book viewer

Application security programs and practises

More tweaks

You’re not limited to simply altering the text that appears on some of the screens - you can actually add additional functions, though this is where things start to become somewhat less straightforward.

For a simple tweak, look at the applicationStart.xml file. You’ll see definitions near the top for the different keys, for example:

<string key="6" do="doDigit" />

for the non-numeric keys, there are entries such as:

<boolean key="0x27" do="doCenter"/>
<boolean key="0x27-hold" do="doCenter"/>

Assigning a global built-in function to one of these keys is achieved by changing the value of the do parameter. A popular tweak uses the long press on the centre of the navigation button to shut the Reader down, though you could equally choose to use it to much the audio. Just change the do= value to doDeviceShutdown or doMute if you prefer.

More complex customisations tend to rely on adding extra code in the main.xml file. Look through, and you’ll see that there’s a group tag for the different screens, as for the About screen that we tinkered with earlier. The <code> tag allows you to define specific functions for that page, each within its own <function> tag.

Look, for example, at the PAGE_GROUP, where you’ll find a function with the id “pageChanged” which updates the bottom of the screen with the current page of the current book. A similar function is found in menus.

And another popular hack adds a clock to the bottom of the screen. A call to this.shd_clock() is added at the bottom of “pageChanged”. Then, a new function shd_clock is defined, using a function tag, which starts like this:

<function id="shd_clock"><![CDATA[
var time = new Date();
var show = "";

It goes on to checks the preferences for clock display, and shows the time in the appropriate format, each time the page is changed. A companion function on the About screen uses the 0 key to toggle the clock display between off, 12 and 24 hour. It begins by using doDigit, then checking if the 0 key was pressed, and setting a preferences option appropriately.

The Power of One Infographic


Implementing global e-invoicing with guaranteed legal certainty
Explaining the role local tax compliance plays in successful supply chain management and e-business and how leading global brands are addressing this.
Consolidation: The Foundation for IT Business Transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.
Application security programs and practises
Follow a few strategies and your organization can gain the full benefits of open source and the cloud without compromising the security of your applications.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Securing Web Applications Made Simple and Scalable
Learn how automated security testing can provide a simple and scalable way to protect your web applications.