декомпилировать hex

RizONE
Offline
Зарегистрирован: 22.03.2018

Доброе!

Есть hex файл, можно ли получить из него хотя бы ассемблерный код?

В идеале хотелось бы конечно что нить удобочитаемое.

v258
v258 аватар
Offline
Зарегистрирован: 25.05.2020
b707
Offline
Зарегистрирован: 26.05.2017

RizONE пишет:

Есть hex файл, можно ли получить из него хотя бы ассемблерный код?

В идеале хотелось бы конечно что нить удобочитаемое.

не более чем тот же машинный код, в котором дизассемблер заменит знакомые коды на ассемблерные команды.

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Интересно для чего? Зачастую (не по моей практике, а по наблюдениям на форумах) нужно просто в коде что-то поменять - текст, пароль, или что-то подобное (не сложное и в текстовом виде). Это решаемо. Поменять алгоритм в скомпилированном коде зачастую не возможно (кроме методов взлома, где меняют значения влоб). Вам зачем это нужно то?

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

BOOM пишет:

Интересно для чего?

Обычно я того, чтобы понять, что там компилятор на двоих с оптимизатором накрутили в твоем исходнике.

RizONE
Offline
Зарегистрирован: 22.03.2018

Да пользовался я поиском, нашел бы ответ, не стал  бы тему поднимать. Поиском вышел на IDA Pro и https://onlinedisassembler.com. Но они требуют выбора архитектуры, а там нет (или я не нашел) ATmega328. В конце и поднял тему в надежде получить более адресную помощь )

А зачем надо? Попросили в коде поменять контактный номер телефона

SAB
Offline
Зарегистрирован: 27.12.2016

Тогда не надо дизасемблировать весь код. Если знаешь какой телефон был, тогда открой HEX редактор и поиском найди его в файле. После по тем адресам пишешь свой. Иногда, он может быть прописан в нескольких местах.

RizONE
Offline
Зарегистрирован: 22.03.2018

Файл имеет такой вид

:020000040800F2
:1060000010600020DD61000815DF0008D1AD000838
:1060100035D80008F16F0008315301080000000076
:1060200000000000000000000000000045610008C2
:106030006176000800000000896100080D29010850
:10604000F7610008F7610008F7610008F7610008D0
:10605000F7610008F7610008F7610008F7610008C0
:1060600063760008F7610008F7610008A975000869
:10607000F7610008F7610008F7610008F7610008A0
:10608000F7610008F7610008F7610008F761000890
:10609000F7610008F7610008F761000875760008ED
:1060A000F7610008A12A0108F7610008F7610008FC
:1060B000F7610008F7610008F7610008F761000860
:1060C000F7610008EDAD0008E1AD0008F7610008D8
:1060D000F76100080D530108195301082553010801
:1060E000F7610008F7610008F7610008F761000830
:1060F000F7610008F7610008F7610008F761000820
:10610000F7610008F7610008F7610008F76100080F
:10611000F54F010801500108F7610008AD2A010898
:10612000F7610008F7610008F7610008E5750008ED
:10613000DFF80CD000F0F8FA00480047D160010801
:1061400010600020224B19680868B0E8F00F80F357
:106150000988BFF36F8F4FF0000080F311884EF075
:106160000D0E70470000000006480068006880F3CC
:10617000088862B661B6BFF34F8FBFF36F8F00DF41
:1061800000BF00BF08ED00E0EFF30980BFF36F8FA1
:106190000F4B1A6820E9F00F106008B54FF050005F
:1061A00080F31188BFF34F8FBFF36F8F10F054FE51
:1061B0004FF0000080F31188BDE8084019680868B6
:1061C000B0E8F00F80F30988BFF36F8F704700BF0E
:1061D00070040020EFF305807047000006488047F8
:1061E00006480047FEE7FEE7FEE7FEE7FEE7FEE7BC
:1061F000FEE7FEE7FEE7FEE7592A010831610008E5
:10620000202A04DB203A21FA02F00021704721FA0B
:1062100002F3D040C2F12002914008431946704772
:1062200040EA01039B0703D009E008C9121F08C018
:10623000042AFAD203E011F8013B00F8013B521E98
:10624000F9D27047421E12F8013F002BFBD111F822
:10625000013B02F8013B002BF9D1704730B50546F0
:106260002A460B4612F8010B13F8014B08B1A04265
:10627000F8D01CB1002802D06D1CF1E7284630BDD3
:1062800010B5044604E00B7800F8013B03B1491C4B
:10629000521EF8D2204610BD421C10F8011B0029E6
:1062A000FBD1801A704710B5044600E0401C03780B
:1062B000002BFBD100E0401C521E04D311F8013B1F
:1062C0000370002BF7D100210170204610BD03465A
:1062D00011F8012B00F8012B002AF9D1184670475C
:1062E00030B505460020034600E05B1C934205D212
:1062F000EC5CC85C201A01D1002CF6D130BDF0B4A2
:1063000080EA0102D40F4200B2EB410F02D20246F2
:10631000084611464A0042D0C30DDDB2C1F3C75250
:10632000AD1A202D35DAC1F3160141F4000204B193
:106330005242C5F1200602FA06F12A411044B3EB9D
:10634000D05F23D0C4B1012DA0EBC35009DCF0BC59
:106350004FF0004202EAC35200F50000DBB200F049
:1063600056B9400000F1807000EBC350A0F180707E
:1063700040EAD170490009E0490841EAC071A0EB48
:10638000C35000F50000400800EBC350F0BC00F023
:1063900035B96142012202EB4101001BF6E7F0BC76
:1063A000704781F00041AAE780F00040A7E780EA4B
:1063B000010210B502F00043400026D04A0023D06D
:1063C0004FEA106101EB1261C0F35600C2F35602AE
:1063D00040F4000042F40002A0FB0220A1F17F0182
:1063E0004FEA0040140401D000F1010050EA1240CD
:1063F00001D44000491EC2B20C0604EBD010401C70
:106400004008802A02D003E0002010BD20F00100E7
:10641000002900DA0020184310BD30B480EA0102E0
:1064200002F0004530F0004221F0004015D0A0B14C
:10643000C0F3C753C2F3C754C2F31601C0F316002A
:10644000E41A41F4000140F400027D34914201D38A
:10645000641C00E04900002C02DA30BC00207047C8
:106460004FF400000023914201D3891A03434008EE

