Например TDA7294

Форум РадиоКот • Просмотр темы - ПО облегчающее реверс инженеринг прошивок ОМК.
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Пн мар 30, 2026 01:25:00

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 63 ]  1, , ,  
Автор Сообщение
 Заголовок сообщения: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 12:23:00 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Вот тут давнишняя задача - есть некоторое ПО для некоторого устройства использующего Microchip PIC16C65А. Прошивка дизассемблирована (ровно 4800 значащих строк) и корректно ассемблируется в исходный файл. Но при этом ПО не работает нормально и корректно на реальном железе. Есть нюанс, проверка проводилась на PIC16F877, но ничего такого, что есть в 16С65 и отсутствует в 16F877 не замечено (судя по найденным обращениям к регистрам ввода вывода из аппаратной переферии используются только таймеры-счетчики и система прерываний). Регистры из используемых 1:1.

Есть первое предположения, что в "открытую" версию внесена некоторые "опечатки".

Или всё таки влияют некоторые различия 16С65 и 16F877 ?


Задача стоит или найти "опечатку" и устранить, или извлечь из кода алгоритмы работы и передать людям для написания ПО на современных ОМК. Сам я не программист, да и другие люди к проекту близкие тоже и тяжело разбираться в алгоритмах. Вот как бы можно раздербанить программу на какие-то более понятные виды изображения. Квадратики-стрелочки или еще как-то ?

Из-за большой и крайне сложной периферии сымитировать работу ПО в симуляторах невозможно. Судя по годам создания, написано было на ассемблере, но понять по коду, ассемблер это или компилятор с языка высокого уровня, я увы не могу.

Само ПО или его части публиковаться, к сожалению, не будут.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 12:53:24 
Это не хвост, это антенна

Карма: 12
Рейтинг сообщений: 134
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1360
Рейтинг сообщения: 0
Одни проблемы. Со всех сторон.)
Ну и непонятно. ПО на оригинальном 65 работает как надо? А не работает только на клоне 877?
Просто людей нужно заинтересовать и они всё сделают.)


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:03:18 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Неизвестно. Задача использовать PIC16F877 вместо PIC16C65A стояла с самого начала, поэтому с PIC16C65A проверка не проводилась. На данный момент провести её сложно, хотя и возможно. ПО работало, но "не совсем корректно". В смысле что процессор не зависал, но и нормальной работы согласно документации достигнуть не удалось.

Именно для этого я и ищу ПО, в ручную пытаться "размотать" не получилось. "Безобразно Бешеных Бабок" для нанятия людей "со стороны" не подвезли.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:29:57 
Мудрый кот
Аватар пользователя

Карма: 12
Рейтинг сообщений: 85
Зарегистрирован: Вт мар 28, 2023 21:17:15
Сообщений: 1737
Откуда: Universe
Рейтинг сообщения: 0
А в PROTEUS-е погонять? Там модель того PIC16C65A есть?

_________________
I have a dream...¯\_(ツ)_/¯


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:35:49 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
А почитать сообщение по внимательнее ? Там написано ! (для ленящихся читать уточню: "для работы нужна переферия, которая достаточно сложна и имеет не только электрические, но и механические и гидравлические компоненты" ни один симулятор, из известных мне, на такое не способен).


Последний раз редактировалось Призрачный Суслик Ср мар 11, 2026 13:43:13, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:37:28 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3663
Откуда: Севастополь
Рейтинг сообщения: 0
Для старых ПИК-ов вполне хватает обычного дизассемблера. Если не умеете - учитесь.

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:41:17 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Всё дизассемблировано давно. Выделены все подпрограммы и зафиксированы все точки входа и выхода в них. Но этого мало - восстановить алгоримы не получается. Нужно ПО , если таковое существует, которое облегчает разбор ассемблерного текста.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:53:19 
Друг Кота
Аватар пользователя

