Как считать программу с микроконтроллера
Перейти к содержимому

Как считать программу с микроконтроллера

  • автор:

Как считать программу с микроконтроллера

Ответы на часто задаваемые вопросы:

1. Для кого предназначен этот FAQ?

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

2. Для чего и от кого делается защита микроконтроллеров?

Многие производители электронных устройств стараются защитить свое устройство от возможности простого копирования его другим производителем. Им навстречу пошли производители микроконтроллеров, введя в функционал своих изделий защиту от копирования программы (микропрограммы) содержащийся в памяти микроконтроллера. Используя эту защиту от чтения микропрограммы (прошивки) производители электронных устройств могут защитить свой продукт от простого копирования другим производителем.

3. Что представляет собой защита от копирования в микроконтроллере, и почему я сам не могу считать защищенную микропрограмму (прошивку)?

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

4. Что дает мне снятие защиты от чтения микропрограммы (прошивки)?

Допустим, у Вас есть устройство, которое Вы приобрели у одного из производителей электронных устройств и Вы хотите производить такое же, но модифицированное устройство. Но исходников микропрограммы или готовой прошивки у Вас естественно нет, и Вам будет необходимо полностью с нуля разрабатывать и отлаживать микропрограмму. На это, по сравнению с копированием электронной составляющей устройства (схемы), придется потратить много денег и времени. Пользуясь нашими профессиональными услугами, Вы сэкономите и деньги и время на разработку устройства. При наличии устройства или его электрической схемы мы можем восстановить полностью алгоритм его работы и текст микропрограммы на языке программирования Си или Ассемблер.

5. Какова законность таких действий с точки зрения законодательства?

Все микропрограммы (прошивки) мы считываем по заказу клиента с целью ремонта его устройства, либо для ознакомления с алгоритмом работы микропрограммы. Вся дальнейшая ответственность за незаконное распространение микропрограммы или иные действия с ней или с её помощью ложится полностью на заказчика. Наша компания работает на территории РФ, поэтому ниже приведем цитату из закона. Законодательство других стран декларирует аналогичную позицию. Статья 1280 ГК РФ. «Свободное воспроизведение программ для ЭВМ и баз данных. Декомпилирование программ для ЭВМ». . 2. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения изучать, исследовать или испытывать функционирование такой программы в целях определения идей и принципов, лежащих в основе любого элемента программы для ЭВМ, путем осуществления действий, предусмотренных подпунктом 1 пункта 1 настоящей статьи. 3. Лицо, правомерно владеющее экземпляром программы для ЭВМ, вправе без согласия правообладателя и без выплаты дополнительного вознаграждения воспроизвести и преобразовать объектный код в исходный текст (декомпилировать программу для ЭВМ) или поручить иным лицам осуществить эти действия, если они необходимы для достижения способности к взаимодействию независимо разработанной этим лицом программы для ЭВМ с другими программами, которые могут взаимодействовать с декомпилируемой программой.

6. Что представляет собой дополнительная защита от чтения и почему она лучше обычной?

Дополнительная трёхуровневая защита предназначена для создания условий невозможности чтения микропрограммы (прошивки) известными методами. Она может включать в себя от одного до трёх уровней защиты: защита от вскрытия корпуса, скрытый внутрикорпусной обрыв ножки используемой программатором для чтения, скрытое внутрикристальное удаление логики управления ножкой используемой для чтения. Первый уровень представляет собой стойкий к кислотам и растворителям тугоплавкий полимер, что не позволяет добраться до кристалла. Второй уровень делает невозможной процедуру считывания программатором без специальных дорогостоящих инструментов. Третий уровень выполняет аналогичную второму функцию, но при этом внутрикристальное восстановление логики управления на внутренних слоях практически не возможно, либо требует очень дорогостоящего оборудования. Учитывая, что в подавляющем большинстве случаев обычная заводская защита легко обходится, дополнительная защита для многих дорогостоящих и сложных устройств является крайне необходимой мерой для предотвращения материальных потерь связанных с попаданием плодов интеллектуальной деятельности в руки третьих лиц.

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

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

8. Я боюсь, что после считывания моя программа может быть передана или использована третьими лицами.

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

9. Работаете ли вы с юридическими лицами?

Да, мы работаем с юридическими лицами в качестве ИП. Если вам нужен договор для бухгалтерии, можем оформить только после оплаты, есть пример договора и акта: договор, акт

Задать свой вопрос: RussianSemiResearch@ya.ru

Как считать программу с микроконтроллера

Загрузка. Пожалуйста, подождите.

  • Авто
  • Измерительная техника
  • Источники питания
  • Компьютер
  • Устройства для дома
  • Световые эффекты
  • Часы/Таймеры
  • Прочее
  • COM программаторы
  • LPT программаторы
  • USB программаторы
  • Остальное


О сайте:
Pic.Rkniga.ru — Сайт как для начинающих, так и для опытных радиолюбителей, разрабатывающих свои устройства на популярных PIC микроконтроллерах.
Здесь можно обмениваться сообщениями на форуме, а также добавлять на сайт статьи и схемы своих устройств.

Меню сайта
Главная Форум по PIC микроконтроллерамФорум Статьи по PIC микроконтроллерамСтатьи Справочная информаци по PIC микроконтроллерамСправочник Литература по PIC микроконтроллерамЛитература Схемотехника Схемотехника устройств на PIC микроконтроллерах

Как записывается информация в микроконтроллер

начало

В этой статье мы расскажем про способы записи данных в постоянную память или по-другому говорят ПЗУ- Постоянное запоминающее устройство или еще по-другому энергонезависимая память.

Когда кванторианцы заливают программу в Arduino через USB кабель они не задумываются как информация записывается в микроконтроллере, а зря. Хорошему специалисту по РЕЭ (радиоэлектронной аппаратуре) или Embedded программисту (программисту встраиваемых систем) необходима эта информация.

