Pull to refresh
21
0
Yevgeniy Logachev @infrapro

User

Send message

Настройка VSCode для программирования stm32 в Linux и не только в Linux

Reading time7 min
Views26K

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

Всё ниже описанное является следствием моего личного опыта, и ни на какую истинность не претендует. Все советы рассчитаны не людей только решившихся на переход с AVR на STM32

Вопросы типа почему Linux, VSCode и прочее, думаю, освещения не требуют. Считаю, что все заинтересованные в вопросе, на эти мелочи давно нашли СВОЙ ответ. Однако отмечу, в Винде всё это тоже работает, проверено, и проекты спокойно переживают миграцию между машинами.

Пожалуй начнём!

Читать далее
Total votes 32: ↑30 and ↓2+28
Comments35

Трояны и бэкдоры в кнопочных мобильных телефонах российской розницы

Reading time15 min
Views278K

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

Читать далее
Total votes 581: ↑580 and ↓1+579
Comments370

Необычный дуалбут: ноутбук с «двойным дном»

Reading time15 min
Views80K

Не так давно на Habr Q&A я наткнулся на интересный вопрос — как сделать, чтобы два жестких диска не видели друг друга? Чтобы вирус, попав на одну систему, никоим образом не мог заразить другую. В ответах предлагали достаточно стандартные способы — использовать полнодисковое шифрование, отключить диск в диспетчере устройств и даже поставить переключатель на питание. Но что если взглянуть на задачу совершенно с другого угла и сделать всё средствами самого HDD? Да-да, сегодня мы снова погружаемся в пучины модификации прошивок и реверс-инжиниринга!
Узнать подробности
Total votes 361: ↑357 and ↓4+353
Comments122

50 оттенков жёлтого. Проверяем на практике технологию Retrobright

Reading time7 min
Views58K

Пару недель назад на Хабре вышла хорошая статья с объяснением химических процессов, которые происходят при пожелтении и отбеливании ABS-пластика. Автор доступно изложил теорию, ну а я хотел бы дополнить её практикой. Так совпало, что где-то год назад я начал собственные эксперименты по восстановлению цвета. Пост будет в первую очередь интересен любителям ретро-железа, но не только им, поскольку изделия из такой пластмассы есть почти в каждом доме. Материал получился очень большим, так что я разобью его на две части.

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

Читать далее
Total votes 178: ↑178 and ↓0+178
Comments86

Как НЕ СТОИТ использовать I2P и TOR

Reading time5 min
Views77K

Или, сказ о неожиданных способах раскрытия пользователей распределенных сетей-анонимайзеров.

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

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

Читать далее
Total votes 93: ↑82 and ↓11+71
Comments155

Масштабируем WebSocket соединения на Go

Reading time21 min
Views31K
Мессенджер Авито – это:

  • 12 m уникальных пользователей в месяц;
  • Версии для всех современных платформ (Web, iOS, Android);
  • Достаточно нагруженное приложение – около 800 тысяч подключений онлайн по WebSocket (основной протокол общения с пользователями).

Александр Емелин из компании Авито — автор проекта Centrifugo — open-source сервера real-time сообщений, где основной протокол передачи данных как раз WebSocket. Сервер используется в проектах Mail.Ru (в том числе в Юле), а также во внутренних проектах Badoo, ManyChat, частично Авито и за рубежом (например, Spot.im). Сейчас сервер базируется на доступной всем Go-разработчикам библиотеке Centrifuge.

На конференции Golang Conf 2019 Александр рассказал, как команда Авито решала проблемы при работе с WebSocket — как про детали, касающиеся Go в частности, так и вообще про работу с большим количеством постоянных соединений.


Читать дальше →
Total votes 51: ↑50 and ↓1+49
Comments1

Приседания по программе Пола Уэйда

Reading time22 min
Views48K

image


Техника / как выполнять


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


Перед началом приседаний надо посмотреть на позицию ног. Также как ладони продолжают руки, так и от положения ступней зависит позиция ног. Начинайте, расположив ступни симметрично с носками развёрнутыми наружу под углом 30-40 градусов. Однако, продолжайте экспериментировать, чтобы добиться удобного положения под себя. Колени смотрят в ту же сторону, что и носки. Они не должны быть параллельны друг другу.


image


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


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

Читать дальше →
Total votes 44: ↑32 and ↓12+20
Comments32

Умное зеркало своими руками

Reading time6 min
Views69K
Кому нужно умное зеркало? Много кому. Я, когда такое увидел, тут же захотел выбросить наш календарь с маркерной доской. Майкл Тиув проделал потрясающую работу по созданию отличной расширяемой платформы для умных зеркал, которая позволяет всем желающим самостоятельно делать такие зеркала. Если вам эта тема интересна — загляните на сайт проекта MagicMirror.

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

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


