Ну, вот, настал момент, которого я ждал. Как всегда, интересное, познавательное видео, кстати. Большое спасибо за Ваш труд, надеюсь, не бесплатный. Мое знакомство с каналом началось с видео про микроконтроллеры (а может и нет, не помню точно), и сразу мне эта тема запала в душу. Отдельное спасибо харизматичному автору за это. В общем, это стало моим хобби. Естественно, пришлось прикупить кое-что: паяльник (Pinecil v1), макетные платы с проводами, программатор (EasyPro EZP2023+), тестер и "прочие иные предметы". Вдоволь наигравшись со всем этим добром, я уж было решил, что на этом все и закончится, но не тут то было... Был (и есть) у меня некий, весьма популярный, дешевый китайский принтер. Pantum P2200 называется. Картрижди у него с чипами, конечно же. И, вот, надоело мне чипы эти покупать при каждой новой заправке. Решил прошить принтер на бесконечность. Сделал кирпич, естественно. Прошивал по USB и, в процессе, комп завис. Оказалось, что оживить его можно, но только прошивкой микроконтроллера. Вот тут-то мне и пригодились все те, казавшиеся уже бесполезными, вещи. Процедура эта оказалась совсем не из легких, но тем интереснее же. Микросхема оказалась в SOIC исполнении, что меня сразу сильно напугало, потому что, капец, всё мелкое и компактно упакованное на плате. Выпаял, трясущимися руками, с пинцетом это чудо инженерной мысли и выдохнул с облегчением. Если бы я только знал что мне эту процедуру придётся повторить ещё раз пять, я бы, наверное, и не начинал. Ну, выпаял, а дальше что? Как в программатор её пихать? Вспомнил, что в комплекте к нему ещё что-то в пакетике болталось. Оказалось- точно, переходник. Но, на него микросхему нужно напаивать... В общем, мелкую моторику я потренировал знатно. Но, это оказалось не самым интересным приключением. Самое интересное было найти рабочий дамп именно для моей микросхемы моей модели принтера с моей версией платы. Оказалось, что, несмотря на то, что модель китайская и популярная, дампом делиться никто не хочет. Очень долго рыскал по форумам и прочим злачным местам. В итоге, мне помог человек, который торгует прошивками для принтеров (античип). Он дал ссылку на рабочий дамп. Но, перед этим я неоднократно прошивал не тот дамп и припаивал/выпаивал эту бедную микросхему. Счастью моему не было предела, когда я смог распечатать пробную страницу на принтере, который я своими руками сломал, а затем починил. Мораль: дурная голова рукам покоя не даёт (да, да, ногам, но и рукам тоже).
Да❗🤔 Но ведь сегодня, спустя 4,5 млрд. лет после Большого взрыва🎉 все принтеры стоят дешевле листка бумаги формата А4, на которых печатают всякую фигню, которую спустя некоторое время отправят на свалку.
А мне наоборот всё ясно. Нефиг тырить чужой труд.😂 Шутка. На самом деле бывают случаи когда разработчик или программист покинул наш мир и очень жаль что пропадает хорошая программка хотя копия по любому у кого то есть. А вообще лучше писать самому кто может так чтобы потом можно было и переделать/добавить или наоборот удалить некие команды.
я первый раз смотрел на телефоне - мелкое не успел разобрать, но примерно подумал, что он написал именно то, что я подумал :)) отмотал, увеличил - точно :))
Мой первый программатор как раз мог работать вообще без компа. ))) На обычных выключателях, просто перебираете адреса в ручную, и записываете туда информацию какую ни будь, и еще одна кнопка прожиг. ))))) Классный видос мужик, я подписался, лайк тебе. )
Ура! Я почти достиг 90-го уровня!!! =)))))))) Да, это видео для "самых маленьких", некоторые вещи кажутся нам вполне себе очевидными, но ведь есть люди, которые в первый раз столкнулись с таким вопросом =)
Понятно, что ответ для самых начинающих, но рассказано и объяснено всё хорошо! Как именно работает лок-бит на физическом уровне, кстати, не знал. Благодарю!
Подкину, так сказать, возможное направление куда копать: Шьём в контроллер последовательно 0xff, но только в момент прошития формируем короткий импульс понижения питания контроллера так чтобы нарушить работу встроенного повышающего преобразователя, но в тоже время не сбросить сам контроллер. В результате стирание происходит не всегда. Последним шьём слово конфигурации со снятой защитой в обычном режиме. Далее вычитываем содержимое контроллера, и повторяем весь процесс ещё с десяток раз со свежими контроллерами естественно. Путём сравнения прошивок находим верный код. Недостаток метода в потрошении кучи девайсов компенсируется их последующим восстановлением, при удачном исходе конечно. По крайней мере один раз с одной известной маркой контроллеров этот метод сработал.
И можно ли с помощью программатора перезаписывать ПЗУ? И как его записывают вообще? И является ли "флешка" аналогом ППЗУ? И благодаря чему данные можно перезаписывать неоднократно?
Молодец мужик! Разжевал всё для школьников. Ну а я получил массу удовольствия. Правда ещё один способ не указал - таблицы, но на это надо тоже огромная масса времени, а если таблицы более, чем двухмерные, то ещё и масса удачи.
привет тебе от ассемблериста пикиста ))) сколько я раз хотел вскрыть чип и прочитать именно таким образом - благо доступ был к машинке уз-сварки TPT-HB05 но всеравно написать свое и лучше бывало в разы быстрее. на старых версиях типа pic16f877 бит лок был на верхнем уровне литографии. Сейчас уже вышли версии данного кристалла 877a со спрятанным на 4-5 слоев в глубь кристалла также и 887 версия тоже далеко глубоко запрятали линию эту - там суть лазером просто выжигалась полоска от элемента и все чип был с вечно снятой защитой.
А ещё можно, поломать логику микроконтроллера используя ненадежное питание (voltage glitch) или играя с частотой кварцевого резонатора (clock glitch) тем самым заставив ещё совершить ошибку в коде программы или ошибку в логическом элементе схемы. Метод называется Glitching. В ряде случаев это довольно успешный способ считать прошивку защищенного контроллера. Например если контроллер работает с USB, то подавая команду на чтение описания USB устройства (DeviceDescriptor) и указывая в пакете длину возвращаемого сообщения больше максимальной которую может вернут контроллер. В логике прошивки контроллера происходит сравнение длины возвращаемого сообщения с максимальной, если в момент проверки произойдет ошибка то контроллер может вернуть данные которые записаны после DeviceDescriptor то есть часть данных хранящихся рядом. Не всегда работает но и не требует растворять чип и "подпаиваться" к кристаллу кремния.
Видео было многообещающим и даже местами интересным 😁. Но интереснее было бы узнать что делать с считанным набором машинным команд чтобы перевести их в более человеческий язык, а с этим на сколько я понял как раз беда. Или есть таки способы если дело касается контролеров для которых программы для их программирования в свободном доступе?
Насколько знаю, в даташытах на авр описано, как записываются команды в память. Также есть коды команд Сам не делал, но возможно на каком-нибудь питоне, если прям прижмёт, можно сделать декодер на ассемблер, только смысл есть ли хз🤔🤔🤔
Доброго здравия. Для avr есть такой, Reavr называется. Дизассемблер. Но потом всё равно требуется много ручной работы. Которую как раз и можно автоматизировать с помощью питона. Ибо Reavr выдаёт следующий формат: адрес команды в памяти; сама ассемблерная команда и операнды (регистры). Если команда перехода, то там вместо метки будет стоять адрес. Удачи
Большую программу запаришься дизассемблировать сидеть, а маленькую проще самому написать с нуля.. Для починки какого-то прибора к примеру не надо ничего разбирать в коде, просто прошить дамп заново.. Для разработки устройства проще программу по кускам из библиотек собирать по форумам..
Интересная тема🤔 получается производители защитили от взлома и чтения прошивку ? И получается поэтому если с микрокантраллерами в бытовой технике чтото случается они плату полностью меняют ?? Но я знаю что и прошивками они занимаются . Получается не все микрокантроллеры защещины ?? В будущем наверное вобще не будет возможности прошивать микроконроллеры ..
Я раньше тоже так считал пока мне на глаза не попалась книжка "Реверс-инжиниринг встраиваемых систем [2023] Усанов А.Е.". Оказывается возможностей для взлома гораздо больше. Не читал но бегло просмотрел
Расскажите про шести польскую систему выпрямления более подробно особенно тпе 630 и про угол открывания тиристоров вы обещали про наши старые аналоговые тиристорники пожалуйста буду с нетерпением ждать ваш урок
такой вопросик, можно ли на закрытом от чтения прошивки микроконтроллере сменить маленькую часть прошивки на свою, которая прочитает оставшуюся прошивку и выдаст её на одной из ног? или это зависит от микроконтроллера? (если да, и если иметь два контроллера с одинаковой прошивкой, то можно записать в два разных места, прочитать обе прошивки и восстановить недостающие блоки)
А если это микроконтроллер от советского калькулятора, то только изучая его под микроскопом можно понять принцип его работы? И как электрический разряд портит память микроконтроллера и мог ли я таким образом его повредить от разряда электрозажигалки на батарейках (в детстве экспериментировал так)?
Интересно. Футболка навеяла некие мысли. Атакующим может быть совсем не нужен код программы. В машинном коде, в виде байт, ими будут найдены ключи шифрования, например. А сама программа будет потом переписана под другой микроконтроллер.
Классная подача. Я получил все что не знал собрал все в кучу и выбросил в мусор. А читаются большинство а те что не читаются уходят в мусор вместе с изделием. По простой причине не надо покупать то что нельзя отремонтировать
Примите мои поздравления. Вся серийная бытовая электроника семимильными шагами движется производителеми (осознанно!) именно в этом направлении - чтобы нельзя было отремонтировать их девайс вне пределов их фирменных сервисных центров. А там ремонт производится методом замены на уровне блоков, опять-таки, поставляемых производителями в готовом виде. Так что, следуя вашей логике, вскоре нельзя будет покупать никакие электронный девайсы.
а если элемент И нештатно использовать ? например впихнув ему сигнал такта снаружи и по изменению тока потребления от тактового сигнала считать ? схемотехника ведь не идеальна и наверняка по колдовав можно элемент И этот блокирующий ввести в ступор подав хоть опорное напряжение снаружи ограничивая ток. или др способом добиться хоть тени утечки тока сигнала... и всё
С айфонами дела не имел, ибо я нищеброд, и у меня гнусмаС на андроиде =))) Но вдруг мой андроидный способ поможет и вам? Ловите лайфхак - после запуска игры отключаете вайфай и мобильные данные, проще говоря - включаете режим полета. Игра тыкается на сервант, связи нет - рекламы нет =))))) Работает конечно не со всеми (некоторые без рекламы не запускаются вовсе), но большая часть становится играбельными =)))))
Вскрыть корпус, подключиться к кристаллу, прочесть инфу -- совершенно рутинная операция на заводах по производству микросхем. Потому что им по работе этим надо заниматься. Для постороннего клиента это стоит около 10k$. Не так уж и много. Если это не какая-то секретная микруха, в которой есть архитектурная защита, сильно усложняющая такой взлом. Но это про военных. А с простыми МК, практически "дома на кухне", можно поступить так: Нужен немного усовершенствованный программатор, который может в нужный момент менять напряжение питания "пациента" прямо в процессе чтения. Нужна стиралка -- эквивалент ранешних УФ ламп -- но светящая мягким рентгеном, проходящим через корпус. Но не более 20 кэВ. Более жёсткий рентген повреждает кристалл. Цикл: Немножко стираем; Начинам чтение при самом высоком (допустимом) напряжении питания; В какой-то момент понижаем напряжение до минимального и читаем остальную память; Если получилась фигня, повторяем цикл. "Немножко стираем" -- немножко уменьшает заряды в ячейках памяти. Во всех, в том числе и в бите защиты. И в какой-то раз автомат чтения увидит, что бит защиты кода стёрт. И позволит инфе утечь во внешний мир. При высоком питании ячейкам памяти требуется больший заряд, чтоб прочесть "записано". А при низком питании требуется меньший заряд. Поэтому, когда бит защиты при высоком дотрётся до "можно читать", в остальных ячейках при низком питании зарядов хватит, чтоб прочесть правильную инфу.
Парни,стоит в блоке комфорта m38747mct. По поиску находится как Mitsubishi Electric Semiconductor. Даташит на процессор есть.Чем его можно прочитать ? Какой софт и каким программатором ?
Расскажите какие есть условные или косвенные признаки того что на неисправной плате вышел из строя именно тот или иной микроконтроллер а не какой-то транзистор или диод. А может есть и безусловные видимые признаки неисправности микроконтроллера. 💪🏼
Триколор, как я помню, dre cript, первые приемники не имели карт, а обновление ключей происходило по воздуху, обычно по умолчанию в 3 часа ночи, как у всех других. Привязка шла к железу. Даже сейчас есть, пару приемников с картами, телекарта, рикор ТВ. Но смысл в том, разблокировка опять происходит по звонку, оплате и диктованию серийного номера приемника. Это тоже самое, если друг дал логин и пароль от кабельного инета, сейчас идет привязка к MAC, чтобы инет заработал, нужно еще просить MAC, чтобы вписать его в настройках. ПО спутниковых приемников от оператора, даже не имеет эмулятора BISS ключей, хотя в глобальной версии прошивки, он имеется. Теоретически, если собрать свою прошивку, если приемник работает на ОС линукс, написать эмулятор железа, для удобства функцию переборщик серийников, если серийник невозможно достать у соседа, с помощью C++ используя кроссплатформенный gcc компилятор, набрав toolchain именно под свой процессор. Можно скомпилировать прошивку, которая будет сама, к примеру за ночь, находить рабочий серийник. Карты достать не сложно, у многих они валяются, так как многие побросали спутниковое ТВ. Другое дело банковские карты, но и здесь достаточно, обычного портативного бесконтактного терминала и пройтись в битком набитом автобусе.
Шикарно изложение. Тема раскрыта, лайк. Но закралось таки сомнение. Поручить (высококлассному) программисту написать другую программу по внешним особенностям поведения и известному предназначению девайса - это в тысячу раз дешевле аппаратно-программного реверс-инжиниринга - да, конечно. Спору нет. Но это совсем-совсем недешево для, скажем - кошелька обычного радиолюбителя или практикующего мастера по ремонту. Ну не станет мэтр программирования тратить свое время на какую-то не серийную работу не за дорого. Такой хардкор, скорее всего, будет стоить дороже приобретения нового девайса, аналогичному почившему в бозе. Я так думаю. А что скажет маршал Жюков? (И.В. Сталин).
Мне не понятно одно, как написанное что-то на экране даже в машинных кодах заставляет микроконтроллер работать правильно, есть литература чтобы давала это понимание, мне интересно как это работает на самых низких уровнях, кто щарит дайте наводку на информацию или литературу, именно чтобы понимать как изменения пикселей на экране через программатор заставляет контроллер как то менять свое поведения, мне не понятна структура этого процесса. Спасибо за ответ заранее.
Мой опыт с прошивкой (не считая телефонов) ограничивается изготовлением кабеля (из штекера com порта, пары резисторов и 4х крокодильчиков) для чтения и записи прошивок чипов картриджей мфу ксерокс.
У меня вот нет опыта и знаний в этом . Но я вот думал 🤔 главное как-то подключится к микрокантроллеру а прагромматор будет сам компьютер ..🤔 я так себе представляю
Отсюда вопрос? Если Вы попытались считать защищённую программу. У Вас вышли 00000 или подобное,- то микроконтроллер останется рабочим (со своей прошивкой)? Или он "потеряет" прошивку,- и будет годен только для записи новой прошивки???
Помню, для древнего языка Clipper была программная приблуда, позволявшая получить "дизассемблированную" программу, то есть почти исходную программу на языке Clipper с той только разницей, что имена переменных были не те что использовал программист, а условные. Но можно было разобраться, изменить логику и снова скомпилировать. Возможно есть что-то подобное для микроконтроллеров, чтобы переводить из машинных кодов на ассемблер? А ролику и спикеру зачет и подписка.
Да, дизассемблирование возможно, и программ для него пруд пруди, начиная от официальной среды разработки. Проблема в невозможности возврата к языку высокого уровня, а большие программы мало кто, точнее практически никто не пишет на асме =))))) И уж разобраться в этой на первый взгляд бессмысленной куче пересылок и перекладок из одного регистра в другой - мое почтение, трэшовая работа, проводил такое =))))))
@@Gnevistj ну, так то ghidra существует... да и hexrays для арма справится. возможно этот выхлоп будет даже читабельнее оригинального кода на с++ (если там был он, а не сишка).
@@v61kz настолько простые защиты встречаются разве что в нубских крякмисах или в винраре каком. а так да, трассировать и искать, чо где к чему относится и зачем в эту память лезет. в эмбеде еще попроще, там особо лютые варианты со всякими виртуалками (кхе-кхе, denuvo/vmprotect) не в моде еще. хотя вон, у cypress'овских cortex m0 уже гипервизор есть и используется. правда не столько для защиты, сколько для скрытия реализации флеш-контроллера- он там полусофтовый.
@@Gnevistj можно как то узнать язык на котором писалась программа из прошивки микроконтоллера?) в частности у меня есть прошивка от акпп , эбу бош, очень нужно ее разобрать, инфы нигде нет( удивительно но было маленькое тюнинг ателье в США которые под них прошивки писали, но они их уже не продают(
у современных контроллеров не один бит защиты а много, на каждый участок памяти свой бит,и ячейки этих битов спрятаны внутренним слоем, под основным кристалом
Думаю уже скоро появятся переводчики из машинного кода в с++ или что там еще может быть. Даже не представляю сколько времени займет обучение такой нейронки, но оно того стоит.
Кстати, идея супер! Идея на миллион, не шучу! Беритесь за реализацию =))))))))) Хотя в целом, я такие эксперименты не одобряю, но об этом будет отдельный выпуск =)
@@СергейЗ-ю4я , да, есть переводчики обратно в си, но конечный перевод подчас настолько примитивен и "тяжел" для восприятия, что проще читать асм =))) Но это всего лишь мое имхо, как известно мнение редакции не всегда соответствует мнению читателей =)))) ПЛИС же вообще несколько другой мир, там, на мой взгляд, без дохренаканального анализатора логики нечего ловить =))))))) Хотя дела имел мало с ними, могу ошибаться =)
@@Gnevistj В реверсе программ есть нюанс. Если изначально прога была написана, например, на С и декомпилируют ее в С, то результат получается очень хороший, если же декомпилируют на язык, отличный от того, на котором изначально написали прогу, то результат может быть очень плохой. Про ПЛИСЫ. Написал программу. Скомпилировал. Поменял одну цифру в данных. Снова скомпилировал. Результат - разница в 81 байт!!!
сразу вопрос!! а нельзя ли вообще "заварить" вентиль так, чтобы контроллер нельзя было не считать не перезаписать. Под "не считать" имеется ввиду вообще ни как. даже в лаборатории. подустим ты делаешь сверхзащищенный продукт и контроллер идет как одноразовый без возможности апгрейда. Как заварить вентиль?? и возможно ли такое??
@@АвтовахтёрАвтоматическоеоткрыв это сколько их придется сжечь пока будет готов прототип)) и стоят они дорого! одна ошибка и на свалку сразу(( ну тем не менее спасибо
А какой в этом смысл? Прочитать все равно можно будет, добравшись до линий, по которым процессор общается с памятью. После чего приобретаются новые контроллеры и в них записывается спертая и модернизированная прошивка.
@@Московский_Колхозник ну физически это сложно сделать же. а если тем более кристалл многослойный. во вторых инструкции с памяти не зациклены же на "от первой по последней" выполняться? а следовательно помимо чтения линии придется перебирать все возможные комбинации сигналов и отправлять их. и что если сделать один из таких сигналов как стереть память?? фантазии конечно! но на сколько реально??
здравствуйте, я, к сожалению, мало сведущ в делах сиих высокогорних, а посему хочу к вам обратиться за помощью. Появилась нужда в программировании ПР 114 Овен, для чего требуется использовать специальный комплект для программирования ПР-КП20, соответственно, для подключения к компьютеру. Можно ли применить для этой цели преобразователь (программатор) UART в USB, или без оригинального никак? С уважением, Владимир.
Здравствуйте! К сожалению не знаком с этим умным реле, хотя согласно документации, его "хвостик" (тот самый ПР-КП20) похож на USB-COM адаптер. Да вот единственное, что вариантов реализации пруд-пруди, и не все они совместимы меж собой, и необязательно, что на стороне УАПП - 5в ТТЛ, там может быть что угодно, от 3,3В до +/-15В. Остальное все мелочи. Я бы не рекомендовал играться, лучше приобрести рекомендуемый производителем "хвостик" =)
@@Gnevistj да, когда я пытался разобраться в этом, то обратил внимание на то, что уровни U другие, на стандартных 3,3 и 5 В, а на овеновском 5 и 12 В. Ну, хорошо, благодарю за ответ, буду тогда кумекать, где заказать родненький. Для одного раза отдавать больше 4 к₽ не очень хотелось бы.
Вообще-то во многих микроконтроллерах есть недокументированные команды, используемые для отладки, они позволяют "поиграть" с битами флагов, отвечающими за защиту от считывания, банально сдвигая указатель при записи данных на контроллер на необходимый адрес.
Есть ещё один способ: - "В жидком азоте, - считываются импульсы", но это жесть и ещё какая. Считывается куеву тучу раз, потом сигнал сводится и из аналога получается цифра, но нужен микроконтроллер с удалёной подложкой!😇 работает 100% если азот халявный то за неделю-две всё получится. (к слову корпус и подложка растворяется кислотами.)
Выпуск интересный несомненно Лайк 👍 Но в вопросе считывания заЩишенной прошивки, в корне не соглашусь, есть группа программаторов которые отлично вычитывают из защищенных камней их прошивку : Xprog , Orange, Xhorse VVDI Prog и другие...
...а как же дизассемблер? У меня был положительный опыт замены знакогенератора в прошивке при вынужденной замене 7-сегментного дисплея в устройстве на PIC без исходника... Я не знаю Ассемблер и действовал интуитивно. Все получилось т.к. в полученном ассемблерном коде регистры знакогенератора бросаются в глаза и их ни с чем не спутаешь, но если бы надо было поменять логику команд - я бы вряд ли справился. Надо бы эту тему осветить... если есть опыт и желание...
Я не говорил что дизассемблировать нельзя; я сказал что нельзя вернуть к языку высокого уровня =) А разбирать программу на чистом асме в сотню другую килобайт (100+ тысяч команд, грубо говоря) то еще удовольствие =))))))
СПАСИБО у Вас есть уникальная способность обяснять сложные вещи так чоб и медвежонок понял. Но давате следуещее видео про два путя как из этой битной каши читаемый код получить чтоб понять как там все устроено
Помимо прочего, есть один вариант: никак. Например, в AVR есть так называемый бит защиты. Если его установить при прошивке - считать уже ничего не получится. Постоянно пользовался этой функцией, когда делал приборы на продажу. P.S. Ролик ещё не посмотрел.
Спасибо!Интересный маатериал.Понятно,что с компилированного hex. файла ничего не получится выяснить.Проще новую программу написать (или скачать готовую).Ещё ходят слухи,что ИИ gpt chat пишет всё что попросиш.Я попросил программу на с+ для регулировки частоты трёхфазного двигателя -он мне чтото бессвязное написал (наверное обматерил,на своем машинном языке).😀
Скорее всего ты просто задал "неполноценный вопрос", т.е. не указал на детали реализации (модель контроллера, двигателя, задействованные пины и т.п. ересь) 🤔 Только что потестил аналогичный запрос на гугловском _Bard_ и он со второй попытки выдал мне неплохой каркас для приложения. После первой попытки (я бы тоже назвал её "бессвязной") попросил его написать аналогичную программу, но с учётом добавленных деталей и получилось весьма неплохо. IMHO, если умеешь читать чужой код и сходу понимать логику, то даже текущие версии чат-ботов могут быть чрезвычайно полезны 👍 p.s.: прямо сейчас несколько крупных игроков на рынке разработки ПО -вливают тонны бабла- тренируют большие языковые модели, рассчитанные только на кодинг. Вполне может быть, что уже через пару лет, если не раньше, они релизнут что-то действительно крутое.
@@deniskhakimov Да,вы правы,я действительно не дал ему много параметров и скорее всего получил такой ответ.Но программиррвать уметь необходимо.Во первых ,чтобы понимать процесс и навеерное ,более важно-чтобы отдалить процесс умственной деградации (мозг должен упражняться).Иначе он заскучает🙂
Очень классная подача. Мотоциклисты часто обладают харизмой и способностью терпеливо учить. Пожалуйста не бросайте это Ваше полезное дело!
Ну, вот, настал момент, которого я ждал. Как всегда, интересное, познавательное видео, кстати. Большое спасибо за Ваш труд, надеюсь, не бесплатный. Мое знакомство с каналом началось с видео про микроконтроллеры (а может и нет, не помню точно), и сразу мне эта тема запала в душу. Отдельное спасибо харизматичному автору за это. В общем, это стало моим хобби. Естественно, пришлось прикупить кое-что: паяльник (Pinecil v1), макетные платы с проводами, программатор (EasyPro EZP2023+), тестер и "прочие иные предметы". Вдоволь наигравшись со всем этим добром, я уж было решил, что на этом все и закончится, но не тут то было... Был (и есть) у меня некий, весьма популярный, дешевый китайский принтер. Pantum P2200 называется. Картрижди у него с чипами, конечно же. И, вот, надоело мне чипы эти покупать при каждой новой заправке. Решил прошить принтер на бесконечность. Сделал кирпич, естественно. Прошивал по USB и, в процессе, комп завис. Оказалось, что оживить его можно, но только прошивкой микроконтроллера. Вот тут-то мне и пригодились все те, казавшиеся уже бесполезными, вещи. Процедура эта оказалась совсем не из легких, но тем интереснее же. Микросхема оказалась в SOIC исполнении, что меня сразу сильно напугало, потому что, капец, всё мелкое и компактно упакованное на плате. Выпаял, трясущимися руками, с пинцетом это чудо инженерной мысли и выдохнул с облегчением. Если бы я только знал что мне эту процедуру придётся повторить ещё раз пять, я бы, наверное, и не начинал. Ну, выпаял, а дальше что? Как в программатор её пихать? Вспомнил, что в комплекте к нему ещё что-то в пакетике болталось. Оказалось- точно, переходник. Но, на него микросхему нужно напаивать... В общем, мелкую моторику я потренировал знатно. Но, это оказалось не самым интересным приключением. Самое интересное было найти рабочий дамп именно для моей микросхемы моей модели принтера с моей версией платы. Оказалось, что, несмотря на то, что модель китайская и популярная, дампом делиться никто не хочет. Очень долго рыскал по форумам и прочим злачным местам. В итоге, мне помог человек, который торгует прошивками для принтеров (античип). Он дал ссылку на рабочий дамп. Но, перед этим я неоднократно прошивал не тот дамп и припаивал/выпаивал эту бедную микросхему. Счастью моему не было предела, когда я смог распечатать пробную страницу на принтере, который я своими руками сломал, а затем починил. Мораль: дурная голова рукам покоя не даёт (да, да, ногам, но и рукам тоже).
Да❗🤔
Но ведь сегодня, спустя 4,5 млрд. лет после Большого взрыва🎉 все принтеры стоят дешевле листка бумаги формата А4, на которых печатают всякую фигню, которую спустя некоторое время отправят на свалку.
Доброе дело делается бескорыстно, иначе ему, грош цена.
Смогли настроить принтер на бесконечность? 😊
@lifuhen9913 Естественно ♾️
интересная подача инфы для зрителя, доступно коротко и понятна для формата канала.
Спасибо за ещё один урок из жизни электроники, жаль вопросов меньше от этого не стало 😅.
А мне наоборот всё ясно. Нефиг тырить чужой труд.😂 Шутка.
На самом деле бывают случаи когда разработчик или программист покинул наш мир и очень жаль что пропадает хорошая программка хотя копия по любому у кого то есть. А вообще лучше писать самому кто может так чтобы потом можно было и переделать/добавить или наоборот удалить некие команды.
@@BioTech81 совершенно верно!
@@BioTech81 Разраб покинул, а ГитХаб остался..
@@BioTech81 Тырить? Там институты работают. Очень много кабинетов, специалистов... Гораздо интереснее, сходить в институт и получить образование.
@@Palladln
Ну если программу не надо дорабатывать и гифт не зашифрован то возможно.
Больше всего мне понравился момент на 3:45 с именем файла слитой прошивки )
Название слитой прошивки - топ!
я первый раз смотрел на телефоне - мелкое не успел разобрать, но примерно подумал, что он написал именно то, что я подумал :)) отмотал, увеличил - точно :))
😂
Мой первый программатор как раз мог работать вообще без компа. ))) На обычных выключателях, просто перебираете адреса в ручную, и записываете туда информацию какую ни будь, и еще одна кнопка прожиг.
))))) Классный видос мужик, я подписался, лайк тебе. )
оооо мужик, давно таких каналов не встречал, где даже наверное и дилетант понял бы что и зачем. пожалуй подпишусь.
Хорошее видео для базового изучения. Лайк однозначно.
ну если ты настолько ноль, то да.
@@shibkovumnij1977rb Сходи ещё на уроки пятиклассников - там ты оторвёшься.
афигенный у тебя стайл, друже.🕺 безтревожное проживание при СССР вспоминаю.
очень интересная информация, а подача просто превосходная) благодарю!)
Столько воды про два фьюза защиты от копирования? 88-й уровень! Браво!
Ура! Я почти достиг 90-го уровня!!! =))))))))
Да, это видео для "самых маленьких", некоторые вещи кажутся нам вполне себе очевидными, но ведь есть люди, которые в первый раз столкнулись с таким вопросом =)
Я такой. Мне было очень интересно.
Лучше уж в мелочах изучать что либо изучаемое
@@Gnevistj видишь ли, если ты это объясняешь для какого-то экскурсовода, из третьяковки, есть подозрения, что прошивка ему всё равно не нужна)))
790 людей оценили лайком.
+1 мой
Большое спасибо за Ваш труд.
Браво! Прикольный стиль объяснения 😂
Понятно, что ответ для самых начинающих, но рассказано и объяснено всё хорошо! Как именно работает лок-бит на физическом уровне, кстати, не знал. Благодарю!
Сегодня будем учиться писать. Для этого вам понадобится: ручка, тетрадь, стул, стол, руки и как ни странно голова....
Подкину, так сказать, возможное направление куда копать:
Шьём в контроллер последовательно 0xff, но только в момент прошития формируем короткий импульс понижения питания контроллера так чтобы нарушить работу встроенного повышающего преобразователя, но в тоже время не сбросить сам контроллер. В результате стирание происходит не всегда. Последним шьём слово конфигурации со снятой защитой в обычном режиме. Далее вычитываем содержимое контроллера, и повторяем весь процесс ещё с десяток раз со свежими контроллерами естественно. Путём сравнения прошивок находим верный код.
Недостаток метода в потрошении кучи девайсов компенсируется их последующим восстановлением, при удачном исходе конечно.
По крайней мере один раз с одной известной маркой контроллеров этот метод сработал.
Здравствуйте, а как можно эту прошивку потом перевести в си код например для правок ?
И можно ли с помощью программатора перезаписывать ПЗУ? И как его записывают вообще?
И является ли "флешка" аналогом ППЗУ? И благодаря чему данные можно перезаписывать неоднократно?
Молодец мужик! Разжевал всё для школьников. Ну а я получил массу удовольствия. Правда ещё один способ не указал - таблицы, но на это надо тоже огромная масса времени, а если таблицы более, чем двухмерные, то ещё и масса удачи.
Благодарю за интересный обзор!
привет тебе от ассемблериста пикиста ))) сколько я раз хотел вскрыть чип и прочитать именно таким образом - благо доступ был к машинке уз-сварки TPT-HB05 но всеравно написать свое и лучше бывало в разы быстрее.
на старых версиях типа pic16f877 бит лок был на верхнем уровне литографии. Сейчас уже вышли версии данного кристалла 877a со спрятанным на 4-5 слоев в глубь кристалла также и 887 версия тоже далеко глубоко запрятали линию эту - там суть лазером просто выжигалась полоска от элемента и все чип был с вечно снятой защитой.
Хорошее видео-жизнь показывает что чаще дешевле новый купить чем воскрешать прошивку старого!
А ещё можно, поломать логику микроконтроллера используя ненадежное питание (voltage glitch) или играя с частотой кварцевого резонатора (clock glitch) тем самым заставив ещё совершить ошибку в коде программы или ошибку в логическом элементе схемы. Метод называется Glitching. В ряде случаев это довольно успешный способ считать прошивку защищенного контроллера. Например если контроллер работает с USB, то подавая команду на чтение описания USB устройства (DeviceDescriptor) и указывая в пакете длину возвращаемого сообщения больше максимальной которую может вернут контроллер. В логике прошивки контроллера происходит сравнение длины возвращаемого сообщения с максимальной, если в момент проверки произойдет ошибка то контроллер может вернуть данные которые записаны после DeviceDescriptor то есть часть данных хранящихся рядом. Не всегда работает но и не требует растворять чип и "подпаиваться" к кристаллу кремния.
А играться с частотой кварцевого резонатора можно вскрыв его корпус ( в неочень стерильном помещении 😂) и воздействовать на кристалл парами йода.
Видео было многообещающим и даже местами интересным 😁. Но интереснее было бы узнать что делать с считанным набором машинным команд чтобы перевести их в более человеческий язык, а с этим на сколько я понял как раз беда. Или есть таки способы если дело касается контролеров для которых программы для их программирования в свободном доступе?
Насколько знаю, в даташытах на авр описано, как записываются команды в память. Также есть коды команд
Сам не делал, но возможно на каком-нибудь питоне, если прям прижмёт, можно сделать декодер на ассемблер, только смысл есть ли хз🤔🤔🤔
Доброго здравия. Для avr есть такой, Reavr называется. Дизассемблер. Но потом всё равно требуется много ручной работы. Которую как раз и можно автоматизировать с помощью питона. Ибо Reavr выдаёт следующий формат: адрес команды в памяти; сама ассемблерная команда и операнды (регистры). Если команда перехода, то там вместо метки будет стоять адрес. Удачи
Большую программу запаришься дизассемблировать сидеть, а маленькую проще самому написать с нуля..
Для починки какого-то прибора к примеру не надо ничего разбирать в коде, просто прошить дамп заново..
Для разработки устройства проще программу по кускам из библиотек собирать по форумам..
Дизассемблер IDA. Для пиков, авр и других.
@@v61kz прям таки на питоне?
А как же "Voltage Glitch" вполне себе способ. Есть ещё bus pirate. Или это и есть те самые "бытовые методы"?
Скажите пожалуйста а как свою программу защитить от копирования после прошивки ...что выставить надо в фьюзах ???
Здравствуйте. А можно сделать наоборот, залить адруиновскую прошивку в pic?
Здравствуйте. подскажите. как узнать к какому микроконтроллеру какой программатор нужен?
По началу думал че за нафиг, потом понял, что человек просто все компилирует на простолюдина, годный контент, красава ))
Интересная тема🤔 получается производители защитили от взлома и чтения прошивку ? И получается поэтому если с микрокантраллерами в бытовой технике чтото случается они плату полностью меняют ?? Но я знаю что и прошивками они занимаются . Получается не все микрокантроллеры защещины ?? В будущем наверное вобще не будет возможности прошивать микроконроллеры ..
Я раньше тоже так считал пока мне на глаза не попалась книжка "Реверс-инжиниринг встраиваемых систем [2023] Усанов А.Е.". Оказывается возможностей для взлома гораздо больше. Не читал но бегло просмотрел
Благодарю за инфо! Скачал, уже осилил вступление😂
Всегда знал, что надо стоять у истоков, а не пытаться очистить сточные 😂😂
Konechno polezno i dohodchivo! Spasibo za horoshij jumor!
Спасибо за труд. Очень полезный ролик.
Здравствуйте. Возможно ли извлечь прошивку из микроконтроллера с закороченными контактами по входному питанию 5 Вольт? stc 15w4k32s4 30i lqfp44
Я так понимаю на WIN11 нельзя установить дрова для AVR программ. Есть ли варианты совместимости? Или берем старый добрый WIN7?
Расскажите про шести польскую систему выпрямления более подробно особенно тпе 630 и про угол открывания тиристоров вы обещали про наши старые аналоговые тиристорники пожалуйста буду с нетерпением ждать ваш урок
Манера подачи навевает на мысль, что автор долго проработал воспитателем в детском садике...
Так как обойти защиту?, выпаивать и вскрывать проц???,
Добра всем!!! Поведайте, Atmega 16, в ней установлены LockBit-ы. Их точно нельзя вылечить не портя основной дамп? Ведь есть Fuse Doctor же....
такой вопросик, можно ли на закрытом от чтения прошивки микроконтроллере сменить маленькую часть прошивки на свою, которая прочитает оставшуюся прошивку и выдаст её на одной из ног? или это зависит от микроконтроллера? (если да, и если иметь два контроллера с одинаковой прошивкой, то можно записать в два разных места, прочитать обе прошивки и восстановить недостающие блоки)
А если это микроконтроллер от советского калькулятора, то только изучая его под микроскопом можно понять принцип его работы?
И как электрический разряд портит память микроконтроллера и мог ли я таким образом его повредить от разряда электрозажигалки на батарейках (в детстве экспериментировал так)?
Интересно. Футболка навеяла некие мысли. Атакующим может быть совсем не нужен код программы. В машинном коде, в виде байт, ими будут найдены ключи шифрования, например. А сама программа будет потом переписана под другой микроконтроллер.
Классно и интересно , но всё таки очень хотелось бы узнать ещё какой нибудь способ взлома !!! Конечно ЛАЙК !
Классная подача. Я получил все что не знал собрал все в кучу и выбросил в мусор. А читаются большинство а те что не читаются уходят в мусор вместе с изделием. По простой причине не надо покупать то что нельзя отремонтировать
Примите мои поздравления. Вся серийная бытовая электроника семимильными шагами движется производителеми (осознанно!) именно в этом направлении - чтобы нельзя было отремонтировать их девайс вне пределов их фирменных сервисных центров. А там ремонт производится методом замены на уровне блоков, опять-таки, поставляемых производителями в готовом виде. Так что, следуя вашей логике, вскоре нельзя будет покупать никакие электронный девайсы.
а если элемент И нештатно использовать ? например впихнув ему сигнал такта снаружи и по изменению тока потребления от тактового сигнала считать ? схемотехника ведь не идеальна и наверняка по колдовав можно элемент И этот блокирующий ввести в ступор подав хоть опорное напряжение снаружи ограничивая ток. или др способом добиться хоть тени утечки тока сигнала... и всё
Привет, как разобрать игры для айфона, чтоб отключить рекламы?))
С айфонами дела не имел, ибо я нищеброд, и у меня гнусмаС на андроиде =))) Но вдруг мой андроидный способ поможет и вам? Ловите лайфхак - после запуска игры отключаете вайфай и мобильные данные, проще говоря - включаете режим полета. Игра тыкается на сервант, связи нет - рекламы нет =)))))
Работает конечно не со всеми (некоторые без рекламы не запускаются вовсе), но большая часть становится играбельными =)))))
После фразы что микроконтроллер можно прочитать с помощью прищепки сразу понял уровень знаний этого мастера.))
А до конца посмотреть, ну, хотя бы до следующей фразы автора - религия не позволила?
Вскрыть корпус, подключиться к кристаллу, прочесть инфу -- совершенно рутинная операция на заводах по производству микросхем. Потому что им по работе этим надо заниматься.
Для постороннего клиента это стоит около 10k$.
Не так уж и много.
Если это не какая-то секретная микруха, в которой есть архитектурная защита, сильно усложняющая такой взлом. Но это про военных.
А с простыми МК, практически "дома на кухне", можно поступить так:
Нужен немного усовершенствованный программатор, который может в нужный момент менять напряжение питания "пациента" прямо в процессе чтения.
Нужна стиралка -- эквивалент ранешних УФ ламп -- но светящая мягким рентгеном, проходящим через корпус.
Но не более 20 кэВ. Более жёсткий рентген повреждает кристалл.
Цикл:
Немножко стираем;
Начинам чтение при самом высоком (допустимом) напряжении питания;
В какой-то момент понижаем напряжение до минимального и читаем остальную память;
Если получилась фигня, повторяем цикл.
"Немножко стираем" -- немножко уменьшает заряды в ячейках памяти.
Во всех, в том числе и в бите защиты.
И в какой-то раз автомат чтения увидит, что бит защиты кода стёрт.
И позволит инфе утечь во внешний мир.
При высоком питании ячейкам памяти требуется больший заряд, чтоб прочесть "записано".
А при низком питании требуется меньший заряд.
Поэтому, когда бит защиты при высоком дотрётся до "можно читать", в остальных ячейках при низком питании зарядов хватит, чтоб прочесть правильную инфу.
Хитро придумано !
Прочесть прошивку в любом случае не получится? можно только копировать ее. А так, чтобы достать сам код, который можно посмотреть?
Спасибо. Как всегда, доступно, объёмно и очень оригинально.
и нахуй не надо
Парни,стоит в блоке комфорта m38747mct. По поиску находится как Mitsubishi Electric Semiconductor. Даташит на процессор есть.Чем его можно прочитать ? Какой софт и каким программатором ?
не подскажете по virtio? 🧐
Из esp8266 можно прочитать?
слышал, что на некоторых микроконтроллерах для защиты от чтения было физическое пережигание дорожек внутри контроллера. правда или байка?
почему бы и нет в таком случае он будет однократно программируемый
Было такое, когда память была крайне дорогостоящей
а если прочитал, с этим буфером можно чтото сделать? ато эти циферки и буковки не похожи на код который можно править :)
Раскажите, пожалуйста про ПИД регулирование в GCBasic
Красавчик!
И по делу, и с юмором!
Расскажите какие есть условные или косвенные признаки того что на неисправной плате вышел из строя именно тот или иной микроконтроллер а не какой-то транзистор или диод. А может есть и безусловные видимые признаки неисправности микроконтроллера. 💪🏼
Именно по этому при необходимости микропрограмма добывается другими методами (убийство, шантаж, разбой, и тд...)
Можно залить программу длиной 1 байт?
Ролику зачет! 👍Любопытно было бы узнать как происходит кодирование карт тв доступа, триколор, телекарта...
Триколор, как я помню, dre cript, первые приемники не имели карт, а обновление ключей происходило по воздуху, обычно по умолчанию в 3 часа ночи, как у всех других. Привязка шла к железу. Даже сейчас есть, пару приемников с картами, телекарта, рикор ТВ. Но смысл в том, разблокировка опять происходит по звонку, оплате и диктованию серийного номера приемника. Это тоже самое, если друг дал логин и пароль от кабельного инета, сейчас идет привязка к MAC, чтобы инет заработал, нужно еще просить MAC, чтобы вписать его в настройках. ПО спутниковых приемников от оператора, даже не имеет эмулятора BISS ключей, хотя в глобальной версии прошивки, он имеется. Теоретически, если собрать свою прошивку, если приемник работает на ОС линукс, написать эмулятор железа, для удобства функцию переборщик серийников, если серийник невозможно достать у соседа, с помощью C++ используя кроссплатформенный gcc компилятор, набрав toolchain именно под свой процессор. Можно скомпилировать прошивку, которая будет сама, к примеру за ночь, находить рабочий серийник. Карты достать не сложно, у многих они валяются, так как многие побросали спутниковое ТВ. Другое дело банковские карты, но и здесь достаточно, обычного портативного бесконтактного терминала и пройтись в битком набитом автобусе.
Неужели в 7531-ом году сохранились питекантропы, которым до сих пор нужен телевизор❓❗🎃
Шикарно изложение. Тема раскрыта, лайк. Но закралось таки сомнение. Поручить (высококлассному) программисту написать другую программу по внешним особенностям поведения и известному предназначению девайса - это в тысячу раз дешевле аппаратно-программного реверс-инжиниринга - да, конечно. Спору нет. Но это совсем-совсем недешево для, скажем - кошелька обычного радиолюбителя или практикующего мастера по ремонту. Ну не станет мэтр программирования тратить свое время на какую-то не серийную работу не за дорого. Такой хардкор, скорее всего, будет стоить дороже приобретения нового девайса, аналогичному почившему в бозе. Я так думаю. А что скажет маршал Жюков? (И.В. Сталин).
Мне не понятно одно, как написанное что-то на экране даже в машинных кодах заставляет микроконтроллер работать правильно, есть литература чтобы давала это понимание, мне интересно как это работает на самых низких уровнях, кто щарит дайте наводку на информацию или литературу, именно чтобы понимать как изменения пикселей на экране через программатор заставляет контроллер как то менять свое поведения, мне не понятна структура этого процесса.
Спасибо за ответ заранее.
Очень годно, лайк, подписка
"Прищепка, для пополнения китайских кошельков" - 😂👍выпуск- супер.
Мой опыт с прошивкой (не считая телефонов) ограничивается изготовлением кабеля (из штекера com порта, пары резисторов и 4х крокодильчиков) для чтения и записи прошивок чипов картриджей мфу ксерокс.
У меня вот нет опыта и знаний в этом . Но я вот думал 🤔 главное как-то подключится к микрокантроллеру а прагромматор будет сам компьютер ..🤔 я так себе представляю
Отсюда вопрос? Если Вы попытались считать защищённую программу. У Вас вышли 00000 или подобное,- то микроконтроллер останется рабочим (со своей прошивкой)? Или он "потеряет" прошивку,- и будет годен только для записи новой прошивки???
Остается рабочим и со своей прошивкой
Помню, для древнего языка Clipper была программная приблуда, позволявшая получить "дизассемблированную" программу, то есть почти исходную программу на языке Clipper с той только разницей, что имена переменных были не те что использовал программист, а условные. Но можно было разобраться, изменить логику и снова скомпилировать. Возможно есть что-то подобное для микроконтроллеров, чтобы переводить из машинных кодов на ассемблер? А ролику и спикеру зачет и подписка.
Да, дизассемблирование возможно, и программ для него пруд пруди, начиная от официальной среды разработки. Проблема в невозможности возврата к языку высокого уровня, а большие программы мало кто, точнее практически никто не пишет на асме =))))) И уж разобраться в этой на первый взгляд бессмысленной куче пересылок и перекладок из одного регистра в другой - мое почтение, трэшовая работа, проводил такое =))))))
@@Gnevistj ну, так то ghidra существует... да и hexrays для арма справится. возможно этот выхлоп будет даже читабельнее оригинального кода на с++ (если там был он, а не сишка).
@@Stedmiel а всякие защиты по наверное так и обходят? Меняют какой-нибудь адрес перехода функции и всё, нету модуля защиты🧐
@@v61kz настолько простые защиты встречаются разве что в нубских крякмисах или в винраре каком.
а так да, трассировать и искать, чо где к чему относится и зачем в эту память лезет. в эмбеде еще попроще, там особо лютые варианты со всякими виртуалками (кхе-кхе, denuvo/vmprotect) не в моде еще. хотя вон, у cypress'овских cortex m0 уже гипервизор есть и используется. правда не столько для защиты, сколько для скрытия реализации флеш-контроллера- он там полусофтовый.
@@Gnevistj можно как то узнать язык на котором писалась программа из прошивки микроконтоллера?) в частности у меня есть прошивка от акпп , эбу бош, очень нужно ее разобрать, инфы нигде нет( удивительно но было маленькое тюнинг ателье в США которые под них прошивки писали, но они их уже не продают(
у современных контроллеров не один бит защиты а много, на каждый участок памяти свой бит,и ячейки этих битов спрятаны внутренним слоем, под основным кристалом
Здравствуйте. Как можно с Вами связаться?
То есть если скачать прошивку с контроллера и редактировать ее не получится??
Классный контент! Давай больше!!!
Нужно было упомянуть о ChipWhisperer и как он работает.
А можно заменить микросхему памяти одного производителя микросхемой с таким же объемом и распиновкой другого производителя?
В большинстве своём можно, если все совпадает.
добрый день, а что значит слово - "гневисть"?
День добрый! Это отсылка к роману Станислава Лема - "Эдем" =)
Думаю уже скоро появятся переводчики из машинного кода в с++ или что там еще может быть. Даже не представляю сколько времени займет обучение такой нейронки, но оно того стоит.
Кстати, идея супер! Идея на миллион, не шучу! Беритесь за реализацию =)))))))))
Хотя в целом, я такие эксперименты не одобряю, но об этом будет отдельный выпуск =)
Из машинных кодов в С или подобных уже давно есть и много. А вот в HDL, VHDL или AHDL нет и не будет.
@@СергейЗ-ю4я , да, есть переводчики обратно в си, но конечный перевод подчас настолько примитивен и "тяжел" для восприятия, что проще читать асм =)))
Но это всего лишь мое имхо, как известно мнение редакции не всегда соответствует мнению читателей =))))
ПЛИС же вообще несколько другой мир, там, на мой взгляд, без дохренаканального анализатора логики нечего ловить =))))))) Хотя дела имел мало с ними, могу ошибаться =)
@@Gnevistj В реверсе программ есть нюанс. Если изначально прога была написана, например, на С и декомпилируют ее в С, то результат получается очень хороший, если же декомпилируют на язык, отличный от того, на котором изначально написали прогу, то результат может быть очень плохой.
Про ПЛИСЫ. Написал программу. Скомпилировал. Поменял одну цифру в данных. Снова скомпилировал. Результат - разница в 81 байт!!!
@@СергейЗ-ю4я там же уже во время компиляции проходит несколько переводов между внутренними форматами?🤔
Супер, до конца ролика думал ждал дешевый метод обойти фьюзы, но увы. Хотя знаю что никак, но вдруг, может быть, как нибудь.....
Хы хы, вся правда о пиратстве) надо своему начальнику на работе показать😂
сразу вопрос!! а нельзя ли вообще "заварить" вентиль так, чтобы контроллер нельзя было не считать не перезаписать. Под "не считать" имеется ввиду вообще ни как. даже в лаборатории. подустим ты делаешь сверхзащищенный продукт и контроллер идет как одноразовый без возможности апгрейда. Как заварить вентиль?? и возможно ли такое??
Для таких случаев существует серия микроконтроллеров PIC с индексом "C" - одноразово программируемые контроллеры. Например 12С508 или 16C505 и прочие.
@@АвтовахтёрАвтоматическоеоткрыв это сколько их придется сжечь пока будет готов прототип)) и стоят они дорого! одна ошибка и на свалку сразу(( ну тем не менее спасибо
А какой в этом смысл? Прочитать все равно можно будет, добравшись до линий, по которым процессор общается с памятью. После чего приобретаются новые контроллеры и в них записывается спертая и модернизированная прошивка.
@@Московский_Колхозник ну физически это сложно сделать же. а если тем более кристалл многослойный. во вторых инструкции с памяти не зациклены же на "от первой по последней" выполняться? а следовательно помимо чтения линии придется перебирать все возможные комбинации сигналов и отправлять их. и что если сделать один из таких сигналов как стереть память?? фантазии конечно! но на сколько реально??
здравствуйте, я, к сожалению, мало сведущ в делах сиих высокогорних, а посему хочу к вам обратиться за помощью. Появилась нужда в программировании ПР 114 Овен, для чего требуется использовать специальный комплект для программирования ПР-КП20, соответственно, для подключения к компьютеру. Можно ли применить для этой цели преобразователь (программатор) UART в USB, или без оригинального никак?
С уважением, Владимир.
Здравствуйте! К сожалению не знаком с этим умным реле, хотя согласно документации, его "хвостик" (тот самый ПР-КП20) похож на USB-COM адаптер. Да вот единственное, что вариантов реализации пруд-пруди, и не все они совместимы меж собой, и необязательно, что на стороне УАПП - 5в ТТЛ, там может быть что угодно, от 3,3В до +/-15В. Остальное все мелочи.
Я бы не рекомендовал играться, лучше приобрести рекомендуемый производителем "хвостик" =)
@@Gnevistj да, когда я пытался разобраться в этом, то обратил внимание на то, что уровни U другие, на стандартных 3,3 и 5 В, а на овеновском 5 и 12 В. Ну, хорошо, благодарю за ответ, буду тогда кумекать, где заказать родненький. Для одного раза отдавать больше 4 к₽ не очень хотелось бы.
коротко ясно понятно ,большое спасибо
Как можно выпаять на 250ти градусах? Там же текстолит как радиатор часть тепла отводит... 🙄
Вроде можно используя легкоплавкие сплав разбавить заводской припой, но ИМХО про повреждение МК при температуре пайки больше 250 градусов полный бред.
@@trololp9724 нy в принципе да, снять родной припой оплёткой можно, а потом сплавом Розе... Чёт я не подумал, спасибо!👍
фьюзы и конфигурационное слово (bit) расскажите подробней пожалуйста
Вообще-то во многих микроконтроллерах есть недокументированные команды, используемые для отладки, они позволяют "поиграть" с битами флагов, отвечающими за защиту от считывания, банально сдвигая указатель при записи данных на контроллер на необходимый адрес.
Это как? Можно подробнее чуть-чуть?
Есть ещё один способ: - "В жидком азоте, - считываются импульсы", но это жесть и ещё какая. Считывается куеву тучу раз, потом сигнал сводится и из аналога получается цифра, но нужен микроконтроллер с удалёной подложкой!😇 работает 100% если азот халявный то за неделю-две всё получится. (к слову корпус и подложка растворяется кислотами.)
Выпуск интересный несомненно Лайк 👍 Но в вопросе считывания заЩишенной прошивки, в корне не соглашусь, есть группа программаторов которые отлично вычитывают из защищенных камней их прошивку : Xprog , Orange, Xhorse VVDI Prog и другие...
А как на счёт сжигаемых дорожек для защиты от копирование, имеют место быть!?
Бывает всякое в этом мире. Вплоть до выжигания порта ввода-вывода, который по совместительству используется для работы программатора.
...а как же дизассемблер? У меня был положительный опыт замены знакогенератора в прошивке при вынужденной замене 7-сегментного дисплея в устройстве на PIC без исходника... Я не знаю Ассемблер и действовал интуитивно. Все получилось т.к. в полученном ассемблерном коде регистры знакогенератора бросаются в глаза и их ни с чем не спутаешь, но если бы надо было поменять логику команд - я бы вряд ли справился. Надо бы эту тему осветить... если есть опыт и желание...
Я не говорил что дизассемблировать нельзя; я сказал что нельзя вернуть к языку высокого уровня =)
А разбирать программу на чистом асме в сотню другую килобайт (100+ тысяч команд, грубо говоря) то еще удовольствие =))))))
@@Gnevistj Иногда, когда припрет, ассемблер, все же, лучше чем ничего (машинный код)... ;)
@@Gnevistj декомпиляторы же есть
СПАСИБО у Вас есть уникальная способность обяснять сложные вещи так чоб и медвежонок понял. Но давате следуещее видео про два путя как из этой битной каши читаемый код получить чтоб понять как там все устроено
IDA дизассемблер в помощь
@@zorrozorro2839 А кино про это чтоб и медвежонок понял?
@@ernisesama1636Не каждый программист разбирается в ассемблере. А тут речь идёт о дизассемблере!
Отличное видео! Как с Вами связаться?
заждался чесслово! Спасибо ! 👍
Всё чётко объяснено !
Благодарю за урок
Помимо прочего, есть один вариант: никак. Например, в AVR есть так называемый бит защиты. Если его установить при прошивке - считать уже ничего не получится. Постоянно пользовался этой функцией, когда делал приборы на продажу.
P.S. Ролик ещё не посмотрел.
да всеми согласен специалньо включил звонок чтобы не пропустить новый видео, вот бы так в универе объясняли клаассссссссс!!!!!!!
Мужик ты супер 👍👍👍👍👍👍
12:48 И всё таки интересно было бы увидеть этот список.
Может и соберусь как-нибудь =))))
Спасибо завидео, уж заждался чесслово!
Спасибо!Интересный маатериал.Понятно,что с компилированного hex. файла ничего не получится выяснить.Проще новую программу написать (или скачать готовую).Ещё ходят слухи,что ИИ gpt chat пишет всё что попросиш.Я попросил программу на с+ для регулировки частоты трёхфазного двигателя -он мне чтото бессвязное написал (наверное обматерил,на своем машинном языке).😀
Скорее всего ты просто задал "неполноценный вопрос", т.е. не указал на детали реализации (модель контроллера, двигателя, задействованные пины и т.п. ересь) 🤔
Только что потестил аналогичный запрос на гугловском _Bard_ и он со второй попытки выдал мне неплохой каркас для приложения. После первой попытки (я бы тоже назвал её "бессвязной") попросил его написать аналогичную программу, но с учётом добавленных деталей и получилось весьма неплохо.
IMHO, если умеешь читать чужой код и сходу понимать логику, то даже текущие версии чат-ботов могут быть чрезвычайно полезны 👍
p.s.: прямо сейчас несколько крупных игроков на рынке разработки ПО -вливают тонны бабла- тренируют большие языковые модели, рассчитанные только на кодинг. Вполне может быть, что уже через пару лет, если не раньше, они релизнут что-то действительно крутое.
@@deniskhakimov Да,вы правы,я действительно не дал ему много параметров и скорее всего получил такой ответ.Но программиррвать уметь необходимо.Во первых ,чтобы понимать процесс и навеерное ,более важно-чтобы отдалить процесс умственной деградации (мозг должен упражняться).Иначе он заскучает🙂
Теперь я знаю!!! Спасибочки! Лайкос!!