Decoding the ImageUniqueID for Canon Powershot cameras

Started by mattburns, July 23, 2011, 11:01:55 AM

Previous topic - Next topic

mattburns

Hi,

As the title suggests, I'm trying to decode the ImageUniqueID.

It seems this has been tried before. I'm hoping this field contains the serial number and that I may be able to extract it.

I've been given some sample images from multiple powershot owners along with the serial numbers of those cameras. I've tried to figure out if there was a common key that the serial numbers could have been XORd against but with no luck. My maths is rusty at best so I could be being stupid.

Does anyone have any tips for how I may be able to decode this field? For example, what are the most common ways manufacturers encode this kind of data?

Cheers,
Matt

Phil Harvey

Pentax encrypts its SerialNumber by xor-ing bytes with the binary date/time value.  See Pentax.pm for details.  Jens and I figured out the decoding of this one.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).

mattburns

Hello again Phil,

I was wondering if you've kept a record of where one of your sample files came from?

Specifically: Canon/CanonPowerShotSD4000IS.jpg

Basically, I'm trying to work out if it originated from the same camera that took this photo: http://www.flickr.com/photos/chight/5873617021

I'd like to confirm that the tail 10 bytes of the ImageUniqueID are unique for each specific powershot camera. If this is a false positive then it's back to the drawing board!

Cheers,
Matt

Phil Harvey

Hi Matt,

It is certainly possible that I got that one from Flickr, but I don't recall the exact source, sorry.

- Phil
...where DIR is the name of a directory/folder containing the images.  On Mac/Linux/PowerShell, use single quotes (') instead of double quotes (") around arguments containing a dollar sign ($).