• Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1
    +1
    Вы не совсем правы. Давайте по пунктам:

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

    2) Распаковщик и расшифровщик чаще всего находится в том же бинарнике — на случай, если придется менять формат хранимой прошивки. А в этом случае задача
    распаковки становится достаточно тривиальной для специалиста. Для поиска в этом «очищенном бинарнике малого объема» точки входа в расшифровщик/распаковщик
    также существует ряд очень интересных современных методов.
    Хороший вариант защиты — когда бутлодер защищен от считывания и содержит распаковщик, а код на флешке — чистый запакованный кастомным алгоритмом блок данных. Там тоже есть варианты, надо смотреть конкретную железку. Но это встречается редко — не любят большой код пихать
    в бутлодеры нулевого уровня, труднее обновлять.

    3) Аналогично поиску точки входа — есть ряд прогрессивных методов, ощутимо сокращающих времязатраты при подобной ситуации (они не рассматривались в данной статье). Чип со стертой маркировкой сам по себе практически не является замедляющим фактором.
  • Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1
    +1
    Я так полагаю, раз это все «незаконно!!!», то нужно вообще срочно закрывать факультеты ИБ ведущих технических вузов. А то ишь ты, повадились плодить потенциальных преступников! Бумажка с регламентами — вот настоящее оружие доблестного борца с киберугрозами! Прошелся по предприятию, проверил, что шкафчики на замках, каждая флешка с бирочкой и USB-порты опечатаны — все, враг не пройдет.
  • Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1
    +1
    И опять вы игнорируете в упор мои слова об огромной области для исследований, о интересных и важных задачах, решение которых приближает нас к автоматизации поиска уязвимостей методами машинного обучения, о том, в конце концов, что это все применяется для защиты — и продолжаете талдычить свое «преследуемо законом!!!11» — уже в котором комментарии, причем не только под этим постом. Складывается впечатление, что у вас какая-то нездоровая фиксация на одном аспекте — ладно бы просто по незнанию, но нет, уже после того, как вам разъяснили, вы все равно продолжаете игнорировать факты.

    То что лично вам вставшая перед вами задача не дала ничего в профессиональном плане — это исключительно ваша веселая история из жизни, на глобальное положение дел (которое я уже третий комментарий пытаюсь до вас донести) она не влияет. Также как и ваши фантазии относительно «почтенности» — я уже приводил ссылки на международные конференции, посвященные информационной безопасности — если вы все-таки избавитесь от навязчивой боязни и посетите такое мероприятие, или хотя бы почитаете научные работы, посвященные информационной безопасности, возможно, узнаете что-то новое.
  • Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1
    +1
    Да в том-то и дело, что я знаю лучше вас, поэтому ваш комментарий выглядит очень наивным, как мнение человека, составленное на основе фильмов про хакеров. Страшное слово «криптография» вызывает у вас благоговейный трепет и мысли о непроницаемой защите.

    Вы упорно не хотите понять, что сфера реверс-инжениринга — это не только «стащить чужой код и схематику, чтобы сделать похоже», это еще и поиск уязвимостей, защита информации, исследования в области машинного обучения и многое, многое другое. Не даром DARPA выплачивает миллионы за успехи в сфере реверс-инжениринга. Не даром у нас который год проводят огромные международные конференции ZeroNights, PHDays, а за рубежом — BlackHat и прочие. Но то DARPA, конференции… Что нам ровняться на какие-то там исследовательские институты, когда можно посмотреть фильм про хакеров, правда?)
  • Реверс-инжиниринг прошивки устройства на примере мигающего «носорога». Часть 1
    +6
    Ну давайте начнем с того, что получить навыки реверс-инжениринга — это не «тырить чужой код». Это навык, который позволит, как минимум серьезно углубить свое понимание того, как строятся электронно-вычислительные устройства на всех уровнях, начиная от аппаратного и заканчивая прикладным софтом. Это существенно помогает при необходимости работы с чужим кодом и железом, например — при необходимости написания патчей и поиске ошибок. Обладая навыком реверса, например, можно отыскать ошибки в чужом бинарнике и даже исправить их — здесь, на хабре, были такие статьи. Также возможно даже разработать бинарный «плагин» расширяющий функциональность чужого приложения, такие задачи тоже, бывает, встают.
    Помимо этого есть профессиональная область, которая требует глубоких знаний в реверс-инжениринге: это поиск уязвимостей в программных и программно-аппаратных продуктах. Она востребована и количество уязвимостей в объектах критической инфраструктуры не снижается год от года — достаточно зайти на CVE и посмотреть количество уязвимостей по годам: Siemens: Vulnerability Statistics
    Далее. Получить бинарный код можно многими путями. Защищают от вычитывания, на самом деле единицы. Но помимо этого есть ряд подходов, позволяющих получить бинарный код — и, между прочим, в этой статье один упоминался, вероятно, вы не дочитали — это файлы обновления прошивки, поставляющиеся производителем.

    Сейчас очень мало выпускников вузов, представляющих себе работу устройства на всех уровнях. Еще меньше тех, кто может восстановить логику этой работы по неполным данным. Кроме того, с вместе с увеличением объемов бинарного кода возрастает потребность в автоматизации работы реверс-инженера, поэтому эта область представляет еще и обширное поле для научных исследований.
  • Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»
    0
    Ну они не всегда совсем уж «микро», там бывают здоровенные и очень жручие бесколлекторники. Это, конечно, не пром. движки, но уже и не микро — до киловатта.
  • Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»
    0
    Да сделать-то можно, что на STMке, что на AVRке.
    Вопрос в том, что именно такие вот микросхемы я видел только у TI, и то, у нас что-то их пока нет. Поэтому, когда я слышу «специализированная микросхема для motor-control» я в первую очередь жду именно вот эту реализацию. Очень не помешало бы для малогабаритных дронов и т.п. — ядро будет занято только логикой, а управление мотором полностью аппаратное.
    Вот в этой микросхеме (подключение которой приведено выше) встроен мост по 1.5А что ли на фазу и вся логика управления. Туда бы еще и ядро ARM Cortex, цены бы ей не было.
  • Новый отечественный motor-control микроконтроллер К1921ВК01Т ОАО «НИИЭТ»
    0
    А аппаратную поддержку управления бесколлекторными двигателями у нас не планируют делать? А то очень хотелось бы, но пока я видел решения только от TI — вот такой бы блок в контроллер с ядром кортекса, чтобы можно было подключить несколько sensorless бесколлекторников, не нагружая ядро вычислениями, связанными с противоэдс.
    image
  • Li-Fi готовится конкурировать с Wi-Fi
    0
    Нет, тогда нивелируются преимущества почти, к сожалению. К тому же датчикам того даунлоада много и не нужно.
    Тут наоборот желательно, чтобы решение было простое, дешевое и мало места занимало на плате, а пихать одновременно и радиомодуль и эту штуку ну совсем грустно.
  • Белый Куб на страже чистоты воздуха, часть 2
    0
    Ваша разработка интересная, безусловно.
    Но я пока не понимаю, что в итоге делается с этой кучей данных — особенно от акселерометров, магнетометров — да, с углекислым газом все понятно — можно сделать напоминалку о проветривании, можно, при желании — автооткрывалку окон.
    Но все остальное? Как в повседневной жизни используется?

    Я просто прокручиваю в голове то, что я бы мог делать, будь у меня такой куб… и как-то все сценарии заканчиваются на двух датчиках — один по порогу открывает окно для проветривания, второй сигналит, если обнаружил утечку газа.
  • Ачивка как инструмент манипуляции игроком в GameDev
    +4
    Ну что вы, это ж недостойно Настоящего Мужчины™ — правильные хобби — это пивасик пить, на рыбалку выезжать (и там пить) и стойки на машине менять (а после — пить)
  • Ачивка как инструмент манипуляции игроком в GameDev
    +1
    Да, ачивки много привносят.
    Когда я в детстве написал свою игру (Goblin Wars), то прямо почувствовал как изменилось отношения, когда добавился послематчевый экран со статистикой

    image

    Мы стали не просто играть, чтобы набрать побольше фрагов, а старались набить определенные достижения, чем они труднее, тем желаннее)
    Самым сложным, как сейчас помню, было заработать ранги за «попадания в вошь» — был там такой игровой объект, быстро рандомно бегающая тварюга, которая врезалась, нанося 90 повреждения (из максимальных 100!).

    В новой версии я уже ввел полноценные ачивки с уровнями, типа «Убийца вшей — III», после матча очень весело посмотреть на достижения друзей и свои, так что мой вердикт — ачивки обязательно должны быть. Но — правильные. А не вида «Заплатил больше всего реальных денег»
  • Li-Fi готовится конкурировать с Wi-Fi
    0
    Для смарт-хаусных модулей, наверное, хорошо подойдет.
    1) Общие широковещательные команды можно будет подать всем модулям при помощи освещения
    2) Не захламляет эфир — а то десятки вай-фай (и других радио) устройств в каждой квартире рано или поздно дадут о себе знать
    3) Уже из-за двери не подключишься, затрудняет взлом.

    Только в обратку-то как сигнал слать?
  • Lunar Mission One: полет на Луну за счет пользователей Kickstarter
    +2
    Это было бы интересно, но только не в таком формате. Вместо «закапсулированного образца собственной ДНК» (нахрена это вообще там нужно? Фетишизм какой-то.) принимать кастомные приборы для отсылки. Понятное дело, с ограничением по весу.
    Вот сделал я мелкий прибор — скажем, передатчик с солнечной батареей. Хочу чтоб он с луны мне вещал. Жертвую деньги проекту, пересылаю им свой передатчик. Они его десантируют на луну.

    Имхо так можно собрать куда больше денег, да и польза намного большая, чем «волосы на луне» — что-то вроде «батч-изготовления печатных плат», только тут — батч-посылка на луну своих роботов.
  • Электронный тортик в кармане: дневник разработки
    +1
    Лучше использовать интегральный синхронный конвертер, например
    MAX1724, эффективнее будет.

    И еще, не вижу причины использовать пьезодатчик вместо электретного микрофона, уменьшатся габариты и, вероятнее всего, увеличится точность.
    Фурье — это, конечно, сильно, имхо хватит простейшего фильтра (КИХ или БИХ).
    А что, в самом деле так критично было использовать окно отличное от прямоугольника? Прямо не верится, что в таком применении (да еще и на 10 точек фурье!) действительно ощущается разница между прямоугольным окном и Ханнингом.
  • И еще одна пушка Тесла
    0
    Да-да, про жидкостный слышал, про УФ-лазер — слышал что пытаются, не знаю, дошло ли до прототипов.
    Ну в принципе можно попробовать обойтись одним каналом, второй — на землю. Правда, для этого второй выход генератора тоже должен быть заземлен, я так понимаю.
    Генератор будет производить ток низкой частоты, но переменный, чтобы мог работать в такой системе и не был особо сильно подвержен скин-эффекту.
  • И еще одна пушка Тесла
    +1
    А возможно по уже ионизированному каналу передать большую мощность?
    Чтобы превратить эту штуку в настоящую пушку. Ну то есть начальная ионизация проводится этим вот источником, с небольшим током и подверженным скин-эффекту, а после по этому каналу, по-прежнему сохраняющему высокую проводимость, передается уже НЧ-ток от батареи конденсаторов, который скин-эффекту не подвержен и может пройти вглубь тела.
  • Отечественные проекты на Kickstarter /часть 4
    0
    А каким образом чехол может потреблять энергию из излучаемых волн, при этом не ослабляя соединение?
    Откуда тогда энергия берется?

    Создатели заявляют, что он не повышает расхода батареии и не приводит к ухудшению соединения. Как-то это странно, ИМХО. По идее он должен серьезно экранировать.
  • Суперкомпьютер оплошал
    +1
    У борцов с ГМО нет быстрого доступа к такой БД, как у Ватсона, их память может подвести.
    Не говорю прямо про ИИ, но вот в медицине, думаю, он очень сильно может помочь, анализируя базу пациентов и выискивая закономерности — это же одна из его первоочередных задач, вроде как, была?
  • Суперкомпьютер оплошал
    +6
    Нужно обратный тест Тьюринга проводить. Если человек аргументирует свои радикальные позиции как Ватсон, то его пора изолировать от общества) Или хотя бы лишить интернета, чтоб не подпитывал свои бредни бреднями его единомышленников.
  • Game Development: начало пути
    +1
    А куда деваться, если есть много идей относительно игровой механики? Ну, скажем, касаемо реализации системы крафта, пвп, магии в ММОРПГ?
    Я писал небольшие игры, которые можно потянуть в одиночку, но я прекрасно осознаю, что ММОРПГ не потянуть не только одному, но даже небольшой командой — слишком много требуется сопутствующих ресурсов, на одной механике не уедешь.

    В то же время, мне кажется, что эти идеи весьма правильные и могут многое привнести в игру. Получается, что идеально бы было взять какую-нибудь популярную ММОРПГ типа ВоВ и поменять там один-два аспекта, систему крафта например. И посмотреть, как люди отреагируют.
    Но так ведь не сделаешь.
  • «Аюша» — контроллер на процессоре 6502
    0
    Вот это поддержать не могу никак. Разлечение — дело святое.
    Но намеренно использовать устройство, надежность которого невероятно снижена (за счет дип-корпусов, за счет проводных соединений, за счет макетки) — это очень опрометчивое решение. Поэтому в лабораторию я уж лучше ардуину поставлю, а еще лучше — одну из плат на STM32, чтобы не искать потом какой из пары сотен проводков стал плохо контачить, а какой — давать наводки на соседний порт.
    Для реальных применений нужна надежность и минимум деталей, что мало пересекается с проектами для развлечения, где главное — получить удовольствие от процесса.
  • «Аюша» — контроллер на процессоре 6502
    +1
    Хм. Я так понимаю, целью создания вашего девайса было развлечение, а не «большинство применений» — ну вот затем же и линукс)
    Эдакий современный аналог спектрума сделать. Да и кодить под него намного удобнее. Если это устройство в итоге работает как PC в той или иной мере, однозначно удобнее будет с линуксом на борту, давая возможность подгрузить свои модули с той же SDшки. Или с перфоленты)

    А что до промышленных применений — ну тут надо по задаче смотреть, чаще RTOS требуются, если брать какую-нибудь мелкую то получается что-то среднее, между кодингом под голое железо и кодингом под более распространенную ОС — абстракция от некоторого оборудования есть, механизмы IPC и тасков/тредов есть, а вот с поддержкой железа по-прежнему придется руками разбираться. И протоколы ручками реализовывать. А линукс на порядки более удобен в разработке и поддержке ПО, безусловно — особенно, если речь идет о поддержке какой-то стандартной периферии или протоколов. Если не требуется предсказуемое время реакции (а, в последнее время, даже если требуется, но гарантированно будет достигнуто в 90 процентов случаев за счет частоты процессора), но требуется работать с USB-периферией, какими-то спец. микросхемами, под которые уже есть драйвер, разбирать пакеты TCP, процессить PDF и т.п., то Линукс — лучший выбор. Потому что все это уже реализовано и требует только небольшого допиливания.
  • «Аюша» — контроллер на процессоре 6502
    0
    Ну не вся, я про это и говорю. Микроконтроллер далеко не всегда может работать без периферии, для интересных применений, с дисплеями и прочим, чаще всего требуется дополнительная периферия, как на фотографии выше. Собственно, на фото — процессорный модуль, он вставляется в хостовую плату, содержащую необходимую схематику для работы с дисплеем, выход на эзернет, GPIO и т.п.
    Полагаю, проектирование и сборка подобного компьютера с нуля, вместе с установкой туда uCLinux — занятие намного более серьезное, чем пара кликов в ардуинчатой IDE и не уступает копанию в старых микросхемах.
    Собственно, изначально моя идея в этом и состояла — что можно и с использованием современных микросхем разобраться в железе на очень глубоком уровне и, напротив, даже взяв старые, бездумно перекопировать схему)
  • «Аюша» — контроллер на процессоре 6502
    0
    Хм, не могу понять, что такого сложного в моих фразах
    >можно с тем же успехом подключить внешнюю память
    >Всяко будет периферия. А уж если говорить о более мощных, наподобие STM32F4 так там и память внешнюю часто требуется прикрутить, физические уровни интерфейсов и прочее.

    Вы их намеренно не читаете, фиксировав для себя «микроконтроллер» = «один чип, АВР»?
    image

    Я сейчас даже безотносительно изначальной темы, я просто не понимаю, я недостаточно ясно выразился? Почему уже второй человек мне говорит про одиночную АВРку?)
  • «Аюша» — контроллер на процессоре 6502
    0
    Дык я про собранный девайс. Он-то уже контроллер.
    АВР без доп. микросхем довольно мало на что способен. Всяко будет периферия. А уж если говорить о более мощных, наподобие STM32F4 так там и память внешнюю часто требуется прикрутить, физические уровни интерфейсов и прочее. Я ж говорю:
    >а взять отдельный микроконтроллер можно с тем же успехом подключить внешнюю память
  • «Аюша» — контроллер на процессоре 6502
    +1
    Несмотря на техническую навороченность, эти железки до ужаса скучные. Посудите сами: подал питание, загрузил программу,… и всё! А что делается внутри кремния, установленного на печатную плату — сие нам не ведомо.

    Не согласен с этим. Вопрос подхода, ваш девайс в корпусе точно также могут использовать — подали питание и все. То, что вместо памяти на кристалле вы используете отдельный чип не коррелирует со знанием того, как работает железо, точно также можно квадратики соединить на схеме по даташиту (благо, типовая схема есть), и радоваться.

    Если не брать ардуину, а взять отдельный микроконтроллер можно с тем же успехом подключить внешнюю память и на глубоком уровне понимать, как работает система.
    На АВРке так и вовсе сделали эмулятор АРМа (да еще и контроллер DRAM!) и запустили линукс.
    Так что я не думаю, что достаточно взять старые микросхемы, чтобы решить проблему незаинтересованности людей и подтолкнуть их к изучению глубин, а не поверхностному тырканью.
  • Управляем бесколлекторными двигателями, господа
    +11
    >Управляем регуляторами — управляем и двигателями, все просто.

    Если бы все было так просто…
    Согласен с предыдущим комментатором, заходил сюда в ожидании схемотехнических и программных решений по управлению BLDC, или хотя бы обзор интегральных драйверов этих двигателей (как у TI), а тут очередное «воткнем проводок в ардуину».
  • Медленная работа SD карточек — кто виноват и что делать?
    0
    Клоки клоками, вам бы еще и CRC пришлось бы считать ручками, а это уже совсем печально)
  • Медленная работа SD карточек — кто виноват и что делать?
    +4
    Ну а зачем изначально выбирать неподходящий кристалл? В 2012 году уже были те же СТМки с эзернет и аппаратным SDIO на борту.
    Да даже без аппаратного SDIO DMA даст существенный прирост производительности, разгрузив процессор.
    А так получается, что намеренно берем контроллер без ДМА, без СДИО, и долго решаем проблемы софтварно.
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    0
    Ну просто жаль, что они столь закрыты и не расширяются — вышли бы к людям, опубликовали вакансии. Там и инвесторы бы, глядишь, потдянулись.
    Мне, лично, было бы интересно посмотреть на их вакансии. Правда в Зеленоград совсем нет желания ездить(
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    +1
    Дык причем тут сеточка уже, вы же говорите «такого размера может быть только сонар за $15»)
    Сеточка это понятно, я и сказал что это сонар. Кстати, не такой как на вашей фотографии, там отдельно приемник и передатчик, поэтому их два. А в вашем варианте это такой трансивер, который может и излучать и принимать.
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    0
    Я оба посетил, оба печальные)
    Если нет вакансий, откуда они специалистов берут тогда? Так и работают изначальным составом?
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    0
    Что-то только сайт у них совсем печальный, часть разделов заполнена «рыбой», никакой информации о вакансиях…
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    +1
    >а такого размера может быть только сонар за $15

    Хм, не совсем понял эту фразу. Я видел камеры и такого же размера, и меньше и больше.
  • Использование микророботов для выполнения сложной командной работы: новый проект с финансированием DARPA (видео)
    0
    Эх, очень жаль. Я надеялся, что они нашли какой-то способ достичь таких скоростей при автономном движении.
  • Московская школа робототехники действительно существует. И она находится в Ясенево
    +5
    >Стерео камера и пара ног.

    Это явно не камера на фото, а ультразвуковой датчик, сонар.
  • Семь вещей, которые полезно знать о программистах
    0
    Далеко не всегда. Только совсем безумные фанатики радуются смерти близкого человека «зато он теперь на небе», большинство же однозначно предпочло, чтобы он остался жив здесь и сейчас, для них это очень слабое утешение.

    А что до менее трагичных ситуаций, с которых мы, собственно, начали этот диалог — примерно то же самое прослеживается, трудно продолжать верить в идеальный мир, и, главное, становиться счастливым от этой веры, если на деле твои перфекционистские усилия не ценят, премию платят Васе из соседнего отдела, потому что он к дедлайну успел склепать альфу, а ты «замки строил», начальство отговорки про «отвлекающих» уже не слушает и шлет нахрен…

    Лучше смотреть на мир практичнее, намечать серию шагов, которые могут привести к улучшению, но в то же время не безумствовать с перфекционизмом, понимать, что «идеальность» недостижима, осознавать, где стоит «полировать», а где лучше «в продакшен».
  • Семь вещей, которые полезно знать о программистах
    0
    А самомотивации ли?
    Что будет, когда этот «идеальный мир» столкнется с реальным, совсем не таким радужным?
  • Семь вещей, которые полезно знать о программистах
    0
    Это только в идеальном мире.
    В реальном — и отвлекающие факторы, и совещания, и внезапная смена ТЗ, и внезапно подвинувшиеся дедлайны, когда надо уже не замки строить а подпирать то, что есть.
    Поэтому те, кто так наивно смотрят на мир — эдакие стереотипные программисты из воззрений 90х годов и ваших описаний, не в состоянии не только эффективно работать в реальных условиях, но и, зачастую, мешают работе остальных.
    Например, если от них зависит критический модуль, а они все «строят замки» вместо того, чтобы сделать хотя бы прототип.

    В общем пост реально очень похож на сборник стереотипов 90х — также, как, например, фильм «Хакеры» 95го года. Никто не говорит, что фильм плохой — обычные люди в те времена и в самом деле думали, что великий и ужасный шеф службы безопасности может, допустим, заехать на скейтборде к генеральному директору корпорации, сесть ему на стол. Сказать, чтоб этот генеральный звал его The Plague, а не мистер Белфорд и т.п.
    Но в то же время это все далеко не соответствует реальности, только пересекается с ней в некоторых точках.