Обновить
180.96

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

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

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

Реверс-инжиниринг искусного двоичного сложения в нейросети

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


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

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

Поднимаем зомби: перехват контроля над мёртвым IoT-производителем

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

В 2017 году появилась компания NYCTrainSign, которая изготавливала реплики таймеров обратного отсчёта, показывающие, сколько осталось до прибытия следующего поезда Нью-Йоркского метро.


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

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

Однако под флёром Instagram* скрывались посредственные технические решения и недопустимо высокие затраты на производство. [* Запрещены в России.]

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

Реверс-инжиниринг китайского ПЛК FX3U-14MR. Часть 2. Софт

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

В первой части мы познакомились с аппаратным обеспечением китайского клона ПЛК FX3U-14MR (одного из его вариантов). В это части мы научимся подключаться к его MCU по доступным коммуникационным интерфейсам, останавливать, запускать программу, заливать прошивку. И в конце рассмотрим примеры программ на базе библиотеки STM32duino, задействующих всю периферию ПЛК.

Читать далее

Группировка Cloud Atlas — угроза для госсектора России и стран Азии и Восточной Европы

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

Специалисты нашего экспертного центра безопасности (PT Expert Security Center, PT ESC) отследили новую активность хакерской группировки Cloud Atlas: в III квартале 2022 года она организовала фишинговую атаку на сотрудников государственных ведомств России. Группа использует сложные тактики и техники, что серьезно затрудняет анализ, однако расследование одного из инцидентов позволило нам получить полную картину действий киберпреступников.

Полный отчет с разбором вредоносного ПО и основных техник APT-группировки читайте в нашем блоге, а под катом мы поделимся главными моментами нашего расследования.

Читать

PostgreSQL под капотом. Часть 3. Инициализация бэкэнда

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

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

На прошлом шаге мы дошли до входной точки Postgres. Сегодня мы пройдемся по ней до главного цикла. Будут рассмотрены:

— Модули для работы с файлами и файловой системой

— Как SIGUSR1передает множественные значения

— Реализации хэш‑таблиц

— Представление и хранение GUC

и многое другое.

Читать далее

Поиск callback-ов кнопок в рантайме iOS

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

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


В данной статье будет рассказано как узнать какой callback будет вызван при нажатие кнопки в интерфейсе iOS приложения с использованием фреймворка frida.


Также я думаю эта статья будет полезна тем разработчикам на iOS кто хочет знать как работает внурянка cllaback-ов графических элементов.


Для нетерпеливых конечный скрипт тут.

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

Разбираемся со считыванием и записью магнитных домофонных ключей

Время на прочтение19 мин
Количество просмотров58K
Приветствую всех!

Мы уже давно привыкли, что самыми распространёнными типами домофонных ключей являются Touch Memory (iButton) и EM-Marine. Набирают популярность Mifare и различные проприетарные решения в формате Touch Memory. Но, конечно, так было далеко не всегда.



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

Как консоль Xbox 360 обнаруживает поддельные жёсткие диски

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

В 2005 году консоль Xbox 360 была выпущена в виде двух моделей: Core и Pro. Core — это дешёвая модель, позволявшая запускать игры с оптического диска, а Pro содержала жёсткий диск на 20 ГБ, чего в то время было более чем достаточно для хранения скачиваемого контента и другой дополнительной информации. Жёсткий диск всегда был опциональным аксессуаром, но быстро стал необходимостью для геймеров, желавших сохранять свои профили и скачивать контент с Xbox Live. Недостаток заключался в том, что жёсткие диски под брендом Xbox 360 были дорогими. На момент выпуска консоли диск на 20 ГБ стоил $99! Судя по старому руководству по ценам AnandTech за ноябрь 2005 года, за $57 можно было купить для PC жёсткий диск на 80 ГБ. Накопитель для Xbox 360 продавался с большой наценкой.

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

Что скрывают программы от отладчика?

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

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

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

Посмотрим, как справиться с противодействием отладке на примере 1337ReverseEngineer's The Junkrat https://crackmes.one/crackme/62dc0ecd33c5d44a934e9922 .

Посмотрим, что там

Реверс-инжиниринг китайского ПЛК FX3U-14MR. Часть 1. Железо

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

Как сделать из китайского ПЛК Arduino с промышленными интерфейсами и другим "блекджеком".

Читать далее

1337ReverseEngineer's VMAdventures 1 crackme

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

Продолжаем решать головоломки: сегодня это 1337ReverseEngineer's VMAdventures 1 https://crackmes.one/crackme/63bd7f5733c5d43ab4ecf3ad

Задача: узнать верный пароль, на который программа выдаст "Correct key!".

Проверка пароля

С помощью дизассемблера находим строку "Correct key!" и код, что на нее ссылается. Над ним - цикл проверки пароля: eax пробегает по символам, а в edi - длина пароля.

Читать далее

Почему для открытия меню «Пуск» иногда требуется несколько секунд

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

Обычно я запускаю большинство программ на своём ноутбуке с Windows 10, нажимая клавишу <Win>, после чего ввожу несколько букв имени программы, а затем жму Enter. На моём мощном ноутбуке (SSD и 32 ГБ ОЗУ) этот процесс обычно занимает лишь время, необходимое мне для ввода символов, то есть считанные доли секунды.

Обычно.