Карма: 96
Рейтинг сообщений: 1506
Зарегистрирован: Вт мар 16, 2010 22:02:27
Сообщений: 15536
Откуда: ДОНЕЦК
Рейтинг сообщения: 0
Никакое ПО не обеспечивает учёта всех особенностей работы внешней периферии.
Эту задачу можно решить только симуляция по алгоритму работы конечного изделия, в котором тот МК с программой используется.
Или садиться в позу ёги заниматься медитационными размышлениями.
8)
Касательно разбора ассемблерного текста...
Листочки бумаги, машинные коды и их "перевод" в мнемоники ассемблера, затем карандаши в лапки и анализ переходов... Далее смотрим чего нарылось...
Такое относительно легко для I8080/85, Z80 и MCS51, у ПИКовых заметно помуторнее перевод из кода в мнемонику.
Но вдруг у кого получится...
:dont_know:


Последний раз редактировалось BOB51 Ср мар 11, 2026 14:05:39, всего редактировалось 2 раз(а).

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 13:57:19 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3663
Откуда: Севастополь
Рейтинг сообщения: 0
Цитата:
Всё дизассемблировано давно.

Тем более.
Если есть куски кода, то только знание работы этого МК даст вам возможность заставить работать эти куски на 877.
Также, всю "лишнюю" периферию, что есть в 877, но отсутствует в 65, крайне желательно принудительно отключать при инициализации МК.
Вполне возможно (точно не скажу) что даже отдельные биты в конфиге МК у них имеют разное значение.
Вы хоть это сделали ?

Есть (очень малая) вероятность того, что объяснить, как работает и что делает тот или иной кусок, вам поможет какое-нибудь ИИ-чудо.
Но это такое... почти как эмуляция симуляции трехпрограммника...

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:02:05 
Это не хвост, это антенна

Карма: 12
Рейтинг сообщений: 134
Зарегистрирован: Вт июн 07, 2011 08:03:18
Сообщений: 1360
Рейтинг сообщения: 0
Так ТС и его окружение ни бе, ни ме в программировании. И он ищет волшебную пилюлю в в виде непонятно чего, но что бы у него работало как ему хочется. ППЦ, конечно.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:11:20 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25630
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Цитата:
Задача стоит или найти "опечатку" и устранить, или извлечь из кода алгоритмы работы и передать людям для написания ПО на современных


А они( алгоритмы) в этом коде вообще-то есть ?
Или это программа из тех, что описана для отхватить бабок от лохов и смыться ? Раз там одни обращение к таймерам.

Развелось тут ловкачей, которые готовят получить реализацию своих проектов под девизом " тестовых заданий для определения квалификации".

И кто кого в итоге обует ?


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:16:45 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Есть надежда на какое либо преобразование ассемблерного текста в некую алгоритмически понятную форму - что из чего получается. Какая ячейка памяти связана с какими событиями, какие математические операции выполняются над переменными. В общем любое ПО которое облегчает ковыряние в исходниках другого ПО.

Симуляция работы конечного изделия в полной форме очень сложна, даже непонятно на чем симулировать. Это не мигалка светодиодами и даже не экскаватор, всё намного сложнее. Поэтому задача размотать исходный алгоритм работы и представить его в виде по которому можно будет заказать написание нового ПО под новый микроконтролёр и модернизированную переферию. В "старой" перефирии используется немало снятых с производства, хотя еще и относительно доступных микросхем. Да и сам PIC16C65A вроде как снят с производства да и PIC18F877 тоже не "новый" и может довольно быстро исчезнуть.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:22:35 
Мудрый кот

