Обратный инжиниринг MCU

Разблокировка микроконтроллеров – MikaTech

Наши ценности и цели

О MikaTech

Время пролетело быстро: от дня, когда мы выполнили наш первый проект по обратному инжинирингу MCU 8051 в 1998 году, до дня, когда мы создали нашу миллионную лабораторию обратного инжиниринга в 2012 году, прошло 14 лет. Теперь мы начинаем новый бизнес по разработке встраиваемых систем визуализации, надеемся прослужить ещё 10 лет.

подпись Питер Ли Соучредитель и генеральный директор

Взлом PLD серий GAL, PAL, PALCE, PEEL, ATF

GAL16V8, PAL16V8, PALCE16V8, PEEL16V8 и ATF16V8 — иногда они выглядят очень запутанно, ниже перечислены бренды, которые их выпускают

 

Программируемая логическая матрица (PAL) — это семейство полупроводниковых программируемых логических устройств, используемых для реализации логических функций в цифровых схемах. Представлена компанией Monolithic Memories, Inc. (MMI) в марте 1978 года. MMI получила зарегистрированный товарный знак на термин PAL для использования в «программируемых полупроводниковых логических схемах». В настоящее время товарный знак принадлежит Lattice Semiconductor.

Устройство Generic Array Logic (GAL) было инновацией PAL и изобретено компанией Lattice Semiconductor. GAL был улучшением PAL, поскольку одно устройство могло заменить множество PAL или даже иметь функциональность, не охватываемую исходным рядом. Однако его основным преимуществом была возможность стирания и перепрограммирования, что упрощало прототипирование и изменение проектов для инженеров.

PEEL (программируемая электрически стираемая логика) была представлена корпорацией International CMOS Technology (ICT).

PALCE (программируемая логическая матрица на КМОП с электрическим стиранием) — товарный знак в настоящее время принадлежит Lattice Semiconductor.

взлом микроконтроллера Atmel

Взлом микроконтроллеров Atmel

Atmel Corporation выпускала две основные линии электрически стираемых Flash-программируемых логических устройств: ATF SPLD (совместимые по выводам с GAL/PALCE) и ATF15xx с внутрисистемным программированием через JTAG, а также устаревшие ATV с UV-стиранием. Atmel была приобретена Microchip в 2016 году, и все дискретные PLD сняты с производства. В этом документе перечислены все стандартные серийные базовые модели PLD, за исключением гибридных FPSLIC SOC и автономных FPGA.

1. Семейство Flash E²CMOS SPLD ATF

ATF16V8 – 20-выводные устройства с 8 макроячейками

ATF16V8, ATF16V8B, ATF16V8C

ATF16V8BQ, ATF16V8BQL, ATF16V8CZ

ATF16LV8, ATF16LV8C

ATF20V8 – 24-выводные устройства с 8 макроячейками

ATF20V8, ATF20V8B, ATF20V8C

ATF20V8BQ, ATF20V8BQL

ATF20LV8, ATF20LV8C

ATF22V10 – флагманское SPLD с переменными выводами

ATF22V10, ATF22V10B, ATF22V10C

ATF22V10CQ, ATF22V10CQZ

ATF22LV10, ATF22LV10C

Расширенные SPLD повышенной плотности

ATF28V12, ATF29M16

2. CPLD с внутрисистемным программированием ATF15xx JTAG ISP

ATF1500 – начальное CPLD с 32 макроячейками

ATF1500A, ATF1500AL

ATF1502 – CPLD средней плотности с 32 макроячейками

ATF1502AS, ATF1502ASL, ATF1502ASV, ATF1502ASVL

ATF1504 – CPLD средней плотности с 64 макроячейками

ATF1504AS, ATF1504ASL, ATF1504ASV, ATF1504ASVL

ATF1508 – CPLD высокой плотности с 128 макроячейками

ATF1508AS, ATF1508ASL, ATF1508ASV, ATF1508ASVL

Устаревшие CPLD средней плотности

ATF750C, ATF750CL, ATF750LVC

ATF2500C, ATF2500CL, ATF2500LVC

3. Устаревшие EPLD с UV-стиранием ATV

ATV750, ATV750B

ATV2500, ATV2500B

Дамп MCU MMI

