Available firmware dumps & updates
- EOS 50D fw 1.0.7 -- http://web.canon.jp/imaging/eosd/firm-e/eos50d/firmware.html
.fir file format
(50d00107.fir) ---updater1--- 0x000 : modelId = 0x80000261, (50D, DryOS) 0x010 : version = 1.0.7 0x020 : cheksum = 0xb7a4b0e4 0x024 : updater1 header = 0xb0 0x028 : updater1 payload = 0x120 0x02c : updater2 offset = 0xffffffff 0x030 : firmware offset = 0x19e020 0x034 : 0xffffffff 0x038 : file size = 0x914a3c 0x03c : 0x0 0x040 : seed = 0x5f863728 0x044 : 0x00000004 0x00000000 0x00000020 0x00000024 0x054 : 0x00000044 0x000000b0 0x0019df70 0x0019e020 0x064 : firmware length = 0x776a1c 0x068 : updater1 hmac-sha1 = d741366f620128359e9982c64cf78d4efa9d7936 0x088 : updater1 hmac-sha1 = 62b6238673a55b9469d1f11c3d93a55968d96801 ---updater1 header--- 0x0b0 : updater1 payload length = 0x19df00 starts at 0x120 0x0b4 : updater1 ??? = 0x19def4 0x0b8 : 0x0 0x0bc : xor seed value = 0x3c660015 ---updater1 payload--- 0x120: --- updater1 (ciphered) --- ---updater2--- 0xffffffff: (+0x000), modelId = 0x00000000, (Unknown camera) 0x00000f: (+0x010), version = 0x00001f: (+0x020), cheksum = 0xa4b0e400 0x000023: (+0x024), updater2 header = 0xb0b7 0x000027: (+0x028), updater2 payload = 0x12000 0x00002b: (+0x02c), 0xffffff00 0x00002f: (+0x030), 0x19e020ff 0x000033: (+0x034), 0xffffff00 0x000037: (+0x038), updater2 total length = 0x914a3cff. starts at 0xffffffff ---updater2 header--- 0x00b0b6: (+0xb0b7), updater2 payload length = 0x86102911 0x00b0ba: (+0xb0bb), updater2 ??? = 0x3ac06907 0x00b0be: (+0xb0bf), 0xdf6c6823 0x00b0c2: (+0xb0c3), xor seed value = 0xcfb7c4ac ---updater2 payload--- 0x11fff (0x12000), --- updater2 (ciphered) --- ---firmware header--- 0x19e020: (+0x000), header length = 0xc 0x19e024: (+0x004), firmware payload offset = 0x7c 0x19e028: (+0x008), total firmware length = 0x776a1c. starts at 0x19e020 0x19e02c: (+0x00c), firmware payload length = 0x7769a0 0x19e030: (+0x010), firmware ??? = 0x7769a0 0x19e034: (+0x014), 0x0 ---firmware payload--- 0x19e09c: (+0x07c), ---firmware (encrypted)---