Карма: -8
Рейтинг сообщений: 196
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1717
Рейтинг сообщения: 0
Всё дизассемблировано давно. Выделены все подпрограммы и зафиксированы все точки входа и выхода в них.
Как вы можете это утверждать если по вашему же утверждению:
Сам я не программист
?
Всё равно что если бы вам дали листок с набором закорючек и сказали, что это текст на суахили. Как вы можете быть в этом уверены, если ни черта не понимаете в суахили?
Ваши "подпрограммы" может быть - просто наборы мусора. Потому как дизассемблер принял данные за код, а код - за данные. "Непрограммист" этого не заметит.
"Безобразно Бешеных Бабок" для нанятия людей "со стороны" не подвезли.
тогда 2 выхода:
1. Найти/заработать/украсть эти бабки. И нанять.
2. Научиться самому.

Добавлено after 1 minute 26 seconds:
Нужно ПО , если таковое существует, которое облегчает разбор ассемблерного текста.
Такое ПО существует и находится оно в мозгу программиста. 8)


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:23:27 
Друг Кота
Аватар пользователя

Карма: 58
Рейтинг сообщений: 447
Зарегистрирован: Чт мар 20, 2008 01:06:40
Сообщений: 3663
Откуда: Севастополь
Рейтинг сообщения: 0
Цитата:
Есть надежда на какое либо преобразование ассемблерного текста в некую алгоритмически понятную форму

Это всё лоховство и недомыслие, навязываемые вам разными ИИшечками. Без обид.
Сейчас глянул их даташиты.
У 65-го РОНы начинаются с адреса 0x0С, а у 877 - с 0x20.
Давайте, скажите мне, что и это уже скорректировано и всё равно нихрена не получается :))

да, сорри, смотрел для 61

_________________
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)


Последний раз редактировалось abc Ср мар 11, 2026 14:31:14, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:28:54 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Насколько удалось установить, обращение идёт только к портам ввода/вывода к таймеру и задействованы прерывания.

Обращения к регистрам SPI, UART, АЦП и сторожевого таймера не найдено. Или искать не умеем правильно.

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

ПО было написано в 1998-1999 году.

Добавлено after 3 minutes 29 seconds:
Одинаковые адреса там с 20h у обоих первая страница РОНов, а вторая с A0h. Вы что-то не там смотрите.

У PIC16F877 просто 4 набора, а у PIC16C65A - два. Так старшие просто не используются.

Все адреса и управляющие биты были проверены. Тут вопросов нет. Или какие то нюансы или всё таки что-то с программой не то.

Во первых я не один работаю над этим. Во вторых программистом считаю человека, создающего программы, а не понимающего, что на бумажке написаны не каракули. Ассемблер Microchip, немного знаю, книжки соответствующие читал, а не просто так. Естественно тут просто уровня опыта и знаний недостаточно для понимания, что происходит в программе в общем, а не того, что "из ячейки с адресом ХХ переписано в порт с такой то переферии".

Составлялись, сначала списки всех вызовов подпрограмм CALL (АДР.) Выявлялись точки входа. Предполагая, что каждая подпрограмма может иметь ни одну точку входа, примерно группировались зоны вызовов. В этих зонах велся поиск команд "RET" для начала в сторону больших адресов, а так-же команд безусловного и условного перехода на адреса младше адреса входа. Ну собственнотвсё - находился участок памяти обособленный из которого наружу нет ни одного перехода, а внутри есть как минимум одна команда RET и в который ведут один или более CALL. Использовался Microsoft EXEL.


Последний раз редактировалось Призрачный Суслик Ср мар 11, 2026 14:49:05, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:43:52 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25630
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
На каком основании вы уверены, что "алгоритмы" старого ПО будут годны для использовании на новом оборудовании ?

Кстати, такая ошибка является основной для всех доморощенных разработчиков разряда "достаточно знать несколько операторов и систему регистров". Поэтому у них в итоге и ничего не работает.


Последний раз редактировалось Муркиз Ср мар 11, 2026 14:47:24, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:45:14 
Мудрый кот