Monolithic Memories Inc. (MMI) создала первое коммерческое PAL (программируемую логическую матрицу) на основе плавких перемычек с однократным программированием в 1978 году. До приобретения AMD в 1987 году MMI выпустила четыре основных линейки PLD: стандартные плавкие PAL, высокоскоростные AmPAL, КМОП PAL с UV-стиранием PALC и масочные программируемые HAL. Все устройства используют архитектуру программируемой И / фиксированной ИЛИ для реализации цифровой логики в виде сумм произведений. В этом документе перечислены все стандартные серийные базовые модели, разработанные и произведённые MMI.

1. Семейство стандартных плавких PAL с 20 выводами

Комбинационные PAL

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

Регистровые синхронные PAL

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

PAL с улучшенным XOR

PAL16X4, PAL16X6, PAL16X8

2. Семейство стандартных плавких PAL с 24 выводами

Комбинационные 24-выводные PAL

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10 (исходное плавкое 24-выводное PAL с переменными макроячейками)

Регистровые 24-выводные PAL

PAL20R4, PAL20R6, PAL20R8

XOR 24-выводные PAL

PAL20X4, PAL20X6, PAL20X8

Широкошинные PAL высокой плотности

PAL32R16, PAL32X16

3. Высокоскоростная серия AmPAL

AmPAL16P8

AmPAL20L10

AmPAL22P10

AmPAL22XP1

4. КМОП PAL с UV-стиранием PALC

PALC22V10 (PAL с UV-окошком, единственное стираемое PLD MMI до приобретения)

5. Масочная аппаратная логика HAL (заказные PLD)

HAL10H8, HAL12H6, HAL14H4

HAL16C1, HAL16H2, HAL16H8, HAL16L2, HAL16L8

HAL18L4, HAL20L2, HAL20L8, HAL20L10

Атака на микроконтроллеры ICT

International CMOS Technology (ICT) — тайваньский вторичный поставщик малых программируемых логических устройств. Весь портфель PLD состоит из плавких PAL OTP, КМОП PAL с UV-стиранием PALC и электрически стираемых SPLD, совместимых с GAL. ICT никогда не выпускала собственных CPLD или FPGA. В этом документе перечислены все стандартные серийные базовые модели SPLD.

1. Плавкие OTP TTL PAL

20-выводные комбинационные PAL

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

20-выводные регистровые PAL

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

20-выводные XOR PAL

PAL16X4, PAL16X6, PAL16X8

24-выводные комбинационные PAL

PAL18H4, PAL18L4, PAL18P4

PAL20C1

PAL20H2, PAL20L2, PAL20P2

PAL20L8, PAL20S10

PAL22V10

24-выводные регистровые PAL

PAL20R4, PAL20R6, PAL20R8

24-выводные XOR PAL

PAL20X4, PAL20X6, PAL20X8

Широкошинные PAL

PAL32R16, PAL32X16

2. КМОП PAL с UV-стиранием PALC

20-выводные PALC

PALC10H8, PALC10L8

PALC12H6, PALC12L6

PALC14H4, PALC14L4

PALC16C1

PALC16H2, PALC16L2, PALC16P2

PALC16H4, PALC16L4, PALC16P4

PALC16H6, PALC16L6, PALC16P6

PALC16H8, PALC16L8, PALC16P8

PALC16R4, PALC16R6, PALC16R8

PALC16RP4, PALC16RP6, PALC16RP8

PALC16X4, PALC16X6, PALC16X8

24-выводные PALC

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

3. Электрически перепрограммируемые SPLD GAL E²CMOS

GAL16V8

GAL16V8, GAL16V8A, GAL16V8B, GAL16V8D

GAL20V8

GAL20V8, GAL20V8A, GAL20V8B

GAL22V10

GAL22V10, GAL22V10B

Специальные GAL

GAL18V10, GAL20RA10, GAL26CV12

1. Малые SPLD PEEL (20/24 вывода, замена GAL/PALCE)

1.1 PEEL18CV8 (20 выводов, 8 макроячеек, замена ATF16V8 / GAL16V8)

PEEL18CV8

PEEL18CV8Z (сверхмалое потребление в режиме ожидания)

PEEL18LV8 (3,3 В низковольтное ядро)

PEEL18LV8Z (3,3 В сверхмалая мощность)

1.2 PEEL20CG10 (24 вывода, 8 макроячеек, замена GAL20V8 / ATF20V8)

PEEL20CG10

PEEL20CG10A (повышенная скорость)

1.3 PEEL22CV10 – флагманское 24-выводное SPLD (10 макроячеек с переменными термами, замена GAL22V10 / ATF22V10)

PEEL22CV10

PEEL22CV10A (стандартный коммерческий)

PEEL22CV10AZ (нулевая мощность, низкий ток ожидания)

