[Перевод] MomBoard: E-Ink дисплей для родственника с амнезией
Моя матушка страдает амнезией, и примерно два года назад я поставил у неё дома E-Ink дисплей, чтобы упростить ей самостоятельную жизнь. В итоге этот дисплей прекрасно работает по сей день, и я решил поделиться основными моментами его настройки для тех, кому он может пригодиться в похожих ситуациях....
[Перевод] Реализация подобия Apple Vision Pro
Не так давно я был свидетелем запуска Apple Vision Pro. Презентация оказалась очень интересной, но больше всего моё внимание зацепила одна деталь — дистанционное управление вводом с помощью пальцев. Выглядит очень интуитивно — использовать перемещение и сведение пальцев для управления курсором на...
Запуск узла Hidden Lake на языке Go
Анонимная сеть Hidden Lake является в своей области уникальным и достаточно своеобразным проектом, т.к. базируется на совершенно иных методах и подходах анонимизации трафика, чем большинство ныне нам известных сетей. Из-за того, что сеть является относительно новой - она часто дополняется и...
DPDK: 100 больших и маленьких багов
В своей обители в Р'лайхе мёртвый Ктулху спит в ожидании своего часа. А в C коде проекта DPDK спит множество ошибок, и тоже в ожидании своего часа. Давайте посмотрим, какие из них может выявить анализатор PVS-Studio. Читать дальше →...
Реализация режимов шифрования на языке RUST
После долгого перерыва мы возвращаемся в мир криптографических алгоритмов. В этот раз мы рассмотрим некоторые широко известные режимы шифрования блочных шифров, такие как ECB, CBC, CFB, OFB, CTR и подготовим небольшую архитектурную задумку, о которой я расскажу под катом. Если вы еще не видели мои...
Анонимная сеть в 100 строк кода на Go
Прошло уже более года с тех пор как я написал статью - Анонимная сеть в 200 строк кода на Go. Пересмотрев её однажды осенним вечером я понял насколько всё в ней было ужасно - начиная с самого поведения логики кода и заканчивая его избыточностью. Сев за ноутбук и потратив от силы 20 минут у меня...
Портируем игры на практике
Дисклеймер: употребляемые слова вроде «портируем», «хакаем» и «реверсим» совсем не значат, что статья предназначена исключительно для гиков! Я стараюсь писать так, чтобы было понятно и интересно абсолютно всем! Наверняка многие мои читатели так или иначе слышали новости о том, что известные...
[Перевод] Портируем декодер AV1 с С на Rust для повышения быстродействия и безопасности
AV1 становится всё более значимым видеоформатом, которому требуется безопасный и производительный декодер. Исходя из этой идеи, мы в тандеме с командой из Immutant создали rav1d, портировав на Rust написанный на С декодер dav1d. Перед вами первая из двух статей, посвящённых решению этой задачи. —...
Ему не место на помойке: хакаем 15-летний электронный переводчик и пишем под него приложения
Дисклеймер: Статья очень подробная и во всех красках "простым языком" описывает процесс хакинга и программирования под такой необычный девайс. Так что даже если вас не интересуют электронные переводчики и минипк, статья может оказаться для вас занимательной! Я всегда любил находить новые применения...
Google CTF 2024 Quals — auxin2
Определенный организаторами в "миски" auxin2 оказался любопытным таском из разряда эзотерического программирования - в данном случае виртуальной системы varvara, работающей на машине uxn. Во время соревнования мне удалось решить ее первым (в составе MSLC), хотя это заняло большую часть первого дня...
DownUnderCTF 2024 — эксплуатация PKI.js
Рассмотрим два связанных между собой задания DownUnderCTF 2024, требующих обмана реальной криптографической библиотеки PKI.js - в них разобралось мало команд (у второго набралось всего одно решение), и, хотя я сам не успел закончить работу над ними во время соревнования, изящность и реалистичность...
[Перевод] Получение TOTP-токенов на умнейших из тупых часов
Недавно получил свой заказ с новой логической платой от Sensor Watch для вездесущих классических часов Casio F-91W. Модель F-91W не требует представления. Это наверняка самые популярные кварцевые часы в мире, которых в общей сложности было продано около 90 миллионов. В купленной мной плате Sensor...
Анонимный RAT при глобальном наблюдателе
Удалённый доступ может быть как очень опасной программной функцией, так и очень полезной - всё зависит от контекста, намерений, задач и целей с которыми подобные программы будут применяться. Такая же ситуация с анонимностью и анонимными коммуникациями в общем. Они могут как скрывать злонамеренную...
Опасность устарела: несколько важных нюансов в новых стандартах C++
Undefined behavior (UB) — боль, знакомая каждому разработчику со стажем; эдакий «код Шредингера», когда не знаешь, правильно тот работает или нет. К счастью, стандарты языка С++20/23/26 привнесли относительно неопределенного поведения кое-что новое. И довольно важное, если вы — архитектор ПО, а...
«Я стал тимлидом и боюсь». Что почитать и зачем
Стресс, связанный с переходом на менеджерскую роль, способен пошатнуть любые, даже самые крепкие нервы. А если ваше решение стать руководителем желанное и осознанное, то вы легко можете загнать себя в ловушку из двух стен: тревожности и перфекционизма. Меня зовут Александр Шиндин, я — технический...
Безопасное проектирование программного обеспечения. Конфиденциальность и Шифрование
Привет Хабр! В современном мире, где информационные технологии играют ключевую роль во всех аспектах жизни, безопасность программного обеспечения стала одной из самых важных задач для разработчиков. С каждым годом количество кибератак увеличивается, а их методы становятся всё более изощренными. В...
Реализация Streebog256 и Streebog512 на языке RUST
Как и планировалось, следом за реализацией семейства хэш-функций SHA, появляется Стрибог и тоже в двух версиях, для 256 и 512 бит на выходе. Надеюсь эта статья будет полезна другим студентам. Более опытные разработчики в комментариях приветствуются. Весь код сохранен в репозитории GitVerse. Читать...
Безопасность первична: сетевое взаимодействие и привилегии контейнеров в Docker
Привет, Хабр! Меня зовут Эллада, я специалист по информационной безопасности в Selectel. Продолжаю рассказывать о безопасности в Docker. В новой статье поговорим о сетевом взаимодействии контейнеров, правильном управлении привилегиями и ограничении потребления системных ресурсов. Поделюсь, почему...
Назад