Magic Lantern Firmware Wiki

Gensig finsig

328pages on
this wiki
Add New Page
Talk0 Share


gensig is a tool written by CHDK people to create functions signatures based on function address, its name and a camera memory dump. Then, finsig is using signatures to find functions addresses in new camera, thus help porting CHDK.

The general explanation for CHDK build chain is here:

Update: gensig2/finsig2

How to create signatures for DryOS DSLREdit

I used these tools (slightly modified, for minor reasons):

1. first I created sig_ref_dryos_218_110.txt (for 5d2 v1.1.0, 218 is the model id) based on (because it is the most complete stub file for 5d2, and can be tested on 204)
and sig_ref_dryos_270_108.txt (for 550d v1.0.8) from

2. then I applied signatures generation on the related dumps:

./ sort dryos "218_110 270_108" >signatures_dryos_AI.h
  • "sig_ref_dryos_218_110.txt" is signatures file for 5d2 1.1.0, dump is "sig_ref_dryos_218_110.bin", loaded at 0xff810000.
  • "sig_ref_dryos_270_108.txt" is signatures file for 550d 1.0.8, dump is "sig_ref_dryos_270_108.bin", loaded at 0xff010000.

Result: "signatures_dryos_AI.h" contains signatures for all functions described for 5d2 110 and 550d 108.

How to use signaturesEdit

then I recompiled finsig with these new signatures (just changed #include"signatures_dryos_AI.h".

then I used finsig to find functions addresses in 5d2 204 and 550d 106.

finsig.exe 5d2_204.bin 0xff810000 >5d2_204_finsig3.h
finsig.exe 0270_106_09.bin 0xff010000 >550_106_finsig3.h

I tested all of this under mingw/msys + gcc under windows 7. Thanks a lot to CHDK people for gensig and finsig !!!

See also on the Mailing list:
find automatically addresses of known functions for a new firmware: gensig and finsig

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Also on Fandom

Random Wiki