PEEL22LV10 (3,3 В низкое напряжение)

PEEL22LV10AZ (3,3 В сверхмалая мощность)

2. Высокоплотные CPLD серии PEEL Array (многомакроячейковые ISP)

2.1 PEEL153 (малой плотности, совместим с PLS153)

PEEL153

2.2 PEEL173 (средней плотности, совместим с PLS173 / PAL20L10)

PEEL173

2.3 PEEL253 (средне-высокой плотности)

PEEL253

2.4 PEEL273 (высокой плотности)

PEEL273

взлом интегральной схемы AMD

Копирование интегральных схем AMD

PALCE16V8H, PALCE16V8Q, PALCE16V8Z ...
PALCE20V8H, PALCE20V8Q ...
PALCE20RA10, PALCE20RA10H, PALCE20RA10Q ...
PALCE22V10, PALCE22V10H, PALCE22V10Q, PALCE22V10Z ...
PALCE26V12H, PALCE26V12H/4 ...

восстановление исходного кода Cypress

Взлом интегральных схем Cypress

Cypress Semiconductor выпускала две основные категории программируемых логических устройств: устаревшие малые SPLD, включая UV-стираемые PALC, электрически перепрограммируемые PALCE и плавкие OTP PAL второго источника; а также высокоплотные Flash CPLD с внутрисистемным программированием через JTAG (FLASH370i, Ultra37000, MAX340, Quantum38K, Delta39K). В этом документе перечислены все стандартные серийные базовые модели PLD, за исключением PSoC со смешанными сигналами и заказных масочных ИС.

1. Устаревшие серии SPLD

1.1 КМОП PAL с UV-стиранием PALC

20-выводные PALC

PALC10H8, PALC10L8

PALC12H6, PALC12L6

PALC14H4, PALC14L4

PALC16C1

PALC16H2, PALC16L2, PALC16P2

PALC16H4, PALC16L4, PALC16P4

PALC16H6, PALC16L6, PALC16P6

PALC16H8, PALC16L8, PALC16P8

PALC16R4, PALC16R6, PALC16R8

PALC16RP4, PALC16RP6, PALC16RP8

PALC16X4, PALC16X6, PALC16X8

24-выводные PALC

PALC18H4, PALC18L4

PALC20C1

PALC20H2, PALC20L2, PALC20P2

PALC20R4, PALC20R6, PALC20R8

PALC20X4, PALC20X6, PALC20X8

PALC20S10

PALC22V10

1.2 Электрически стираемые SPLD PALCE

PALCE16V8, PALCE20V8, PALCE22V10, PALCE24V10, PALCE29M16

1.3 Плавкие OTP TTL PAL второго источника

PAL10H8, PAL10L8, PAL10P8

PAL12H6, PAL12L6, PAL12P6

PAL14H4, PAL14L4, PAL14P4

PAL16C1

PAL16H2, PAL16L2, PAL16P2

PAL16H4, PAL16L4, PAL16P4

PAL16H6, PAL16L6, PAL16P6

PAL16H8, PAL16L8, PAL16P8

PAL16R4, PAL16R6, PAL16R8

PAL16RP4, PAL16RP6, PAL16RP8

PAL16X4, PAL16X6, PAL16X8

PAL18H4, PAL18L4, PAL18P4

PAL20C1, PAL20H2, PAL20L2, PAL20P2

PAL20R4, PAL20R6, PAL20R8

PAL20X4, PAL20X6, PAL20X8

PAL20S10

PAL22V10

PAL32R16, PAL32X16

2. Семейства Flash ISP CPLD

Поколение FLASH370i

CY7C371i, CY7C372i, CY7C373i, CY7C374i, CY7C375i

Основные CPLD Ultra37000

CY37032, CY37032V

CY37064, CY37064V

CY37128, CY37128V

CY37192, CY37192V

CY37256, CY37256V

CY37384, CY37384V

CY37512, CY37512V

Недорогие CPLD MAX340

CY34032, CY34064, CY34128

Высокоскоростные CPLD Quantum38K

CY38K032, CY38K064, CY38K128, CY38K256

Крупносерийные промышленные CPLD Delta39K

CY39K064, CY39K128, CY39K256, CY39K512, CY39K1000

атака на прошивку STM

Атака на прошивку интегральных схем STM

GAL16V8, GAL16V8A ...
GAL20V8, GAL20V8A ...
GAL22V10 ...
GAL6001 ...

