Обновить
176.16

Реверс-инжиниринг *

Расковырять и понять как работает

Сначала показывать
Порог рейтинга
Уровень сложности

Анализ STL моделей с использованием Python

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

В программных продуктах для работы с STL, таких как Geomatix Design X, Wrap, NX и др., функционал обязательно включает сегментацию STL модели на отдельные грани. В свободно распространяемом ПО, однако, инструменты для сегментации зачастую отсутствуют. В данной статье хочу рассказать о реализованном мной на Python алгоритме разбиения STL на отдельные грани.

Читать далее

Использование метода супер разрешения (Super Resolution) при 3d сканировании или можно ли прыгнуть выше головы

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

Как отсканировать в 3D крыло овода с разрешением 10 микрон на недорогом оборудовании. Используется метод Super Resolution - увеличение разрешения за счёт обработки большого количества сканов, снятых с разных ракурсов.

Читать далее

Разбираем bluetooth протокол RGB лампы

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров9.9K

В данной статье рассмотрим опыт реверс-инжиниринга bluetooth протокола, при помощи которого android приложение управляет цветами и эффектами работы закатной лампы. В результате будет написан небольшой генератор шфированных AES'ом сообщений на C#.

Читать далее

Настройка звукового сигнала запуска на iMac G3 1999 г. в

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

Чтобы изменить звук запуска iMac Slot Loading (модель PowerMac2,1), достаточно старой советской... нужно немного попотеть: изучить ЯП Forth, cделать реверс-инжиниринг пакета обновления, найти и расшифровать файлы, в которых записан звук, подделать контрольную сумму файлов, которые будут загружаться на компьютер. Впрочем, давайте обо всё по порядку.

Читать далее

«Хакер»: Используем отладчик для анализа 64-разрядных программ в Windows

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

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

Читать далее

Как я заставил работать Netflix на Asahi Linux

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

Год назад я купил макбук. Полгода назад macOS на нем сказала "ой, все", и он окирпичился. Я решил не переустанавливать систему, а попробовать Asahi Linux, и пока что не пожалел об этом. Хотя одна вещь все же раздражала — не работали Netflix и официальное приложение Spotify.

Если честно, Netflix мне не очень-то и нужен — у BitTorrent сейчас намного лучше UX. Но к Spotify я очень привязался, и предпочитаю интерфейс именно у официального клиента, хотя многим это и покажется странным. Но официального клиента Spotify для Linux на архитектуре aarch64 пока что не существует.

Итак, мы начинаем наш челлендж попробуй не нарушить DMCA 2023! Наша задача — понять, как смотреть Netflix на Asahi Linux, не обходя и не ломая DRM. (Без этого условия решения уместится в 280 знаков).

Читать далее

Обратное проектирование дисплея e-ink

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


Этот ценник, но чёрно-белый, без красного цвета


Одному из членов нашего сообщества удалось приобрести на eBay несколько дисплеев e-ink. Эти дисплеи используют в магазинах, где на них указывается цена товаров, которые можно купить. По сравнению с бумажными ценниками такой дисплей имеет два ключевых преимущества: текст на e-ink дисплеях может обновляться автоматически и может иметь более замысловатую графику. От обычных ЖК-экранов e-ink отличается тем, что энергия расходуется только при изменении содержимого. Это позволяет оснастить ценники батареей небольшой ёмкости и работать без замены батареи несколько лет.

Читать дальше →

Разгон игры «Fred» для ZX Spectrum

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

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

Спуститься в подземелье

Spring-потрошитель: жизненный цикл Spring Framework

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

Ни для кого не секрет, что Spring Framework один из самых популярных фреймворков для приложений на языке Java. Он интегрировал в себя самые полезные и актуальные технологии, такие как i18n, JPA, MVC, JMS, Cloud и т.п.

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

Читать далее

LockBit 3.0 (Black). Распространение в локальной сети в режиме PsExec

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

В статье рассматривается реализация нового механизма самораспространения программ‑вымогателей LockBit 3.0 (Black) в локальной сети с использованием общих сетевых ресурсов (Admin Shares) (PsExec).

Читать далее

Как сайты определяют ботов? Деобфускация Akamai Bot Manager 2.0

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

Akamai Technologies - американская компания, занимающаяся защитой веб-ресурсов от ботов с помощью своего продукта Bot Manager. В её портфолио числятся такие гиганты ритейла, как Nike, Adidas и Asos, для которых особенно важен контроль за ботами, автоматизирующими процесс выкупа редких/лимитированных товаров с целью их перепродажи по завышенной цене. В данной статье мы взглянем на скрипт антибота Akamai и рассмотрим, какие методы обнаружения через JavaScript в нём используются. Не знаете почему обнаруживается ваш selenium? Добро пожаловать!

Читать далее

PostgreSQL под капотом. Часть 4. Цикл бэкэнда

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

Приветствую!

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

Кроме нее будут рассмотрены:

— Модуль для работы с транзакциями.

— Исключения в С и их реализацию.

— Клиент‑серверный протокол.

Читать далее

Instagram* сможет работать без VPN?

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

Популярная социальная сеть была запрещена в России в 2022 году. Для многих поклонников приложения это стало настоящим ударом, а трафик Instagram* понес огромные потери: по данным Brand Analytics на октябрь 2022 года, количество авторов (блогеров) сократилось с 38 млн до 17 млн за год, а количество отправленных сообщений упало со 135 млн до 40 млн за тот же период. Теперь, вероятно, владельцы соцсети ищут новые способы вернуть свою аудиторию. Одним из них может стать работа Instagram* с уже встроенным модулем обхода блокировок в странах-цензорах.

Читать далее

Ближайшие события

Как мы чуть не взломали шифровальщик Phobos с помощью CUDA

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


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


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

Читать дальше →

Программа-вымогатель Zeppelin

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

Новый цикл статей, посвященных программам-вымогателям (ransomware). Первую статью я посвящаю семейству программ-вымогателей Zeppelin. Zeppelin изначально разрабатывались для "западного рынка", однако нередко используются для атак на российские компании. С образцом этого семейства из последних атак я и хочу познакомить вас...

Читать далее

Искусство кройки и шитья или возможность заменить игры в портативной игровой консоли SUP

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров16K

Всем привет, меня зовут Александр. Увлекаюсь программированием и разработкой электроники в свободное время. Мне бы хотелось поведать Вам, товарищи, историю одного программатора.

Читать далее

Пошаговая отладка, inline-методы, JVM

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


В Java, как известно, inline-методов нет. Но такое понятие существует в других языках, исполняющихся на JVM. Например, в Scala или Kotlin. Во время компиляции вызов такого метода заменяется на его тело, как если бы разработчик написал этот код вручную.

Прекрасный инструмент для добавления синтаксического сахара и создания проблемно-ориентированных языков (DSL) малой ценой, но как это всё отлаживать?

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

Chrome Headless против cloudflare JS challenge

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

Автоматизация сбора информации с различных ресурсов - обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование cloudflare. Сегодня мы посмотрим, как cloudflare выявляет ботов через javascript и коснёмся темы деобфускации скриптов.

Читать далее

А вы давно заглядывали внутрь ваших зависимостей?

Уровень сложностиСложный
Время на прочтение8 мин
Количество просмотров18K

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

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

За подробностями о сканировании пакетов npm и PyPI добро пожаловать под кат.

Читать далее

Мало картинок, много лута: эмулятор Сферы, часть 4

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

Привет, Хабр!

Посмотрим, что у нас там в мешочке, ру-ру? В предыдущих статьях (раз, два, три) мы оказались в стартовом данже, нашли там монстра и помогли ему переместиться в игру поновее. В награду за это мы получаем лут и много головной боли — айтемы, как и все остальное в Сфере, прекрасны и удивительны. Давайте разбираться.

Читать далее

Вклад авторов