Jump to content

    
aleksej_27

Поиск инженера по цифровым схемам и логике в проект

Recommended Posts

Всем привет.
Приглашается инженер по цифровым схемам и логике в проект.
Суть задачи.
Есть некая микросхема с которой хотелось бы наладить взаимодействие. Микроконтроллер NEC , 8 бит.
Основное ПЗУ - масочный РОМ. Тестовые ПЗУ, так называемые бут-ром тоже масочные.
Всего 3 тестовых ПЗУ и 1 основное.
Проведен реверс-инженеринг и коды всех ПЗУ извлечены и изучены.
Требуемая задача решается входом в один из тестовых ПЗУ.
Был проведен реверс-инженеринг логики на кристалле микросхемы и получен нет-лист цифровой схемы.
Нет-лист содержит перечень логических элементов и соединения между ними. Формат нет-листа VHDL , verilog.
На данный момент изучен механизм переключения и выбора источника загрузки и все необходимые манипуляции с этим.
Остался последний шаг - отдать команду на запуск ядра, так как пока идёт процесс выбора источника загрузки ядро остановлено.
С этим возникли проблемы . Со схемой загрузки и выбора источника разобрались написанием анализирующих программ, которые из нет-листа выделили и изолировали определенную группу элементов. Со схемой запуска так не получается .
Всего количество элементов около 30000.
Есть идея попробовать запихнуть эту схему в эмулятор и прогнать с изучением до момента когда логика начнёт обращения к шине данных ПЗУ
для чтения кодов операций(ядро запустилось и пытается выполнить инструкции).
Проблема в том, что человек который в этом понимает один и его нельзя клонировать. Последнее время он нужен на других проектах и оторвать его
можно только на небольшое время.
Из выше написанного думаю понятны требования .
Оплата золотом по факту решения задачи.
+79509513690 Алексей

Share this post


Link to post
Share on other sites

Честно говоря, написано не совсем понятно, вызывает много вопросов.

1.это легально, то что вы делаете? Реверс инжиниринг чьего то устройства

2. какой город? общение по удаленке?

3. мк NEC - это и есть та микросхема, которую отреверсили? Или отреверсили другую микросхему, котрорая с неком общалась

4. как реверсили -послойно травили и восстанавливали топлогию, т.е. полученый нетлист достоверен 99%?

5. что хотите получить в рез-те - прошивку для ПЛИС, которая заменит микросхему, или что то другое (алгоритм, интерфейс ...)?

Share this post


Link to post
Share on other sites

1. Легально. Копию делать никто не собирается, а изучать не запрещено. 

2. Город Омск , по удалёнке конечно. 

3. Да, эта самая микросхема NEC. 

4. Да. Работала китайская фирма. Сделали фотографии всех слоёв , провели распознавание элементов и нарисовали соединения. 

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

5. Интересует алгоритм сервисного режима. Режим тестирования микросхемы на заводе после изготовления и упаковки в корпус. Конкретно вход в этот режим. 

Share this post


Link to post
Share on other sites
6 hours ago, aleksej_27 said:

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

Проблема в том, что клонировать может оказаться существенно дешевле. ;)

Нужно учитывать, что может понадобиться значительное время для человека со стороны

просто на "вход" в задачу. 

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

Если секрет, то в личку хотя бы. ;)

Share this post


Link to post
Share on other sites
39 minutes ago, gosha-z said:

А зачем реверсить логику микроконтроллера, если есть прошивки ПЗУ, пусть даже однократные?

Вроде как не сам дамп нужен, а понимание как аппаратно происходит выбор нужного массива при старте, тоесть до собственно программы.

Share this post


Link to post
Share on other sites
On 5/28/2020 at 10:10 AM, aleksej_27 said:

Задача серьёзная и на коленке не решается. Оплата тоже соответствующая. Всё обсуждается. 

Я вот сейчас ваше сообщение перечитываю и пытаюсь сложить в голове представление о вашем устройстве.

1) Как я понимаю, мы имеем дело с некоторой Soc, на которой имеется некая (комбинационная, КА?) 

система запуска 8-разрядного МК . С одной из 4 программ, забитых в ПЗУ. Коих 3 тестовых и 1 рабочая.

2) Известно ли, что это за МК? Какова его система команд вы разобрались, как я понимаю.

интересует архитектура.

3) Вход в алгоритм сервисного режима как происходит? Алгоритм является некоей программой тестирования

конечного чипа или что-то еще?

4) Хотелось бы взглянуть на ваши HDL файлы. 

Share this post


Link to post
Share on other sites
1 час назад, atman сказал:

Я вот сейчас ваше сообщение перечитываю и пытаюсь сложить в голове представление о вашем устройстве.

По-любому, это что-то секьюрное (secure mcu?) - СКУД, ключ или симка. Должно быть достаточно старым (8 бит) и массовым, чтобы оправдать такие усилия по реверсингу.

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

 

1 час назад, atman сказал:

Алгоритм является некоей программой тестирования конечного чипа или что-то еще?

Ставлю на то, что речь про поиск сервисного режима, позволяющего считывать несчитываемое (секретный ключ или что-то в этом роде) или записывать незаписываемое (счетчик использований, признак блокировки, дату окончания действия).

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

Share this post


Link to post
Share on other sites
6 часов назад, Flood сказал:

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

Тем не менее это возможно. Я 140 серию, зная её транзисторы, могу руками перерисовать.

А у кого в наличии прецизионная шлифовалка и мощная фазо-контрастная микроскопия, может сделать хорошие по различению слоев фотографии.

Дальше обучают нейросеть распознавать виды транзисторов, как текст какой-нибудь finereader.

Межсоединения в слоях металлов разбиваются по узлам сеток.

Потом массив соединений в сетки переводится в нетлист.

Нетлист переводится в красивую схему в spicevision.

Масочное ПЗУ вообще побитно содрать можно, там либо прямое кодирование, либо инверсное, если не военка/космос.

Share this post


Link to post
Share on other sites

offtopic

6 hours ago, Flood said:

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

Анализ бывает еще более глубоким, например, есть компании (в т.ч. некитайские), предлагающие даже отчетность по профилям легирования особо важных компонентов схемы (например, границы фотодиод-затвор в КМОП матрицах).

 

Share this post


Link to post
Share on other sites

Ощущение, что автор просто не в курсе, что все микроконтроллеры (синоним — модное слово "ядро") отродясь запускались и запускаются одинаково — по снятию сигнала сброса, т.е. всегда вручную и никак иначе.

Share this post


Link to post
Share on other sites

предположу, что вопрос состоит в некой аппаратной логике, которая по состоянию неких входов мапирует на стартовый адрес ту или иную ПЗУ-шку.

то есть нужно найти в нетлисте эту логику и дать инструкции по выбору (автор называет это запуском) нужной ПЗУ-шки на реальной железке

-----------------

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

2 hours ago, Plain said:

Ощущение, что автор просто не в курсе, что все микроконтроллеры (синоним — модное слово "ядро") отродясь запускались и запускаются одинаково — по снятию сигнала сброса, т.е. всегда вручную и никак иначе.

возможно, что подключается какая-то логика отладки, типа пошагового исполнения, аппаратного монитора и т.п., в 78 если не ошибаюсь, стандарта на JTAG нету 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.