Общие вопросы об извлечении прошивок микроконтроллеров


  • Безопасно ли отправлять платеж в MikaTech?

    Если бы MikaTech была плохой компанией, в интернете можно было бы найти тонны негативных отзывов о её услугах за 28 лет истории

    Итак, ответ – ДА! Мы хорошие люди.

    Почему выбирают Mikatech, пожалуйста нажмите здесь, чтобы узнать


  • Может ли Mikatech взломать микросхемы, не указанные на этом сайте?

    У разных производителей микросхем разные номера деталей, но внутреннее ядро микросхемы может быть изготовлено по одной технологии, было бы довольно невозможно перечислить все номера деталей, где применима наша технология, такие как MYSON, STK, FEELING, ANALOG, FUJITSU, NOVATEK, LG/HYNDAI.

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

  • Будет ли защищена моя конфиденциальность?

    Mikatech Innovative Limited понимает важность конфиденциальности своих клиентов. В момент обращения к Mikatech ваша личная информация будет защищена нашими внутренними регламентами, разработанными за годы практики. Mikatech использует эту информацию для настройки услуги под вас и никогда не раскрывает её третьим лицам ни по какой причине.
    После каждого проекта мы удаляем все данные, материалы и коды через 60 дней после передачи файлов – это защищает нас и вашу конфиденциальность.

  • Законно ли получать услуги от Mikatech?

    Да, это абсолютно законно.
    Mikatech предоставляет услуги обратного инжиниринга исключительно в образовательных целях. Использование вышеупомянутых услуг может быть незаконным в некоторых странах или регионах, пожалуйста, ознакомьтесь с местными законами. Mikatech не несет никакой ответственности в связи с использованием вышеуказанных услуг, которое может быть признано незаконным.


  • Обфускация кода и её влияние на обратный инжиниринг MCU

    Обфускация кода преобразует прошивку в форму, которую трудно понять. Блокировка MCU напрямую не обфусцируется, но прошивка, взаимодействующая с блокировкой, может быть обфусцирована. Это усложняет обратный инжиниринг микроконтроллера. Злоумышленник, успешно выполнивший дамп Flash и EEPROM, получит обфусцированный код. Чтение защищенного процессора EEPROM даёт те же обфусцированные данные. Декапсуляция и восстановление кода не упростят код. Злоумышленник должен его деобфусцировать. Копирование содержимого криптографической памяти возможно, но данные бессмысленны без деобфускации. Извлечение прошивки – первый шаг. Следующий шаг – анализ обфусцированного бинарного кода. Методы обфускации включают замену инструкций, уплощение потока управления и непрозрачные предикаты. Они увеличивают сложность статического анализа. Сама блокировка MCU может быть обфусцирована, чтобы скрыть её работу. Например, статус блокировки может проверяться через серию косвенных переходов. Злоумышленник не может легко определить логику блокировки. Динамический анализ также затруднён. Обфусцированный код может содержать антиотладочные приёмы. Он может обнаруживать точки останова и изменять поведение. Чтение защищенного процессора EEPROM не раскрывает эти приёмы. Злоумышленник должен выполнить код, чтобы их увидеть. Но блокировка MCU может предотвратить выполнение, если код был изменён. Таким образом, обфускация дополняет блокировку. Однако обфускация не является гарантией безопасности. Сильные злоумышленники могут использовать символьное выполнение для взлома обфускации. Но это повышает стоимость атаки. Блокировка MCU – аппаратный барьер. Обфускация – программный барьер. Вместе они образуют эшелонированную защиту. Злоумышленник должен сначала обойти блокировку, чтобы получить код. Затем он должен деобфусцировать код. Этот двойной барьер эффективен. Многие поставщики MCU предоставляют инструменты обфускации. Они интегрируются со средой разработки. Блокировка гарантирует, что обфусцированный код не может быть считан без авторизации. Но если блокировка взломана, обфускация всё ещё защищает интеллектуальную собственность. Так что это ценное дополнение. В заключение, обфускация кода затрудняет обратный инжиниринг и извлечение прошивки. Она не предотвращает чтение защищенного процессора EEPROM или дамп Flash и EEPROM, но делает извлечённые данные менее пригодными для использования. Блокировка MCU – первая защита; обфускация – вторая.



    Услуги по разблокировке MCU


    время взлома микроконтроллеров

    Лет

    28 +
    страны взлома микроконтроллеров

    Стран

    110 +
    клиенты по атакам на микроконтроллеры

    Клиентов

    5000 +
    разблокированные проекты микроконтроллеров

    Проектов

    60000 +