General EOS 40D development discussion - page 14 - DSLR Hack development - CHDK Forum
supplierdeeply

General EOS 40D development discussion

  • 169 Replies
  • 282587 Views
Re: General EOS 40D development discussion
« Reply #130 on: 17 / February / 2009, 12:20:18 »
Advertisements
I Have A 40D & I'm no newbe to hacking roms so count me In.  Also I would like to see a Digital zoom functioning with the auto-focus.  I know all about the quality issues Involved but my lenses are rather good and it would be nice to be able to zoom a shot on the fly even if the quality suffers a little rather than always yanking another lens out my bag.  I want to be the judge of what's acceptable. lets face it;  some point and shoot cameras like my 8Mp Nikon coolpics 200  and my old 5Mp sony cybershot T1 deliver decent digitally zoomed images & I know my cannon at 10mp with a larger image Sensor will stomp them.  Not every shot needs to be a picture of absolute perfection. I think its likely that the reason they disabled that feature with SLR's in the first place is because some people would probably be less likely to buy Zoom lenses or more powerful lenses after they see the results.  If you ever croped a shot From  a 40D in PS then you should know what I mean.

Re: General EOS 40D development discussion
« Reply #131 on: 23 / February / 2009, 16:20:50 »
DataGhost
I'm finding some pdf instruction
"Canon EOS Digital SDK
EDSDK2.2 API
Programming Reference"

DownloadLink: http://rapidshare.com/files/201720624/EDSDK-API.pdf
or                        http://ifile.it/sa8g9po
« Last Edit: 23 / February / 2009, 16:24:47 by dihe »

*

Offline Lex

  • *
  • 5
Re: General EOS 40D development discussion
« Reply #132 on: 24 / February / 2009, 16:11:17 »
I've been away for a while :)
Welcome back.

I'd be happy to act as a (very limited) consultant for someone who shows he is capable enough to get something going.
That will be me then :). Living in the same city as you, part of the 300D UnDutchable firmware hacking team. What about some lunch down town or the High Tech Campus? Just to exchange experiences.


*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: General EOS 40D development discussion
« Reply #133 on: 25 / February / 2009, 06:20:43 »
afaik DG disabled email notification, but he usually hangs out in irc (though not these days somehow :D).
good luck :)

edit: u might contact him via his homepage.


*

Offline Lex

  • *
  • 5
Re: General EOS 40D development discussion
« Reply #134 on: 25 / February / 2009, 10:52:06 »
I tried his homepage before, he was not responsive....

*

Offline PhyrePhoX

  • *****
  • 2254
  • make RAW not WAR
    • PhyreWorX
Re: General EOS 40D development discussion
« Reply #135 on: 25 / February / 2009, 11:12:23 »
well, via pm maybe?

*

Offline Lex

  • *
  • 5
Re: General EOS 40D development discussion
« Reply #136 on: 25 / February / 2009, 12:18:14 »
I gave him a PM. We'll see.

Re: General EOS 40D development discussion
« Reply #137 on: 11 / March / 2009, 02:31:26 »
So.. Is there any answers from him? Or just ANY news about firmware?
EOS 5D, EF 50mm f/1.4 USM.


Re: General EOS 40D development discussion
« Reply #138 on: 11 / March / 2009, 08:06:46 »
Hi,

I am still trying but have not come much further.
I used dissect_fw3_2.exe to dissect the FW into the four parts

Flasher Header
Flasher Code
Data Header
Data Body

I found out that the data header as produced by dissect_fw3_2.exe is too small, the actual header is larger and contains some tables that are used when the body part is verified and decrypted. Dissect_Fw3.2.exe give a data header of 0x18 (24) bytes, and my findings result in a header size of 0x7C (124) bytes. The remaining body has a size of 0x631170 bytes. This value of 0x00631170 can be found in the data header on location 0x19DC8C

The flasher part confirms this as the loop that decrypts the data part starts at 0x19DCFC and decrypts a block of 0x00631170 bytes

I now also see that the header of the body  follows the patern of the header of the flasher starting from location 0x24.

The pattern of both these headers are the following

Addr
0x00    = Offset to address that contains next parts of the header. For Flasher that is 0xB0, for Data Body that is 0x0C
0x04   = Header Size
0x08   = Some kind of Sizevalue

0xB0 / 0x0C   = Size of data block
0xB4 / 0x10   = Some kind of size
0xB8 / 0x14   = 0x00000000
0xBC / 0x18   = Value used in decryption of data block.
0xC0 / 0x1C   = Table of 0x10 bytes
0xD0 / 0x2C   = Table of 0x20 bytes
0xF0 / 0x4C   = Table of 0x10 bytes
0x100 / 0x5C   = Table of 0x20 bytes

See the attachment for the (in my opinion) correct layout of the data header.

 I see many calls to SHA1 en/decryption and also EAS encryption. The code loads two tables (In my IDA 0x20 byte analyses called Word_4090 and Word_4070) , possibly EAS keys, from a memory location. The one is used during the verification process, and the other during the decryption process.

I have not been able to figure out how the verification/decryption works exactly because the amount calls to SHA1 procedures are so many. An many of the functions/procedures use floating point calculations. I try to understand how variables are stored and read via the stack and also how results of functions are passed back to the calling procedures.

I will keep playing around for a while, maybe I get lucky.

Is there someone else who is still working on this?
« Last Edit: 12 / March / 2009, 07:48:24 by emklap »

Re: General EOS 40D development discussion
« Reply #139 on: 10 / June / 2009, 04:36:19 »
Looks great, waiting for this CHDK firmware..
there is nothing new here for about 3 months.. any new? or it moved to other topic?


 

Related Topics