Однако иногда он занимает больше, намного больше. Порядка десятков секунд. Торможения непредсказуемы, но недавно мне удалось записать трассировку Event Tracing for Windows (ETW) одной из таких задержек. При помощи людей в Twitter я смог проанализировать трассировку и понять, почему на запуск «Блокнота» требуется примерно минута.

Прежде чем приступать к описанию анализа, мне нужно сделать два заявления: 1) у меня есть достаточное понимание проблемы, но нет решения, и 2) если вы наблюдаете аналогичные симптомы, это не значит, что их причина та же, но я дам советы о том, как понять, в ней ли дело.
Читать дальше →

Реверс-инжиниринг нестандартной ps/2 клавиатуры

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

Терминал VT520 c клавиатурой LK46W-A2

После моего предыдущего поста с подключением советской клавиатуры к современному ПК, я как-то заразился оригинальными клавиатурами от DEC, и уж больно хотелось их испытать в деле. И на удивление, на досках удалось найти даже клавиатуру LK201, однако для меня показалась не очень уж интересной. А вот клавиатуру Wyse 85 со свичами Cherry MX нашёл намного более стильной и крутой. Однако смущал вопрос, как же её использовать с современным железом, удобно ли будет такое расположение клавиш?

И тут мне на глаза попадается объявление с ещё одной терминальной клавиатурой LK46W-A2 которую можно подключить к обычному компьютеру по стандартному интерфейсу PS/2, но с количеством клавиш и расположением, как у LK201 с небольшими дополнениями. После того как ознакомился с информацией, принял волевое решение купить кота в мешке и попробовать эту клавиатуру с обычным ПК, а также понять, что же делают все остальные «нестандартные клавиши». Этакий реверс-инжиниринг клавиатуры.
Читать дальше →

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

Если хоть раз мечтал написать crack или keygen

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

Дня 3 назад заглянул на сайт crackmes.one попробовать силы во взломе защит. Просто наугад взялся за "hitTman's Kolay One!": просто по оценке Difficulty: 2.0 и Quality: 4.0. Не примитивно, но и не слишком сложно.

Оказалось, форма ввода пароля с подсказкой: текст кнопки "submit password" после нажатия меняется на число. Если попробовать разные символы пароля, заметно, что для одних и тех же символов число не меняется. Очевидно, пароль подается в хеш-функцию, а ее результат попадает на кнопку. Пробуя пары символов, легко узнать что число на кнопке - сумма чисел для символов пароля.

Читать далее

Схемотехника светодиодной двухпроводной гирлянды

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

Новый год прошёл, а вопросы остались.

А вот и ответы

Доверяй, но проверяй

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

Не так давно я считал, что обновление программного обеспечения от производителя на роутерах и подобных им «железках» обязательно, и переход на новую стабильную версию гарантирует временную безопасность. Почитав в интернете мнения пользователей, которые с этим не согласны и были очень убедительны, мои розовые очки разбились, радужных единорогов я больше не увижу, и жизнь стала не такой простой как была. Оказалось, новые прошивки, скачанные у официального производителя «железки», можно считать устаревшими. За точку входа в эту тему предлагаю взять переведённую статью. Помимо интересной и полезной информации о том, как вскрывать бинарники, автор утверждает, что если заглянуть в прошивку, можно обнаружить устаревшую версию ядра Linux. Я решил всё-таки проверить этот довод самостоятельно и вставить свои дилетантские «15 копеек». Заодно провести разведку в области, где я ещё не бывал. Для удовлетворения интереса будет достаточным определить версию ядра прошивки. На время написания статьи последняя версия ядра kernel — 6.0.9 от 16.11.2022. Вскрыть и выгрузить прошивку из приборов, которые описаны в статье, у меня не было возможности. Поэтому воспользуюсь прошивками, скачанными с сайта производителя.
Читать дальше →

Безопасный анализ вредоносного ПО

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

Анализ файлов можно разделить на два вида: статический, при котором файл исследуется без его исполнения, и динамический, когда инициируется запуск файла в безопасной среде (тестовая железка или виртуальная машина, как частный случай, Sandbox). Здесь я расскажу о настройке рабочего окружения для безопасного статического анализа вредоносных файлов в среде Windows.

Читать далее

PostgreSQL под капотом. Часть 2. Подготовка бэкэнда

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

В предыдущем посте мы остановились на моменте форка процесса для бэкэнда.

Сегодня рассмотрим как происходит инициализация дочерних процессов после форка от Postmaster, некоторые системные вызовы Linux, goto, парсинг стартап пакета и многие хаки.

Читать далее

Модификация прошивки роутера D-Link

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

Всех с наступившим Рождеством! В этой заметке я расскажу о том как я модифицировал прошивку роутера D-Link DWR-M921, вдруг кому эта информация пригодится.

Читать далее

Реверс инжиниринг в домашних условиях

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

Добрый день, хочу поделиться с читателями своим практическим опытом обратной разработке электронных плат. Эта статья будет ещё интересна предметом своего исследования. На примере я покажу как разобраться в работе устройства. При необходимости можно составить принципиальную электрическую схему и повторить печатную плату. Для примера я взял плату оси YAW гиростабилизированного подвеса камеры квадрокоптера dji mavic mini.

Итак приступим! Всю работу можно поделить на несколько этапов:

Читать далее

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