Как стать автором
Обновить
2
0

Заклинатель бит на C++

Отправить сообщение

Тайна прошивок

Время на прочтение11 мин
Количество просмотров29K
Авторы: к.ф.-м.н. Чернов А.В. (monsieur_cher) и к.ф.-м.н. Трошина К.Н.

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

В этой статье мы расскажем об одной интересной задаче, которая была поставлена перед нами несколько лет назад. Заказчик попросил разобраться с бинарной прошивкой устройства, которое выполняло управление неким физическим процессом. Ему требовался алгоритм управления в виде компилируемой С-программы, а также формулы с объяснением, как они устроены и почему именно так. По словам Заказчика, это было необходимо для обеспечения совместимости со «старым» оборудованием в новой системе. То, как мы в итоге разбирались с физикой, в рамках данного цикла статей мы опустим, а вот процесс восстановления алгоритма рассмотрим подробно.

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

Бинарный анализ прошивок устройств может иметь следующие цели:

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

Поставленная выше задача анализа бинарного кода может рассматриваться как частный случай задачи анализа бинарника для обеспечения совместимости устройств.
Читать дальше →
Всего голосов 85: ↑83 и ↓2+81
Комментарии96

Лучший способ начать изучать современную генетику, молекулярную биологию, генную инженерию и геномику

Время на прочтение5 мин
Количество просмотров43K
Если вы когда-либо хотели разобраться в фундаментальных основах современных биотехнологий, генной инженерии, биоинформатики и молекулярной биологии, детально понимать, что творится на передних рубежах этой удивительной и революционной в настоящий момент науки, быть сознательным свидетелем тех потрясающих научных открытий, современниками которых мы являемся, но не знали с чего начать — этот пост должен быть вам интересен.

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

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


Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии48

4 причины прокрастинации (текстом)

Время на прочтение7 мин
Количество просмотров69K
После этого поста с видео «Все, что нужно знать о прокрастинации», многие написали, что нужен текст.

Он ниже.
Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Комментарии33

Теория счастья. Термодинамика классового неравенства

Время на прочтение23 мин
Количество просмотров33K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



В этой главе мы порассуждаем о деньгах, рынках и энтропии, а также посмотрим на анимированные гифки, которых, увы, в книжке напечатать не получится.


Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии111

Работаем в консоли быстро и эффективно

Время на прочтение9 мин
Количество просмотров125K

В сети можно встретить много советов по эффективной работе в консоли. В большинстве таких статей авторы рассказывают про банальности типа "выучите горячие клавиши" или "sudo !! запустит последнюю команду под sudo". Я же расскажу о том, что делать, когда вы уже выучили горячие клавиши и знаете про sudo !!.

Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии117

Новости Rust #1 (Сентябрь 2018)

Время на прочтение6 мин
Количество просмотров6.9K

кдпв


Мой комментарий к новости про Rust 1.28 с обзором ржавых событий за месяц неплохо зашел, так что вот держите очень субъективный срез ржавых новостей за прошлый месяц.


В этой подборке: Rust 1.29, записи докладов с Rustconf 2018, gfx-rs, Rust2018, порт Flatbuffers, новые версии ripgrep и Alacritty.


Rust 1.29


Вышел Rust 1.29. Основные нововведения — доступные сразу из rustupcargo fix и cargo clippy (подробнее в хабропереводе).


Следом была выпущена версия 1.29.1, закрывшая ошибку в std::repeat (обсуждение).


Rust 1.30 и 1.31 будут очень значительными.

Точного списка пока нет, но ожидается что:


  • в 1.30 (2018.10.26) войдет частичная стабилизация процедурных макросов;
  • в 1.31 (2018.12.07) войдут Rust 2018 + non-lexical lifetimes (NLL).
Читать дальше →
Всего голосов 43: ↑42 и ↓1+41
Комментарии6

Моя версия «прибора для осознанных сновидений» – краткая история и описание первой версии

Время на прочтение8 мин
Количество просмотров45K
Примечание: статья написана исключительно в ознакомительных целях, и не является призывом к повторению подобных экспериментов дома ввиду потенциального риска причинения вреда физическому здоровью (в случае использования в приборах Li-ion аккумуляторов и фоторезисторов).

Доброго времени суток, уважаемые хаброюзеры и хаброчтители) Это – моя первая серьезная статья на Хабре, посему СУДИТЕ МАКСИМАЛЬНО СТРОГО, обещаю работать над стилем и содержанием.
Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии112

