summaryrefslogtreecommitdiff
path: root/utils/zenutils/source/shared/updater.cpp
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2008-08-12 23:51:04 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2008-08-12 23:51:04 +0000
commitbc628fe5ce01c8e6e34eeb940949059ad8ff9a5a (patch)
tree842fd24f0ed3243d773e5fab4e3a99a796898b16 /utils/zenutils/source/shared/updater.cpp
parent1e3ed744798aea993d884b449d99f2c4e4387747 (diff)
downloadrockbox-bc628fe5ce01c8e6e34eeb940949059ad8ff9a5a.zip
rockbox-bc628fe5ce01c8e6e34eeb940949059ad8ff9a5a.tar.gz
rockbox-bc628fe5ce01c8e6e34eeb940949059ad8ff9a5a.tar.bz2
rockbox-bc628fe5ce01c8e6e34eeb940949059ad8ff9a5a.tar.xz
Zenutils:
* Make update_extract work again * Add other players to zen_crypt * Change stricmp() calls to strcasecmp() in zen_crypt git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18264 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to '')
-rw-r--r--utils/zenutils/source/shared/updater.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/utils/zenutils/source/shared/updater.cpp b/utils/zenutils/source/shared/updater.cpp
index 25d8452..3944863 100644
--- a/utils/zenutils/source/shared/updater.cpp
+++ b/utils/zenutils/source/shared/updater.cpp
@@ -99,6 +99,24 @@ bool zen::find_firmware_archive(const std::string& filename, dword& va, dword& p
bool zen::crypt_firmware(const char* key, byte* buffer, size_t len)
{
+#if 1
+ char key_cpy[255];
+ unsigned int i;
+ unsigned int tmp = 0;
+ int key_length = strlen(key);
+
+ strcpy(key_cpy, key);
+ for(i=0; i < strlen(key); i++)
+ key_cpy[i] = key[i] - 1;
+
+ for(i=0; i < len; i++)
+ {
+ buffer[i] ^= key_cpy[tmp] | 0x80;
+ tmp = (tmp + 1) % key_length;
+ }
+
+ return true;
+#else
// Determine if the key length is dword aligned.
int keylen = strlen(key);
int keylen_rem = keylen % sizeof(dword);
@@ -148,4 +166,5 @@ bool zen::crypt_firmware(const char* key, byte* buffer, size_t len)
}
return true;
+#endif
}