dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Search | Go
Wiki > Main > IriverIfpPort > IfpCryptanalysis > SimpleFirmwareCrack (r3)

Page heading

Simple Firmware Cracker

This crack exploits the fact that xoring a string with its encrypted form gives you the encryption key.

What I do is to take a string that I know exists in the firmware, in this case "firmware upgrade" and I xor it with it's encrypted form in the file. Unfortunately things are not so easy because I don't know where in file its encrypted form is. Here is where the brute force comes and what I do is to try with every single positions in the file. This gives me key candidates that I use to decode the whole file. If they key used to decode is the good key then the decoded version of the firmware should contain words as "iriver" or "beep volume". Instead of looking for particular words I just look for strings that looks like words, I do this by just looking for strings longer that 6 chars that contain just vowels and consonants (no more that 3 in a row) and I print them out.

here is the source code:

I Attachment Action Size Date Who Comment
decode_light.cppcpp decode_light.cpp manage 5.2 K 15 Mar 2005 - 08:34 RaulAguaviva  
r3 - 15 Mar 2005 - 08:34:16 - RaulAguaviva

Copyright by the contributing authors.