Умное зеркало
Total votes 68: ↑62 and ↓6+56
Comments32

Вскрытие трафика в публичных сетях

Reading time9 min
Views67K


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

Шучу. На самом деле передо мной стояла задача понять две вещи:

  1. Насколько опасно пользоваться публичным WiFi в 2020 году, в мире где господствуют браузеры и сайты с повсеместно победившими технологиями HTTPS (на основе TLS 1.1+) и HSTS
  2. Сможет ли человек моего уровня знаний (не самого высокого) “залезть” в чужой браузер и стащить ценные данные.

Спойлер
А в спойлере спойлер:
  1. Да, Опасно!
  2. Вполне сможет
Total votes 66: ↑64 and ↓2+62
Comments22

Аппаратный взлом жёсткого диска

Reading time14 min
Views122K

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

Неспециалисту может показаться, что оборудование HD должно быть довольно простым: достаточно всего лишь устройства, подключаемого к порту SATA, которое может позиционировать свои головки чтения/записи и считывать или записывать данные на пластины. Однако их работа намного сложнее: разве жёсткие диски не занимаются обработкой сбойных блоки и атрибутов SMART, и не имеют кэша, с которым тоже каким-то образом нужно работать?

Всё это подразумевает, что в жёстком диске есть что-то умное, а умность устройства подразумевает возможность его взлома. Меня всегда интересовали возможности взлома, поэтому я решил узнать, как жёсткие диски работают на немеханическом уровне. Подобные исследования уже проводились с разными видами оборудования, от PCI-карт расширения и встроенных контроллеров до ноутбуков и даже клавиатур Apple. Обычно исследования проводились для того, чтобы доказать, что возможность взлома этих устройств может привести к компрометации ПО, поэтому я захотел воспользоваться тем же подходом: создавая этот хак, я стремился создать жёсткий диск, способный обходить программную защиту.
Total votes 129: ↑128 and ↓1+127
Comments41

Используем macOS для удалённой сборки Unreal Engine билдов из-под Windows

Reading time4 min
Views3.6K
Любой пользователь ОС Windows, вставший на увлекательный путь кросс-платформенной разработки, однажды сталкивается с проблемой невозможности сборки «яблочных» билдов из рабочего окружения: для сборки и подписания приложения требуется девайс с macOS.

У нас есть два варианта:

  1. Неоптимальный: каждый раз бегать к маку, синхронизировать проект и запускать сборку.
  2. Оптимальный: настроить удалённую сборку на вашем / арендованном / офисном маке.

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

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


Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments9

Kubernetes tips & tricks: удобные заготовки для kubectl

Reading time5 min
Views15K
Внутри компании мы активно делимся между собой полученными знаниями: не только в виде формальных wiki-инструкций, но и сообщениями в Slack (а чтобы ничего не терялось, предусмотрена умная система поиска, но это уже отдельная история…). У нас накопилось уже большое количество разнообразных заготовок для консольных операций в Kubernetes с kubectl. Про них и пойдет речь в этой статье.



Какие-то команды могут оказаться повседневной обыденностью для некоторых читателей, но если найдутся и те, кто откроет для себя новое, улучшив тем самым свою эффективность, — цель статьи будет достигнута.
Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments5

История реализации обратной совместимости с PS1 на Sony Playstation 2

Reading time9 min
Views20K

4 марта мы отметили юбилейную дату — прошло 20 лет после выпуска PlayStation 2 в Японии, за которым в том же 2000 году последовали продажи в Европе и Северной Америке. Без сомнения, всевозможные игровые медиа будут публиковать списки и ретроспективы в память одной из самых успешных и значимых с точки зрения культуры консолей. Скорее всего, в основном внимание будет сосредоточено на множестве уникальных и разнообразных игр, поспособствовавших превращению консоли в такую мощную силу, но не стоит забывать и об одном из фундаментальных столпов системы: обратной совместимости с подавляющим большинством игр из библиотеки первой PlayStation.

Эта особенность, которая ранее в основном была присуща только портативным консолям Nintendo и некоторым старым системам Sega, позволила создать ощущение связи поколений оборудования, которое до этого не часто возникало в мире консолей. Она дала PS2 фору, которой конкуренты могли только завидовать. Это стало наследием, в разной степени сохранявшимся во всех последующих системах Sony до PlayStation 4, когда Джим Райан в интервью Time произнёс знаменитую фразу: «Да кто будет в это играть?», отказавшись удовлетворять запрос потребителей в такой технологии.

Как же быстро поменялась ситуация в этом отношении.

Излишне говорить, что благодаря обеспечению компанией Microsoft обратной совместимости с Xbox и Xbox 360, ставшей важным аргументом к покупке Xbox One, отношение Sony к этой потребности изменилось: теперь обе компании стремятся в той или иной форме реализовать в своих следующих консолях обратную совместимость. Разумеется, все эти усилия должны были с чего-то начаться, и для Sony начало было положено бывшим инженером компании, о котором вы, скорее всего, никогда не слышали: Тэцуи Ииды (Tetsua Iida).
Читать дальше →
Total votes 51: ↑49 and ↓2+47
Comments16

Сказ о том, как я автоматизировал квартиру с помощью Node-RED. Часть I

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


Total votes 85: ↑84 and ↓1+83
Comments42

Играем с огнем: запускаем произвольный код на девелоперском iPhone 7

Reading time16 min
Views17K

image


Под Новый год к нам в руки попал программатор JC PCIE-7. В процессе использования выяснилось, что его функционал ограничен, однако вещица оказалась с двойным дном. Внутри этого программатора мы обнаружили плату iPhone 7 специальной отладочной версии. За новогодними приключениями в мире исследования и отладки «яблочной» продукции – добро пожаловать под кат!

Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments9

Реверс USB-SATA-адаптера (история одного стажера)

Reading time16 min
Views28K

Предыстория


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


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


Читать дальше →
Total votes 100: ↑100 and ↓0+100
Comments34

Особенности профилирования программ на C++

Reading time13 min
Views23K

Временами бывает нужно отпрофилировать производительность программы или потребление памяти в программе на C++. К сожалению, зачастую это сделать не так просто как может показаться.

Здесь будут рассмотрены особенности профилирования программ с использованием инструментов valgrind и google perftools. Материал получился не очень структурированным, это скорее попытка собрать базу знаний «для личных целей», чтобы в будущем не приходилось судорожно вспоминать, «а почему не работает то» или «а как сделать это». Скорее всего, здесь будут затронуты далеко не все неочевидные случаи, если вам есть что добавить, пишите пожалуйста в комментарии.

Все примеры будут запускаться в системе linux.
Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments13

Краткая история космических микропроцессоров, часть первая

Reading time29 min
Views40K
Десятого июля 1962 года с космодрома на мысе Канаверал стартовала ракета “Тор” с первым коммерческим телекоммуникационным спутником на борту. Telstar-1 стал зарей новой эры космонавтики, показавшей, что космос может приносить людям реальную пользу. Этот аппарат ждало большое будущее, но днем раньше в небе над атоллом Джонсон, расположенном в пустынной части Тихого океана, взорвалась атомная бомба Starfish Prime. Взрыв уничтожил три сотни уличных фонарей на расположенных в полутора тысячах километров Гавайях, а также создал огромное количество свободных электронов, подхваченных магнитным полем Земли в рукотворный радиационный пояс. Каждый раз, когда Telsat-1 проходил через этот пояс, продвинутая транзисторная начинка набирала дозу радиации, и уже к ноябрю 1962 года он перестал работать. С изучения последствий этого инцидента началась история защиты космической электроники от радиации.

С высотными ядерными взрывами, к счастью, довольно быстро завязали, но и без них работы достаточно, и требования по надежности и долговечности, предъявляемые к современным спутникам, становятся все амбициознее. Рассказать обо всем невозможно, но я постараюсь кратко осветить прошлое и настоящее космических микропроцессоров из разных стран. Почему именно микропроцессоров? Про них больше всего информации и они лучше понятны неспециалистам. Статья получилась длинной, поэтому я разбил ее на две части: ранняя история на примере США и Европы (под катом) и современная – на примере России (вот тут). Поехали!
Читать дальше →
Total votes 111: ↑111 and ↓0+111
Comments47

Всё, что вы хотели знать о МАС адресе

Reading time9 min
Views211K

Всем известно, что это шесть байт, обычно отображаемых в шестнадцатеричном формате, присвоены сетевой карте на заводе, и на первый взгляд случайны. Некоторые знают, что первые три байта адреса – это идентификатор производителя, а остальные три байта им назначаются. Известно также, что можно поставить себе произвольный адрес. Многие слышали и про "рандомные адреса" в Wi-Fi.


Разберемся, что это такое.


МАС адрес (media access control address) – уникальный идентификатор, назначенный сетевому адаптеру, применяется в сетях стандартов IEEE 802, в основном Ethernet, Wi-Fi и Bluetooth. Официально он называется «идентификатором типа EUI-48». Из названия очевидно, что адрес имеет длину в 48 бит, т.е. 6 байт. Общепринятого стандарта на написание адреса нет (в противоположность IPv4 адресу, где октеты всегда разделяют точками).Обычно он записывается как шесть шестнадцатеричных чисел, разделенных двоеточием: 00:AB:CD:EF:11:22, хотя некоторые производители оборудования предпочитают запись вида 00-AB-CD-EF-11-22 и даже 00ab.cdef.1122.

Читать дальше →
Total votes 111: ↑110 and ↓1+109
Comments74
1
23 ...

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity