reverse - I have pulled a hex file out of an Arduino Uno, how can I turn this back into C -


so have program running on arduino uno, not have source file, have managed use avrdude file out hexdump, despite researching how convert rough approximation of origional (i understand output not identical original file), have heard possible , appreciate help. below section of file retrieved:

:200000000c94b2000c94da000c94da000c94db060c9405070c942f070c94da000c94da00a3 :200020000c94da000c94da000c94da000c94da000c94da000c94da000c94da000c94da00f0 :200040000c94f1090c94da000c946b0b0c94bd0b0c94da000c94da000c94da000c94da0026 :200060000c94da000c94da0000c201000100110011000c0000e100000a0025002500210044 :20008000009600001900390039003600127a00001f004600460044008070000022004d002f :2000a0004d004a00004b00003600750075007200403800004a009c009c0099008025000094 :2000c0007200ec00ec00e900c0120000e900da01da01d70160090000d701b603b603b3033b :2000e000b0040000b3036e076e076b07580200006e07dc0edc0ed80e2c010000dc0ec11dbc :20010000c11dbe1d00000000240027002a0000000000250028002b000000000023002600f0 :20012000290004040404040404040202020202020303030303030102040810204080010256 :200140000408102001020408102000000007000201000003040600000000000000001301f9 :200160002c0d0c0111241fbecfefd8e0debfcdbf11e0a0e0b1e0e2e7fce102c005900d92ea :20018000a439b107d9f712e0a4e9b1e001c01d92ae3cb107e1f711e0c2e6d1e004c0229739 :2001a000fe010e94280ece35d107c9f70e94830d0c942c0e0c940000cf92ef920f938130ec :2001c0009105e9f46f5f7f4f19f584e991e062e043e020e00e94c30980eb91e068e049e004 :2001e00024e005e056e0e52e37e0c32e0e94880387ec91e064e971e00e94c10309c0892b33 :2002000039f46f5f7f4f21f484e991e00e944b080f91ef90cf90089580e090e06fef7fef76 :200220000e94dc00089581e090e06fef7fef0e94dc00089587ec91e00e94d105882369f487 :2002400087ec91e061e00e949505882331f487ec91e00e943505882319f02fef3fef04c0e9 :200260002091c7013091c801c90108950e941a019093c6018093c50197fd1bc080eb91e049 :2002800060e041e00e949b0280eb91e060e071e00e94da0d8be061e00e94160b8ce060e0ad :2002a0000e94160b60ed77e080e090e00e94390a089580eb91e060e041e00e949b0280eb9e :2002c00091e061e171e00e94da0d8be060e00e94160b8ce061e00e94160b089580eb91e03a :2002e00060e142e020e00e94d20280eb91e060e040e00e949b0280eb91e062e271e00e9497 :20030000da0d8cea92e040e855e260e070e00e94f80b87ec91e060e071ee0e94680687ec74 :2003200091e00e940b06882379f180eb91e060e041e00e949b0280eb91e06fe271e00e94e8 :20034000da0d60ed77e080e090e00e94390a80eb91e060e041e00e949b0280eb91e06de3b5 :2003600071e00e94da0d8be061e00e94d70a8ce061e00e94d70a8be060e00e94160b8ce06a :2003800061e00e94160b089580eb91e060e041e00e949b0280eb91e06fe471e00e94da0d37 :2003a000ffcf0f931f938c01fc01868160e00e94160b81e090e00e94920af801868161e037 :2003c0000e94160b81e090e00e94920af801868160e00e94160b84e690e00e94920a1f9180 :2003e0000f910895cf92df92ef92ff920f931f93cf93df93d82ec92e282f392fc9018c01a1 :20040000c0e0d0e0e62eff24f801878161e00e94d70ab7010c2e02c0759567950a94e2f75f :200420006170f80187810e94160b21960f5f1f4fc830d10549f78d2d9c2d0e94d101df911f :20044000cf911f910f91ff90ef90df90cf900895cf92df92ef92ff920f931f93cf93df9367 :20046000d82ec92e282f392fc9018c01c0e0d0e0e62eff24f801878161e00e94d70ab70165 

now believe hex or @ least can viewed hex (viewed here http://www.onlinehexeditor.com/)

edit: https://arduino.stackexchange.com/questions/179/is-there-any-way-to-download-a-sketch-from-an-arduino original post gave idea possible have tried looking @ options within what's c decompiler? far none of these work.

any appreciated. if require other information shall update post.

i cut/pasted data file b.txt

delete first 10 characters because character offset file or buffer, convert using octal dump.

cut -c 10- b.txt | od -h   

this gives following:

0000000000    30  43  39  34  42  32  30  30  30  43  39  34  44  41  30  30   0000000020    30  43  39  34  44  41  30  30  30  43  39  34  44  42  30  36   0000000040    30  43  39  34  30  35  30  37  30  43  39  34  32  46  30  37   0000000060    30  43  39  34  44  41  30  30  30  43  39  34  44  41  30  30   0000000100    41  33  0d  0a  30  43  39  34  44  41  30  30  30  43  39  34   0000000120    44  41  30  30  30  43  39  34  44  41  30  30  30  43  39  34   *   0000000200    44  41  30  30  46  30  0d  0a  30  43  39  34  46  31  30  39   0000000220    30  43  39  34  44  41  30  30  30  43  39  34  36  42  30  42    , on   

the values in 16 2-char columns hex values ascii characters. example 30 (=48dec) space , 43 "c". should able write short program convert these characters.


Comments