открытие в HEX редакторе ничего не дает. Не так открываю?

 

wdrakula
wdrakula аватар
Offline
Зарегистрирован: 15.03.2016

$)))))) Я ахереваю, дорогая редакция! архитектура avr-5, hex2bin скачай гденить. Твоя онлайн-служба может и не умеет с хексом работать, не проверял.

Upper
Offline
Зарегистрирован: 23.06.2020

AVR Studio 4 и дизассемблирует и отладку можно будет запустить. Просто открываете из студии hex файл.

AVR Studio 7 уже не может просто открыть hex  Надо предварительно переводить в elf.

SAB
Offline
Зарегистрирован: 27.12.2016

Так номер телефона, который надо поменять какой был?

Green
Offline
Зарегистрирован: 01.10.2015

.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

В явном виде в файле из #7 телефона нет.

Адрес прошивки 0x6000 - немного странно

RizONE
Offline
Зарегистрирован: 22.03.2018

Komandir пишет:

В явном виде в файле из #7 телефона нет.

Адрес прошивки 0x6000 - немного странно

Это не весь файл, могу в личку скинуть полный вариант

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Лички тут нет от слова совсем

-NMi-
Offline
Зарегистрирован: 20.08.2018

Komandir пишет:

Адрес прошивки 0x6000 - немного странно


Нет там ничего странного. Всё там ровно. Вектора только всё на ресет смотрят, странно...

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

-NMi- где вы увидели вектора ???

-NMi-
Offline
Зарегистрирован: 20.08.2018

Как где? Сверху идут вектора, начиная с вектора ресет. Далее за векторами идёт сама программа. Что, неужели не видно?

Выше постами писали, 4-я студия и идапро может трассировать хекс. От себя добавлю, можешь и в протеусе запросто оттрассировать хекс. )))

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

Код из #7 ляжет по адресу 0x6000, а вектора находятся в общем случае по адресу 0x0000.

-NMi-
Offline
Зарегистрирован: 20.08.2018

Скрин раздэза фстудию!!!

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

-NMi- вы не в курсе формата файлов HEX ?

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

RizONE пишет:

А зачем надо? Попросили в коде поменять контактный номер телефона

если номер известен то видимо можно и прямо так

-NMi-
Offline
Зарегистрирован: 20.08.2018

Komandir пишет:

-NMi- вы не в курсе формата файлов HEX ?


Бискаминтариеф)))

-NMi-
Offline
Зарегистрирован: 20.08.2018

ua6em пишет:

RizONE пишет:

А зачем надо? Попросили в коде поменять контактный номер телефона

если номер известен то видимо можно и прямо так


При условии, что софт сам себя не считает на целостность кода, то можно.