Маленький чёрненький квадратик (визуализация всех денег и рынков мира)

Время на прочтение2 мин
Количество просмотров21K
Авторы The Money Project собрали и визуализировали информацию о стоимости всех мировых денег и их эквивалентах. В результате получилась эффектная и простая инфографика, в которую помимо основных данных были добавлены сравнительные ориентиры: размеры состояний богатейших в мире людей, рыночная капитализация крупнейших компаний, акции которых котируются на рынках ценных бумаг, общая стоимость этих рынков и суммарная величина долговых обязательств во всем мире.

image


Когда я в первый раз увидел эту инфографику за 2017 год, я матерился. Потом я много матерился.

А теперь я смотрю на мир через «призму маленького черного квадратика» и мне все кажется пустяками.

Ныряйте под кат или открывайте картинку целиком тут. (Предыдущая статья на Хабре за 2015 год с искрометными хабракомментами.)
Читать дальше →
Всего голосов 54: ↑41 и ↓13+28
Комментарии48

Изучаем коня (часть 4)

Время на прочтение15 мин
Количество просмотров44K

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

В силу окончания учебного года, произошла некоторая задержка и разрыв между ферзем и конем. С учетом того, что конь – самая сложная фигура в шахматах для изучения, материал готовился несколько дольше, чем обычно. Но вот он и вышел. Все диаграммы с разъяснениями под катом – милости прошу.
Читать дальше →
Всего голосов 47: ↑42 и ↓5+37
Комментарии31

Сортировки обменами

Время на прочтение8 мин
Количество просмотров57K


Если описать в паре предложений по какому принципу работают сортировки обменами, то:

  1. Попарно сравниваются элементы массива
  2. Если элемент слева* больше элемента справа, то элементы меняются местами
  3. Повторяем пункты 1-2 до тех пор, пока массив не отсортируется

* — под элементом слева подразумевается тот элемент из сравниваемой пары, который находится ближе к левому краю массива. Соответственно, элемент справа находится ближе к правому краю.
Траффик
Всего голосов 12: ↑12 и ↓0+12
Комментарии10

Как запретить Windows 10 перезагрузку после обновлений

Время на прочтение2 мин
Количество просмотров90K
Всем привет. Удивительно, но ответ на этот вопрос (точнее, «как сделать всё так, чтобы было как раньше») слабо освещён в рунете. Да и в целом готовое решение ещё нужно поискать.
Однако проблема требует решения т.к. система восстанавливает после перезагрузки далеко не все приложения.

Итак:
Читать дальше →
Всего голосов 48: ↑42 и ↓6+36
Комментарии293

Изучаем ферзя (часть 3)

Время на прочтение8 мин
Количество просмотров29K


Ну вот, мы и дошли до ферзя. Пожалуй это самая легкая после ладьи и слона в объяснении ходов фигура, но далеко не самая простая для понимания. Сила, мощь, пространство — вот слова которые можно применить к этой фигуре. Но научиться пользоваться ферзем — это то же самое что научиться ездить на Ferrari — кажется просто, но с силой двигателя надо еще совладать.

А теперь давайте приступим к ферзю. Вперед!
Читать дальше →
Всего голосов 19: ↑17 и ↓2+15
Комментарии22

Изучаем ладью (Часть 1)

Время на прочтение9 мин
Количество просмотров58K
Начинаю описывать методику преподавания шахмат по которой преподаю я. Советы что надо соблюдать описаны во введении «Дюжина советов – как научить ребенка шахматам. И не только».. Перед прочтение этой статьи — прочитайте введение. А под катом начальные темы методы преподавания шахматных правил. Данная методика основана на курсе И.Г. Сухина «Шахматы — школе» но с некоторыми моими авторскими изменениями и советами. Думаю что у других преподавателей по данному курсу есть свои наработки.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии73

Дюжина советов – как научить ребенка шахматам. И не только

Время на прочтение9 мин
Количество просмотров81K
Вступление для цикла статей – «Как научить своего ребенка шахматам».

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

Данный текст служит своеобразным вступлением для последующего цикла статей. В нем я опишу особенности с которыми Вам придется столкнуться при загрузке в мозг ребенка шахматных знаний.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Комментарии52

PVS-Studio — дополнительная страховка медицинского программного обеспечения

Время на прочтение4 мин
Количество просмотров4.7K
PVS-Studio спешит на помощьОшибки в программном обеспечении могут приводить не только к материальным потерям, но и повредить здоровью людей. Например, артисты на сцене театра могут получить травму, если вдруг одна из декораций начнёт опускаться на сцену не вовремя. Однако более очевидна взаимосвязь между ошибками в коде и вредом здоровью в медицинском программном обеспечении. Давайте поговорим на эту тему.
Читать дальше →
Всего голосов 38: ↑31 и ↓7+24
Комментарии5

Scrum vs Kanban: в чем разница и что выбрать?

Время на прочтение7 мин
Количество просмотров315K
Когда существуют варианты – важно не ошибиться и изучить все детали и возможности, чтобы остановиться на лучшем. Выбирать между методами управления разработкой не всегда просто, особенно если это Scrum и Kanban.

image
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии18

Неожиданно простая и действенная техника улучшает запоминание

Время на прочтение6 мин
Количество просмотров59K

И она помогает всем, от студентов до пациентов с болезнью Альцгеймера


image

Когда вы пытаетесь запомнить новый материал, легко поддаться искушению считать, что чем больше усилий вы приложите, тем больше вы сможете потом вспомнить. Однако периодические перерывы, во время которых вы буквально не должны ничего делать, могут оказаться именно тем, что вам нужно для повышения эффективности. Приглушите свет, сядьте, наслаждайтесь 10-15 минутами тихих размышлений, и вы обнаружите, что вы запомнили только что выученные факты гораздо лучше, чем если бы пытались провести это время более «продуктивно».

Хотя уже хорошо известен тот факт, что при изучении нового нужно знать меру, новое исследование подтверждает, что во время подобных перерывов необходимо стремиться к «минимизации помех» – намеренно избегать активности, которая может помешать деликатному процессу формирования памяти. Никаких дел, проверки электронной почты, веб-серфинга. Вам нужно дать мозгу шанс перезарядиться без всяких отвлекающих действий.
Читать дальше →
Всего голосов 31: ↑25 и ↓6+19
Комментарии45

Медитация — древний хакинг реальности в современности

Время на прочтение12 мин
Количество просмотров120K


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


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


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


Здесь мы прикоснемся к одному из базовых методов, который применялся с древности для хакинга реальности — медитации.


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


БОНУС — наверное мы все любим чудеса. Как насчет того, чтобы увеличить работоспособность мозга и продлить жизнь? В статье мы рассмотрим первый хак реальности для продления бодрой жизни, научим как его применять, приведем научные доказательства его эффективности и то, как самим проверить как он сработал на физическом уровне.

Читать дальше →
Всего голосов 46: ↑29 и ↓17+12
Комментарии145

Автоматика из ДНК и белков: что у нее общего с электроникой?

Время на прочтение7 мин
Количество просмотров19K
(ответ биолога на статью «Вы неправильно пишете животных»)

image

В каждой клетке есть тысячи генов. Никогда не бывает так, чтобы они все работали одновременно. Клетки мышц, печени и мозга несут одинаковый набор генов. Они такие разные, потому что в них работают разные гены. Все клетки умеют включать и выключать отдельные гены в ответ на разные внешние воздействия. То есть система, которая управляет активностью генов — это такая система автоматического управления. Ученые хотят понимать, как такая автоматика работает, чтобы уметь ее чинить и взламывать. Например, в клетках человека есть система из примерно трехсот генов и белков, которая управляет делением клетки. Когда она ломается и клетка начинает все время делиться, возникает рак.
Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии31

GR8 CUL8R – WTF?!?! Разбираемся в популярных сокращениях на английском

Время на прочтение6 мин
Количество просмотров42K
Переписка стала быстрой. Онлайн-общение победило и существенно упростило письменный и разговорный английский. Люди все чаще используют аббревиатуры, а то и вовсе стикеры. И не только тинейджеры. Взрослые серьезные профессионалы, время которых дорого, тоже часто отвечают на сообщения невразумительным набором букв. Относиться к этому можно как угодно, но разбираться в сокращениях надо. Мы разобрали для вас основные и самые полезные буквосочетания, чтобы вы могли беседовать на равных с современным носителем языка.


Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии33

Информация

В рейтинге
Не участвует
Откуда
Россия
Зарегистрирован
Активность