Страница 1 из 1
Из hex в исходный код на Си
Добавлено: Вт фев 23, 2016 16:55:23
aleksei18rus
Добрый вечер, есть программа которая из hex (bin) делает исходный код на Си?
Re: Из hex в исходный код на Си
Добавлено: Вт фев 23, 2016 17:23:05
goldmen8
aleksei18rus писал(а):исходный код на Си
Исходный код на "Си" предусматривает различные комментарии к действиям, в "hex" нет этих комментарий. Сможешь разобраться без комментария?
Re: Из hex в исходный код на Си
Добавлено: Ср фев 24, 2016 11:19:14
Jack_A
aleksei18rus писал(а):Добрый вечер, есть программа которая из hex (bin) делает исходный код на Си?
... да еще для всех существующих типов МК. Конечно, нет. Так что для взлома чужой
паршпрошивки придется изучить АСМ. А кто сказал, что хакер - это просто ?
Re: Из hex в исходный код на Си
Добавлено: Ср фев 24, 2016 17:38:14
СКАЗОЧНИК
Думаю, даже поизучав Асм, все равно тяжко будет очень....
Re: Из hex в исходный код на Си
Добавлено: Ср фев 24, 2016 18:16:55
rus084
компиляция это дифференцирование , нет ничего проще .
а наоборот - интеграл , это намного сложнее
Re: Из hex в исходный код на Си
Добавлено: Чт фев 25, 2016 09:38:45
Jack_A
СКАЗОЧНИК писал(а):Думаю, даже поизучав Асм, все равно тяжко будет очень....
Иногда это единственный выход... Однажды после основательной переделки проги у меня гавкнулся винчестер. Остался работающий проверенный HEX и не первой свежести копия исходников. Потратив день, шаг за шагом восстановил работающий исходник. С тех пор стал чаще соранять промежуточные результаты.
Ну а чужую прогу расколоть, само собой, еще труднее. Особенно если автор "заметал следы", затрудняя декомпиляцию.
Re: Из hex в исходный код на Си
Добавлено: Чт фев 25, 2016 10:31:29
menzoda
rus084 писал(а):компиляция это дифференцирование , нет ничего проще .
а наоборот - интеграл , это намного сложнее
Тем более что интеграл то - определенный!
Re: Из hex в исходный код на Си
Добавлено: Чт фев 25, 2016 11:24:07
rus084
можно написать программу-анализатор , которая на первом шаге с помощью objdump делает ассемблерный код , затем искать какой код откуда вызывается . создать дерево переходов что откуда может вызываться , затем можно логически несвязанные ветви кода перемещать в отдельные файлы .
например код инициализации возвращает управление main , его переместить в отдельный файл . векторы прерываний в другой файл .
всё просто
Re: Из hex в исходный код на Си
Добавлено: Чт фев 25, 2016 23:37:52
aleksei18rus
Понял что очень сложно и не стоит тратить на это время. Всем спасибо.
Re: Из hex в исходный код на Си
Добавлено: Пт фев 26, 2016 07:57:04
Jack_A
rus084 писал(а):можно написать программу-анализатор ...
... перемещать в отдельные файлы .
... векторы прерываний в другой файл .
всё просто
Все просто для человека, умеющего программить на ПК на уровне, сильно превышающем "помигаь на МК диодами". Но такие сразу пишут прогу, а не вопрос в форум.
Кстати, разные части проекта вовсе не обязательно растаскивать по разным файлам - они прекрасно уживутся в одном исходнике. Если выполнена одна малость: понят алгоритм всей программы и ее составных частей, точки входов и переменные получили осмысленные имена и написан краткий, но исчерпывающий комментарий. Все просто
Спойлер
Стесняюсь спрсить: автор ответа сам это проделывал -- или только "тетеритически" ?
Re: Из hex в исходный код на Си
Добавлено: Пт фев 26, 2016 08:04:21
L.O.D
Jack_A писал(а):Стесняюсь спрсить: автор ответа сам это проделывал -- или только "тетеритически" ?
Судя по "
дереву переходов", даже не пытался.
Re: Из hex в исходный код на Си
Добавлено: Пт фев 26, 2016 08:12:38
Jack_A
Я бы назвал это "граф переходов", поскольку тут возможны циклы, что исключает принадлежность такого графа к дереву.
Re: Из hex в исходный код на Си
Добавлено: Пт фев 26, 2016 13:39:07
L.O.D
Циклы тоже возможны, хотя это особый случай (рекурсия), требующий специальных мер предосторожности и часто не рекомендуемый, но и без рекурсии этот граф никак не может быть деревом, хотя бы из-за функций ввода-вывода.

Однако, в 'термине' "
дерево переходов" ошибки-то две -
это не дерево, а некий однонаправленный граф...
и не переходов, а вызовов. "
В остальном - всё верно." ©