Карма: -8
Рейтинг сообщений: 196
Зарегистрирован: Вт авг 15, 2017 10:51:13
Сообщений: 1717
Рейтинг сообщения: 0
Во первых я не один работаю над этим.
Что тогда мешает скинуться всем коллективом, описать требуемый алгоритм работы устройства и создать соответствующую тему в разделе "Предлагаю работу"?
Даже дизассемблировать ничего не нужно. Тем более, что существующая прошивка всё равно толком не работает (по вашим же утверждениям).
4800 строк - не бог весть какой сложности программа. Особенно если это строки асма, а не си.

PS: Ожидать тут экстрасенса, который магическим образом внедрит в ваше сознание понимание работы программы, которую он даже увидеть не может.... Это мягко говоря - странно.


Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:56:39 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Для этого надо и выяснить что так в программе и как ?

Основная задача извлечение как раз алгоритма работы, которого никто не знает. Есть он там, хороший, плохой, никто не знает. Надо узнать. Новый не разработать, тут уже нет очень серьёзных знаний и экспериментальной базы. Это не "мигалка" и не регулятор температуры с "далласовским" датчиком. Всё сложнее и намного.

Если там нет искомого - то увы, а если есть - то всё хорошо. Тут уже и финансирование появится и программиста "нужного" нанять можно.

Была надежда, что есть какое-то ПО, облегчающее, в том или другом виде, анализ программ.


Последний раз редактировалось Призрачный Суслик Ср мар 11, 2026 14:58:25, всего редактировалось 1 раз.

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 14:57:11 
Друг Кота
Аватар пользователя

Карма: 107
Рейтинг сообщений: 3852
Зарегистрирован: Пн фев 09, 2009 22:19:49
Сообщений: 25630
Откуда: Когда-то был прекрасный город для людей
Рейтинг сообщения: 0
Да тем, что для решения такой задачи сначала требуется создать сначала функциональную модель, затем для нее нужно сформировать и свести математическую модель и доказать возможность ее существования и достаточности для получения решения, затем уже идёт построение алгоритмической модели просчет ее устойчивости, и только после этого начинается этап перевода ее в программный код, который тоже имеет несколько отнюдь не чисто кодописных задач.

И где вы таких программистов найдете сейчас ? И не простого горбача - тут нужны прикладные программисты - которые в первую очередь должны быть специалистами по реализуемой теме. А таких прикладников-программистов никто вообще не выпускают. Считают, что достаточно математиков-программистов. И на решение прикладных задач их знаний недостаточно.

Ну а попытки извлечь из последовательности действий правил и закономерностей их применения в коде бесполезно - их там нет. Они там преобразованы в форму инструкций действия по ситуации - а это все равно что у каменщика спрашивать, сколько на это здание кирпича пойдет.


Последний раз редактировалось Муркиз Ср мар 11, 2026 16:40:06, всего редактировалось 2 раз(а).

Вернуться наверх
 
 Заголовок сообщения: Re: ПО облегчающее реверс инженеринг прошивок ОМК.
СообщениеДобавлено: Ср мар 11, 2026 15:00:24 
Нашел транзистор. Понюхал.

Карма: -2
Рейтинг сообщений: -5
Зарегистрирован: Ср фев 04, 2026 21:29:19
Сообщений: 188
Откуда: Из норки где-то в России
Рейтинг сообщения: 0
Так в том всё и есть, что в 1998-1999 годах задача была решена людьми по умнее нас, нынешних, результатом чего, стало к данное ПО. Исходники были утрачены вместе со стендовым оборудованием. А прошивка сохранилась.

Почему нет то ? Собственно это перенесенный на двоичную арифметику алгоритм.

Есть , конечно, шанс, что задача решена не была, а ПО написано на "отвали". Вроде в те годы люди по честнее были. Ну вот в этом задача и состоит. Разобраться.


Последний раз редактировалось Призрачный Суслик Ср мар 11, 2026 15:05:28, всего редактировалось 1 раз.

Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 63 ]  1, , ,  

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y