Hey everybody! Recently I had the opportunity of poking around a friend’s Kindle Touch to see if I could disable the ads on the “Special Offers” version. And I’m glad to say it was a success, and it’s not that hard if you know your way around a Unix shell.
First, copy your screensaver (in PNG format with a size of 600x800px) to your Kindle as “screensaver.png”. Now what we need to do is to jailbreak your KT. Yifan Lu was gracious enough to provide us with a jailbreak a couple of days ago. I won’t dive too far into it, but he provides a MP3 whose description in the metadata is a simple shell script. Yes, when the Kindle plays an MP3, it executes any shell script in the metadata. Not only does it execute the script, it does it at root. Huge security risk? Most likely.
1. So to jailbreak, first visit Yifan’s KT jailbreak page and download the jailbreak AND the “Simple usbnet update”. Once you have both downloaded extract the “jailbreak.mp3″ file from the jailbreak zip to your Kindle’s “music” folder via USB. Also extract the installer .bin file to the root folder of the Kindle and rename it “update.bin”.
2. Disconnect your KT and then go to Menu->Experimental->MP3 Player and then hit the big “Press to Jailbreak!” button. You device will start the jailbreaking process.
3. Once the jailbreaking process is done, go to Menu->Settings->Menu->Update Your Kindle. Your device will apply the homebrew update that will install SSH.
4. The update also installed a package called “usbnet”. I was not sure how to use it, so I did not mention it in this post. If you know how to use it, let me know in the comments. EDIT:elbunuelo explains how to use usbnet
5. Now you’ll want to find the IP address of your Kindle. I did this by looking at the DHCP client table in my router and matching the Kindle’s MAC address (found in Menu->Settings->Menu->Device Info) to its IP.
6. Before we start the SSH server you will need to set a root password. This can be done by returning to the main menu, then tap on the search bar, type “;un password PASSWORD” where PASSWORD is what you want your password to be. NOTE: Please make this a secure password. I know the Kindle runs everything as root through metadata, but it’s still a good idea to give it a secure password.
7. Now we can start the SSH server. Hit the search bar again, but this time type “;un”. The SSH server is now started and we can get to disabling those pesky ads.
8. Open up your favorite SSH client and connect to your Kindle’s IP address with the username “root” and whatever password you set up before.
9. Type “mntroot rw” so we can get some write access. Then type the following lines:
rm -f -R /mnt/us/system/.assets/*
chmod -W /mnt/us/system/assets/
mkdir /mnt/base-us/ad_backup
cp -f /usr/share/blanket/ad_screensaver/* /mnt/base-us/backup/
rm -f /usr/share/blanket/ad_screensaver/screen*.png
cp -f /mnt/base-us/screensaver.png /usr/share/blanket/ad_screensaver/screensaver-unregistered.png
cp -f /mnt/base-us/screensaver.png /usr/share/blanket/ad_screensaver/screensvr.png
rm -f /usr/share/blanket/ad_screensaver/banner*.gif
And that’s it! Your ad-supported Kindle is now free of corporate interference! Now go and support Amazon a little for making such an awesome device by buying some books.
No, but really, this is purely for demonstration of how Amazon failed to prevent something so simple.
EDIT 12/21/2011
So I fixed the MP3 installer. Well, I completely rewrote it. It turns out that I was really being an idiot and packaged it up completely wrong, for which I apologize. Here is a link to the new version, which also has a built-in uninstaller. Also, this time to replace the screensaver, you only have to drop in one file (I dropped in a sample for you to use). If you have problems, hit me up in the comments.
Thanks for the guide. You’ve got two issues though.
1. In both your post and the MP3′s code, you have “chmod -W …”. -W (capital W) is not an option for chmod. You need the lowercase option. I used “chmod a-w …” to make sure it removed the write permissions for all. You also dropped the . in front of assets, so the final command should be “chmod a-w /mnt/us/system/.assets”
2. Your MP3 file needs to be updated. It tries to read from jailbreak.mp3 instead of noads.mp3. The offset (skip) might need to change, I didn’t test it. You’ll probably wanna add a cleanup section to the payload too. Yifan’s got all that in the src folder of his jailbreak download as an example.
Wait, so I have my Kindle jailbroken, but your mp3 file didn’t work. It didn’t take any of the ads off – what am I doing wrong?
Wow, it works! Thanks Pathartl, there is not ads anymore.
When I tap the mp3 installer it shows that I tapped it but the kindle doesn’t reboot and the ads aren’t removed. This is with the updated installer too.
As a side note, after running the mp3, my kindle refuses to lock at all. It removes ad’s just fine, however
It looks like your hack might not be complete . I installed your hack last night and this morning the ads appeared again when one of my subscriptions downloaded. I was able to use your hack to uninstall and reinstall your hack through the MP3 player so it doesn’t appear that Amazon killed the jailbreak for the touch like they did on the Fire (yet). I haven’t yet checked the filesystem to see what was changed (can’t find usb cable…) but I am guessing something either needs a chmod -w or perhaps a directory got missed for -w.
Hey, just wanted to reach out and say thank you for packaging that .mp3 together Pat! Merry Christmas.
Is there a way to add other screensaver images to display in the “rotation” in addition to the one you provided? Or can we only use one screensaver at a time with this hack? Thanks
Will this hack work on the kindle keyboard, or is this only for the touch?
Hi!
Can you please tell me if this will work on a kindle 4 non touch?
-dustin
I’m probably a little late for this and you may have already figured it out, but the thing with the usbnet is that it creates a usb network interface so that you can connect through it for the ssh access.
My (ubuntu) linux machine detected it immediately and as soon as I set the ip address to something in the 192.168.15.0/24 network (I used 192.168.15.1) I was able to connect via ssh to my Kindle, which by default is set to 192.168.15.224.
I think windows machines need RNDIS drivers for it to work.
Just received a kindle touch as a gift, and I just want to say THANK YOU SO MUCH for this little hack! ad services belong on the naughty list!
This was a great update. BUT -Now that I’ve tried it, I’d like to get my Kindke back to before I installed these changes. How do I do that?
Thanks!
I’m on a mac running lion. I can get the jailbreak ran but SSH does not work. I’m using cyberduck and every time the connection fails. Any ideas why this happens?
Hey … doesn’t the screensaver change every so often to “save the screen?”
Is this able to shuffle through screen savers? If so, would I need to drop in more than one file?
I sort of followed the guide by Derek1987 here: http://www.mobileread.com/forums/archive/index.php/t-139279.html which seemed to work perfectly. The only things you have to do to disable ads are run the following:
mv /var/local/adunits /var/local/adunits.bkp
touch /var/local/adunits
After running these my kindle is back to using the stock screensavers. Even the small banner at the bottom is gone. The hack also survives reboots.
I used those same commands of Derek1987. Also writen them into shell script executed by that mp3 from above. Removes every ad.
Also tried using it with jailbreak (used as runme.sh) and it worked as well. But you dont have that user-definied-screensaver option.
Once the ads are disabled via
mv /var/local/adunits /var/local/adunits.bkp
touch /var/local/adunits
just overwrite the screensavers in
/usr/share/blanket/screensaver/
as indicated by hack4ce above with your pictures of choice and you get your own personal screensavers ![]()
Works perfectly fine for me on a Kindle Touch (with Special Offers)!
and why would I do that? I’m perfectly happy with those default ones
I had installed and uninstalled this a few times and this is what I have learned (in my case–other people might have had different results):
-My personal screensaver did not work; only the kindle crossed out hacked one did. And after a few more installations/uninstallations, even that one didn’t work.
-Instead, my “screensaver” turned out to be a replica of the last page I had set it on. I think this explains evans’ problem with the screen not locking. It’s impossible to tell if the device is on sleep mode or on without tapping it. On the bright side, this allows for a very customizable screensaver. Just upload a picture onto the Kindle and it’ll serve as a screensaver, or even take a picture from google. (ignoring the address bar and everything at the top)
-You have to re-add the dictionary (not hard, but just something I noticed. I had to archive my dictionary and download it again to have it recognize it)
-The special offer banner is technically still at the bottom of the kindle-it’s just white (the actual no SO kindle places another book there)
-When I un-install, the SO can’t connect to my wifi. There’s still an offer when I tap “view special offers” but my screensaver and banner both have the connect to wifi message. Maybe I just need to wait a day or two and it’ll go back to normal. But for now, I’m sticking with my ad-free Kindle with its screenshot screensavers. ![]()
Thanks for the mp3 link Pat!
Hi Pat,
thanks for the MP3-hack, works very well ![]()
Found only one flaw:
seems that the experimental MP3 player of the kindle is “always on” and draining the battery unless one explicitely presses the “off” button.
Unfortunately, your “press to toggle ads!” field is too big so that the “off” button is camouflaged.
Means if you have only your mp3 file in the music folder, there is no chance to switch the player off.
Would be great if you could re-issue your mp3 with a smaller toggle field…
I got a Kindle Version 4. Is there a way to use your own images as a screensaver/s with this one?
Hello. I am trying to get this to work but not having any luck. I can get the “toggle ads” box to display but it wont restart the device and just stays at the bottom of the screen for a few minutes then disappears.
Hi there, I have a small problem. I copied everything from the archive from EDIT, I repleaced my own screensaver.png and I pressed that button in MP3. But I couldn’t turn my kindle into sleep mode so my screensaver didnť show up. So I copied there original files from that archive and I did the pressing again. And sleep mode worked, the screen saver showed too (that picture Hacked) and I decided I’ll remove that thing out of my kindle. So I pressed that button again for uninstal (just like in the ReadMe was) but I got the same problem like first (can’t turn sleep mode). So I put there that image with Hacked again and removed all files. But the picture Hacked is still there and i can’t get rid of them. Any help please? Thank you very much
Is there any hard reset or something like that for kindle touch?
Hello,
with Your hack I could finally get my own screensaver to the KT. Thanks. I prefer screensaver thats correspondent with book I read (Steve Bos from Isacson now).
And noq my question: when I will want to change the screensaver, have I to start Your hack again, or I can just replace the screensaver.png and screensaver-unregistered.png in the root directory?
Thanks again !!!
Will this void the warranty or can it be reversed just in case I need to send it back? Also can amazon tell if you have taken the ads off?
Thanks for doing this and freely!:)
Great stuff, thank you, it worked the first time. My wife and I bought a Kindle Touch for my 9 year old daughter just to find ads for R-rated movies. I’m OK with ads, but not those ads. I really don’t want to explain to my daughter why the lady in the ad is carrying handcuffs, and don’t think this should be the thing that motivates me to pay to have the ads turned off.
Thank you again.
Pingback: How To Remove Ads From Your Kindle Touch, Keyboard, or Kindle 4
Hello.
All works 100% on 5.0.1 kindle touch. Thank you
Is it possible that the ‘Please connect to wifi’ issue after restoring adds is linked to OS version? Mine is 5.0.0
That’s only hide ads.
Works perfect on a 5.01 Kindle Touch. Took about ten seconds start to finish=)
Awesome work!
Hey!
Thank you for figuring this out, i’m guessing there are loads of users who want to get those pesky ads off there screens and your method seems like a good way of doing it.
However, it does not add the screensaver that I input as the new screen saver, instead reverting to the default Amazon supplied wallpaper.
I’ve tried both the mp3 simple method and the ssh method through usbnet. The Kindle itself is working well, other than a nasty white box that asks me to ‘connect wireless’ for Special Offers on the screensaver/lock screen.
Cheers for the good hack