ROM (Read Only Memory), Mask–ROM или масочно-программируемое ПЗУ

Память вместе с программой изготавли¬ваются на этапе производства микроконтроллеров. Перезаписать информацию невозможно. Первые масочные ПЗУ появились в начале 1960–х годов и находят применение до настоящего времени благодаря таким достоинствам как:

• низкая стоимость при массовом производстве изделий;

• высокая надежность хранения программ.

Недостатки масочных ПЗУ — любое изменение прикладной программы связано со значительными затратами средств и времени на их внедрение в производство.

Может быть запрограммирована программистом только один раз. Эта память обычно содержит плавкие перемычки, которые пережигаются во время программирования. В настоящее время такая память используется очень редко.

Cостоит из ячеек, которые программируются электрическими сигналами и стираются с помощью ультрафиолетового света (дедовский метод, в настоящее время не используется). Чтобы стереть содержимое ячейки, она освещается ультрафиолетовым светом. Этот процесс может занимать от нескольких секунд до нескольких минут.

Обычно, микросхемы EPROM производятся в керамическом корпусе с кварцевым окошком для доступа ультрафиолетового света. Такой корпус довольно дорог, что значительно увеличивает стоимость микросхемы. Для уменьшения цены микросхемы EPROM заключают в корпус без окошка (версия EPROM с однократным программированием). Сокращение стоимости при использовании таких корпусов может быть настолько значительным, что эти версии EPROM в настоящее время часто используются вместо масочно-программируемых ROM.

EEPROM (Electrically Erasable Programmable Memory – электрически стираемая программируемая память) можно считать новым поколением EPROM памяти. В такой памяти ячейка стирается не ультрафиолетовым светом, электрическими сигналами с помощью транзисторов.

• память EEPROM более дорогая, чем EPROM (в два раза дороже EPROM с однократным программированием);

• EEPROM работает немного медленнее, чем EPROM;

• ПЗУ типа EEPROM имеют ограниченную емкость, размер увеличивается, а плотность записи низка;

• появились ПЗУ типа FLASH, которые имеют близкие пользовательские характеристики, но более низкую стоимость и высокую плотность записи.

Дальнейшее развитие EEPROM – flash-память. Транзисторы в таком случае подключаются группами. Память FLASH (как и EEPROM) сохранила возмож¬ность многократного стирания и программирования. Из схемы памяти изъят тран¬зистор адресации каждой ячейки, что, с одной стороны, лишило возможности программировать каждый бит памяти отдельно, с другой стороны, позволило уве¬личить объем памяти.

Таким образом, функционально FLASH –память мало отличается от EEPROM. Основное отличие состоит в способе стирания записанной информации: если в EEPROM памяти стирание производится отдельно для каждой ячейки, то во FLASH памяти — целыми блоками.

Кстати, микроконтроллеры ATmega используемые в Arduino, оснащены сразу двумя видами памяти EEPROM и flash.

Всем удачи в изучении микропроцессорной техники!

Воронов Евгений Валерьевич — педагог ИТ-квантума

Как считать программу с микроконтроллера

Срок выполнения заказа для проверенных микросхем 2-5 рабочих дней.

Также осуществляем исследование защиты микроконтроллеров отсутствующих в нашей базе знаний.

Порядок предоставления услуг:

Вариант 1

1. Заказчик, предварительно связавшись с нами, отсылает нам микроконтроллер, микропрограмму которого необходимо считать. 2. После успешного считывания микропрограммы мы предоставляем для предварительного ознакомления половину микропрограммы (содержимое нечетных байт). 3. После оплаты услуги заказчиком, ему отдается вся программа.

Вариант 2

1. Заказчик, предварительно связавшись с нами, отсылает нам микроконтроллер (его можно пометить царапиной на корпусе), микропрограмму которого необходимо считать, и один пустой микроконтроллер. 2. После успешного считывания микропрограммы мы записываем ее в пустой микроконтроллер с установкой защиты от чтения и отсылаем его заказчику на проверку. 3. После оплаты услуги заказчиком, ему отдается вся программа.

Вариант 3

1. Заказчик, предварительно отсылает нам тестовый микроконтроллер (аналогичный вскрываемому) с известной ему прошивкой, микропрограмму которого мы считываем и отдаем ее часть заказчику на проверку совпадения с известной. 2. После того, как заказчик убедился в правильности считывания, он отправляет нам уже требуемый для считываний микроконтроллер, либо он мог быть отправлен сразу с тестовым микроконтроллером. 3. После оплаты услуги заказчиком, ему отдается программа из требуемого микроконтроллера.

Прим.: Мы не несем ответственности за неудачное считывание. После считывания микросхема становится неработоспособной и возврату заказчику не подлежит.

По желанию заказчика восстанавливаем исходный текст программы и алгоритм на языке Си или Ассемблер из считанной микропрограммы любого контроллера.

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

1-й уровень — защита от вскрытия.

2-й уровень — скрытый внутрикорпусной обрыв ножки используемой программатором для чтения.

3-й уровень — скрытое внутрикристальное удаление логики управления ножкой используемой для чтения.

* Ножку микросхемы заказчик может выбрать любую на свое усмотрение. Ножка должна быть запрограммирована на ввод.

** Заказчик может выбрать необходимый ему набор уровней защиты.

Расчет цены в зависимости от уровней защиты, количества и типа корпуса микросхем:

*** Микросхема может быть любой от любого производителя. Список исследованных микросхем (база знаний) к данной услуге отношения не имеет.

Осуществляем копирование печатных плат (ПП) , а также восстановление схем и полной документации для производства ПП . Размер ПП и количество слоев не ограниченны.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *