Как стать автором
Обновить
12
0
Роман Дудин @dudinroman

Программист

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

Как нашли бэкдор в радиосвязи TETRA — подробный разбор

Уровень сложностиСредний
Время на прочтение19 мин
Количество просмотров31K

Неприступных крепостей не бывает. Опасную брешь, то есть бэкдор, недавно обнаружили в шифрованном стандарте радиосвязи TETRA. А ведь он вот уже 25 лет используется военными, экстренными службами и объектами критической инфраструктуры по всему миру. Самое интересное, что на технические детали и контекст этой истории почти никто не обратил внимания.

Мы изучили статьи и доклады исследователей и собрали всю суть. Перед вами — подробная история взлома TETRA.

Читать далее
Всего голосов 221: ↑220 и ↓1+219
Комментарии33

Сканер установленных перехватчиков в памяти процесса

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


В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c обработкой форварда функций и ApiSet редиректов.
Будет показана методика доступа в 64 битное адресное пространство чужого процесса из 32 битного кода через статически сформированный ассемблерный шлюз, так и подход с применением автоматически генерируемого гейта.
Будет дано много комментариев «почему» применяется тот или иной подход, а также описание различных проблемных ситуаций, основанных в том числе как на собственном опыте, так и на разборе кода системного загрузчика, поэтому будет интересна и подготовленным специалистам.
Читать дальше →
Всего голосов 54: ↑54 и ↓0+54
Комментарии24

Заблуждения об английском, которым нас научила школа

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

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

Результаты этих занятий печальны. После сотен академических часов понимают и говорят ученики с трудом, но зато прочно запоминают устаревшие понятия, формализмы и локальные британские обороты речи. Этот багаж остается с ними надолго (или лучше сказать “с нами”, поскольку автор статьи после школы был точно в такой же ситуации). Избавиться от него обычно помогает только общение с носителями языка, которые внезапно не понимают, на каком языке им что-то пытается сказать этот странный русский. Или прочтение подобных статей, заботливо сотканных мозолистыми руками случайных авторов из интернета. То есть, основного источника знаний любого уважающего себя современного человека.

Читать далее
Всего голосов 181: ↑168 и ↓13+155
Комментарии415

Почему чип Apple M1 такой быстрый?

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

Опыт использования новых маков с М1 начинает расставлять точки над i. Эти чипы быстрые. Очень быстрые. Но почему? В чем магия?

Я смотрел видео на Youtube, где автор купил iMac в прошлом году максимальной конфигурации. Машина с 40+ Gb ОЗУ стоила ему около 4000$. Он смотрел с недоверием, как его гипердорогой iMac был разнесен в пух и прах новеньким Mac mini с М1 на борту, который стоил около 700$.

В реальном мире, тест за тестом, макбуки с М1 не просто превосходят топовые компьютеры Intel прошлых поколений. Компьютеры Mac просто уничтожают их. С недоверием люди стали спрашивать, как такое возможно?

Читать далее
Всего голосов 115: ↑73 и ↓42+31
Комментарии550

Пора обновить ваш монитор

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

Иллюстрация: Юлия Прокопова

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

Поэтому я оптимизирую настройки, чтобы показывать действительно, действительно хорошие буквы. Для этого необходим хороший монитор. Не просто нужен, а ОБЯЗАТЕЛЕН. А под «хорошим» я имею в виду настолько хороший, насколько это возможно. Это мои мысли, основанные на моём собственном опыте того, какие мониторы лучше подходят для программирования.
Читать дальше →
Всего голосов 181: ↑148 и ↓33+115
Комментарии991

C++ быстрее и безопаснее Rust, Yandex сделала замеры

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

Спойлер: C++ не быстрее и не медленнее и вообще смысл не в этом. Эта статья является продолжением славных традиций развенчания мифов крупных российских компаний о языке Rust. Предыдущая была "Go быстрее Rust, Mail.Ru Group сделала замеры".


Недавно я пытался заманить коллегу, сишника из соседнего отдела, на Тёмную сторону Rust. Но мой разговор с коллегой не задался. Потому что, цитата:


В 2019 году я был на конференции C++ CoreHard, слушал доклад Антона antoshkka Полухина о незаменимом C++. По словам Антона, Rust еще молодой, не очень быстрый и вообще не такой безопасный.

Антон Полухин является представителем России в ISO на международных заседаниях рабочей группы по стандартизации C++, автором нескольких принятых предложений к стандарту языка C++. Антон действительно крутой и авторитетный человек в вопросах по C++. Но доклад содержит несколько серьёзных фактических ошибок в отношении Rust. Давайте их разберём.

Всего голосов 230: ↑214 и ↓16+198
Комментарии1196

Переезд в Иннополис

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


В 2017 году мы с семьёй переехали в Иннополис.

За 3 года жизни эйфория прошла и сформировалось какое-то устойчивое мнение об этом городе.

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

Меня никто не просил писать эту статью и тем более не платил за неё. В общем, это не заказная «приезжайте к нам, у нас тут классно». Пишу всё так, как вижу своими глазами.
Читать дальше →
Всего голосов 212: ↑206 и ↓6+200
Комментарии480

Что делает Rust универсальным языком программирования

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

Владей и заимствуй


Долгое время Rust позиционировался исключительно как язык для системного программирования. Попытки использовать Rust для высокоуровневых прикладных задач зачастую вызывали усмешку у значительной части сообщества: зачем использовать инструмент в том качестве, на которое он не рассчитан? Какая польза от возни с типами и анализатором заимствований (borrow checker), если есть Python и Java со сборкой мусора? Но другая часть сообщества всегда видела потенциал Rust именно как языка прикладного, и даже находила его удобным в использовании для быстрого прототипирования — во многом благодаря его особенностям, а не вопреки им.

Читать дальше →
Всего голосов 83: ↑78 и ↓5+73
Комментарии234

Рабочие места разные, черные, белые, красные

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


Не так давно мы объявили конкурс рабочих мест. Хотя изначально контест был ориентирован на айтишников, но благодаря сарафанному радио в нем успели отметиться люди и других специальностей (и даже те, кто еще только учится). Фотографий было прислано ну очень много, практически со всего мира. По самым ярким снимкам можно практически составить психологический портрет человека. Безумно приятно, что столько людей откликнулось на наш призыв и поделились своим сокровенным — частичкой своего дома. В преддверии последней недели розыгрыша, на которой 15го числа будет разыграна та самая четвертая плойка, выделили 11 «номинаций» в которых отобрали по 3-4 самых-самых крутых, по нашему скромному мнению рабочих мест, поэтому предупреждаем сразу — в посте много фото. Выбор был очень непростым, потому что количество крутых рабочих мест просто зашкаливает.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии22

Чтобы пацанам было не стыдно показать

Время на прочтение3 мин
Количество просмотров106K
Я стар и уже глуп, а у вас всё впереди, уважаемый программист. Но позвольте дать вам один совет, который наверняка поможет в вашей карьере – если, конечно, вы планируете остаться программистом.

Советы типа «писать красивый код», «хорошо комментировать свои доработки», «изучать современные фреймворки» — очень полезные, но, увы, второстепенные. Они идут прицепом к главному качеству программиста, которое надо в себе развивать.

Вот это главное качество: пытливый ум.
Читать дальше →
Всего голосов 315: ↑291 и ↓24+267
Комментарии172

Что нужно знать о тренажерах для памяти

Время на прочтение5 мин
Количество просмотров19K
Кто из нас не хотел бы учиться быстрее и с лету запоминать новую информацию? Исследователи связывают сильные когнитивные способности с множеством факторов. Они определяют не только способность к запоминанию, но и качественную жизнь — здесь приводится успешная карьера, активная социализация и возможность просто интересно проводить свободное время.

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

Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии11

CreateRemoteThread для Linux

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

Мицуха несёт новые потокиВ WinAPI есть функция CreateRemoteThread, позволяющая запустить новый поток в адресном пространстве другого процесса. Её можно использовать для разнообразных DLL-инъекций как с нехорошими целями (читы в играх, кража паролей, и т. д.), так и для того, чтобы на лету исправить баг в работающей программе, или добавить плагины туда, где они не были предусмотрены.


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


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


Для понимания текста потребуются базовые знания о системном программировании под Linux: язык Си, написание и отладка программ на нём, осознание роли машинного кода и памяти в работе компьютера, понятие системных вызовов, знакомство с основными библиотеками, навык чтения документации.

Читать дальше →
Всего голосов 76: ↑75 и ↓1+74
Комментарии27

Гонка вооружений

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


В мае на Google I/O 2019 было объявлено о новом фреймворке для разработки декларативного UI под Android с названием Jetpack Compose. Через месяц на WWDC 2019 было объявлено о декларативном UI фреймворке под IOS с названием SwiftUI. После этих конференции стало понятно, к чему стремится мобильная разработка, и мне захотелось разобраться, что можно сделать с помощью этих фреймворков на данный момент и в чем разница между ними.
Читать дальше →
Всего голосов 21: ↑15 и ↓6+9
Комментарии10

О том, как я переизобретал медиацентр

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

Raspberry Pi 3 model B


С приобретением нового телевизора возник вопрос, какую приставку для него брать. Возможностей Chromecast уже не хватало и хотелось полноценный медиацентр на Kodi. Телевизор со SmartTV покупать не вариант — Kodi можно установить только на Android (из SmartTV платформ), а к нему я отношусь без особой любви, к тому же он уже внутри телевизора, а не в отдельной коробке, которую можно безбоязненно перепрошивать. Ну а зачем мне полноразмерный Android, со всеми его сервисами и программами в виртуальной машине, без полноценного GNU/Linux окружения и, скорее всего, без обновлений? По той же причине также были отметены многочисленные готовые медиацентры на Android, хотя та же приставка от Xiaomi довольно хороша. Можно было бы подумать насчёт SmartTV на TizenOS, но для него нет Kodi.

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

Как «чайник» делал UART <-> RS232 конвертер для Orange Pi

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

Введение



Началось всё с того, что я купил себе Orange Pi, поддавшись рекламному слогану «аналог Rasberi Pi всего за 15$». Девайс был заказан на алиэкспрессе и прибыл через пятнадцать дней ещё в феврале. Тогда же были куплены все необходимые дополнительные компоненты: радиатор на процессор, 15 ваттный блок питания, карточка micro SD объемом 32 Гб, HDMI-кабель для подключения монитора. За неимением времени он пылился в ящике стола аж до июня. И вот наконец дошли руки проверить его работоспособность.

Читать дальше →
Всего голосов 30: ↑20 и ↓10+10
Комментарии48

Немного реверс-инжиниринга USB flash на контроллере SK6211

Время на прочтение7 мин
Количество просмотров32K
Недавно, обсуждая нюансы работы USB flash на данном ресурсе, столкнулся с тем, что основная масса технически грамотных людей в силу отсутствия литературы не имеет представления об основных принципах работы NAND контроллеров, в связи с чем появляется масса далеких от реальности заявлений об особенностях оптимизации микропрограмм устройств, либо делаются неверные выводы о причинах выхода из строя самих устройств.

Дабы немного развеять иллюзии, попробуем методами реверс-инжиниринга проанализировать алгоритмы работы NAND контроллера производства SKYMEDI SK6211 на примере готового изделия в виде USB flash 8Gb, выпущенной компанией Kingston.


рис. 1
Читать дальше →
Всего голосов 56: ↑54 и ↓2+52
Комментарии41

А не сделать ли нам домашнюю файлопомойку на 90 терабайт?

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


Собственно идея летает давно и начала свои корни с публикации компании backblaze как сделать дешевое петабайтное хранилище.

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

Но мы не ищем простых путей, всем кому интересно как это сделать своими руками прошу подкат.
Читать дальше →
Всего голосов 174: ↑148 и ↓26+122
Комментарии366

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

Время на прочтение3 мин
Количество просмотров136K
Господа! Только что на сайте Imagination Technologies вышло исправленное издание бесплатного учебника на русском языке «Цифровая схемотехника и архитектура компьютера» Дэвида Харриса и Сары Харрис (кстати, они не супруги и вообще не родственники – просто так совпало). Предыдущее издание этого учебника вышло год назад, пост о нем собрал 145,000 просмотров на Хабре, количество скачиваний с британского сайта вызвало у его британских админов подозрение, что их атакуют русские хакеры, а впоследствие команду переводчиков лично благодарили за учебник преподаватели МФТИ, МВТУ им. Баумана, харьковского ХНУРЭ и других университетов.

silicon_russia_ad_selected_160730_174932

Книжка содержит «введение во все», доступное способному школьнику или младшему студенту, который после ее прочтения может спроектировать, написать на SystemVerilog или VHDL и реализовать на ПЛИС несложный, но при этом совершенно настоящий конвейерный процессор. Книга написана живым языком и для введения концепций, например конечных автоматов, использует примеры типа:


Читать дальше →
Всего голосов 75: ↑73 и ↓2+71
Комментарии90

7 полезных советов по защите резервных копий от вирусов-шифровальщиков

Время на прочтение5 мин
Количество просмотров37K
Сегодня поговорим о проблеме вирусов-шифровальщиков (ransomware). Эти программы предназначены для вытягивания денег из обладателей зараженных компьютеров, поэтому их еще называют «программы-вымогатели».

Проблема вирусов-шифровальщиков затрагивает уже не только отдельно взятые персональные компьютеры, но доходит до уровня дата-центров. Для атак на инфраструктуру компаний применяются, например, Locky, TeslaCrypt и CryptoLocker. Зачастую вирусы используют уязвимости веб-браузеров или их плагинов, а также непредусмотрительно открытые вложения сообщений электронной почты. Проникнув в инфраструктуру, программа-вымогатель начинает быстрое распространение и шифрование данных.

Важной составляющей стратегии защиты данных всегда было наличие резервных копий, из которых можно выполнить восстановление. Рассмотрим же несколько рекомендаций от моего коллеги Rick Vanover относительно того, как как уберечь СХД резервных копий от шифровальщиков (вне зависимости от того, используете вы решения Veeam или других производителей). Итак, добро пожаловать под кат.


Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии49

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность