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:
Copyright © by the contributing authors.