Search
Write a publication
Pull to refresh
235
0.1
Владимир @DrMefistO

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

Send message

Чиню трейнер для игры Enter the Matrix

Level of difficultyMedium
Reading time4 min
Views1.8K

Всем привет,

Решил я давеча поиграть в одну из своих самых любимых игр (ещё со времён компьютерных клубов) про похождения Штирлица Нео, Матвея Морфеуса и про их побег из дурдома Матрицы. Но, оказалось, что читы не работают, таблиц для Cheat Engine нет, а возраст уже не тот, чтобы тащить эту игру как есть.

Так я и пришёл к тому, чтобы взять да починить трейнер для этой игры от PiZZADOX. Точнее, подсмотреть, чего они там в процессе игры патчат и сделать точно так же, но на постоянной основе (прямо в EXE). Об этом и будет мой рассказ...

Читать далее

Очередная китай-камера с бэкдором

Level of difficultyMedium
Reading time8 min
Views37K

Как можно догадаться, на этот раз речь пойдёт об очередном поделии китайского IoT-гения, а именно о цифровой камере для третьего "глаза" микроскопа (можно ли назвать камеру для микроскопа IoT-ом?). Не знаю, может у них там сверху наказ такой: в каждую камеру по бэкдору совать (и чем больше, тем лучше), но это в самом деле треш.

За какую камеру ни возьмись: будь она для видеонаблюдения, либо, как в моём случае, для вывода картинки с микроскопа на монитор/смартфон - по факту вы получаете не только девайс, выполняющий свои основные функции, но и как "премиум-фичу" - потенциально следящее (конечно же, за Вами) устройство. Об одном таком девайсе я и хочу рассказать.

Читать далее

Как я Капсулу Нео от VK исследовал

Level of difficultyMedium
Reading time11 min
Views18K

Всем привет!

Исправления давно в проде, а конфа OFFZONE 2024, на которой я выступил с этим докладом, закончилась — пришло время и на Хабре рассказать об исследовании умного девайса от VK под названием «Капсула Нео» (далее — «Капсула»).

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

Исследование шаг за шагом

Когда вендор не защитил — защищаем вашу Станцию, Капсулу и A113X

Level of difficultyMedium
Reading time6 min
Views7.2K

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

В нашем несовершенном мире «умных домов» и повсеместного IoT с относительно недавних пор стало модным производить (да и покупать домой) очередного разговорчивого электронного друга, а именно: Яндекс Станции, VK Капсулы и тому подобные девайсы.

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

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

Защитить мою колонку!

Исследуем саундбар Yamaha YAS-109, часть 2

Level of difficultyHard
Reading time12 min
Views13K

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

В конце первой части статьи по исследованию саундбара Yamaha я упомянул о плачевном состоянии его безопасности. Но вот то, насколько оно плачевное, я тогда представлял не до конца.

И что, сифонит таки?

Исследуем видеорегистратор Wisenet (Samsung) HRX-1620

Level of difficultyHard
Reading time5 min
Views2.6K

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

В этот раз я хотел бы рассказать о своём первом проекте в компании BI.ZONE. Дело было давно, девайс (Wisenet HRX-1620) уже не выпускается и не обслуживается, поэтому за давностью лет можно и поделиться. Заодно это предостережёт вас от использования этого устройства на объектах и поможет защититься.

Читать далее

Исследуем саундбар Yamaha YAS-109

Level of difficultyHard
Reading time9 min
Views32K

Всем привет!

Краткое предисловие: я счастливый обладатель замечательного саундбара YAS-109 от Yamaha, на момент написания пользуюсь им уже целый год, и всё в целом хорошо. Но однажды я решил узнать: не подслушивает ли меня мой музыкальный друг? Ведь у него есть встроенная поддержка Alexa, а ещё Bluetooth, WiFi, Ethernet и другие прелести… Так и начинается история моего ресёрча.

Читать далее

Как я винду по-реверсерски чинил

Reading time3 min
Views21K

Ваша винда не работает как хотелось бы? Все советы из поисковика перепробовали установили Linux, а оно всё равно не работает? Вы реверс-инженер или кто вообще, ну в самом деле!? Применим свои навыки владения отладчиком, поможем Шиндовс нормально (по мере её сил) работать!

На написание данной статьи меня подтолкнула злость. Злость на поделие от индусских говнокодеров под названием Windows, на то, что гугол выдаёт мне абсолютно нерабочие решения столетней давности. И вот, когда даже обновление до 11-й винды (с сохранением всех настроек и программ), а потом ещё и установка её же поверх себя не помогли, я решил, что нужно подойти с другой стороны - не как пользователь, а как реверс-инженер.

Читать далее

О недавней уязвимости в банкоматах Diebold Nixdorf

Reading time9 min
Views18K

На днях Positive Technologies опубликовала новость о том, что банкоматы производителя Diebold Nixdorf (ранее Wincor), а точнее модели диспенсеров RM3 и CMDv5, содержат уязвимость, благодаря которой можно производить выдачу наличных и заливать модифицированную (уязвимую) прошивку. И поскольку я и мой бывший коллега Алексей Стенников имеем непосредственное отношение к нахождению этой уязвимости, я хотел бы поделиться некоторыми ее деталями.

Читать далее

Пишем дизассемблер виртуальной машины из игры Clock Tower (PS1/PC) для IDA Pro

Reading time16 min
Views6.4K

Всем привет. Тут такое дело: ещё одна моя реверсерская мечта сбылась - я написал процессорный модуль для IDA Pro с нуля, за два дня! Если вы когда-то тоже хотели написать свой модуль, но боялись начать - думаю, моя статья сможет помочь.

В качестве кода, который требуется дизасемблировать, будет выступать код виртуальной машины из очень крутого хоррора, который выходил сначала на SNES, потом на PS1, PC и Wonderswan - "Clock Tower - The First Fear". В игре имеется 9 концовок (sic!), атмосфера гнетущая, а в качестве главного злодея выступает "Scissorman" (человек с руками-ножницами). Заинтересовал? Тогда добро пожаловать...

Читать далее

Декомпиляция node.js в Ghidra

Reading time10 min
Views8.2K


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


Вам когда-нибудь хотелось узнать, как же именно работает программа, которой вы так активно пользуетесь, игра, в которую часто играете, прошивка какого-нибудь устройства, которое что-то делает по расписанию? Если да, то для этого вам потребуется дизассемблер. А лучше — декомпилятор. И если с x86-x64, Java, Python ситуация известная: этих ваших дизассемблеров и декомпиляторов полным-полно, то с другими языками всё обстоит немного сложнее: поисковые машины уверенно утверждают — «It's impossible».



Что ж, мы решили оспорить данное утверждение и произвести декомпиляцию NodeJS, а именно выхлоп, который выдаёт npm-пакет bytenode. Об этом подробнее мы и расскажем по ходу статьи. Заметим, что это уже вторая статья в серии о нашем плагине для Ghidra (первый материал был также опубликован в нашем блоге на Хабре). Поехали.

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

Пишем плагин отладки для SNES игр в IDA v7

Reading time36 min
Views3.7K


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


Моя очень старая мечта сбылась — я написал модуль-отладчик, с помощью которого можно отлаживать SNES (Super Nintendo) игры прямо в IDA! Если интересно узнать, как я это сделал, "прошу под кат" (как тут принято говорить).

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

Разбираем ресурсы Twisted Metal 4 (PSX) в Ghidra. Часть 1

Reading time9 min
Views3.8K


Всем привет,


В данной статье я расскажу о реверс-инжиниринге ресурсов игры Twisted Metal 4 для первой Playstation. В качестве основного инструмента я буду использовать Ghidra.


Наверняка вы слышали об игровой серии Twisted Metal. А кому-то, наверное, довелось и поиграть (мне нет). По словам тех, кто играл в четвёртую часть, в игре имеются некоторые неприятные баги. Так вот, реверс-инжиниринг должен помочь исправить их. Поехали…

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

Как подружить .NET и IDA Pro (о дружбе C# и C++)

Reading time6 min
Views7.2K


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


Сначала о проблеме/задаче:
Начав писать очередной плагин-отладчик для ретро-платформы под IDA Pro (по секрету: это будет SNES), я столкнулся со следующим набором, который требовалось подружить:


  1. Ядро эмулятора написано на C++ и компилируется в DLL
  2. GUI эмулятора написано на C# и использует DLL-ку ядра для управления эмуляцией
  3. IDA Pro, которая использует плагины либо на питоне, либо на C++ в виде DLL (а отладчики только на C++)
Читать дальше →

Получение исходного кода PowerPacker Cruncher от AmigaOS

Reading time5 min
Views3.6K


Всем привет,


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


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

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

IDA Pro: каким не должен быть SDK

Reading time5 min
Views14K

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



Эта статья будет о том, как не нужно делать, когда разрабатываешь SDK для своего продукта. А примером, можно даже сказать, самым ярким, будет IDA Pro. Те, кто хоть раз что-то разрабатывал под неё и старался поддерживать, при чтении этих строк, наверняка, сейчас вздрогнули и покрылись холодным потом. Здесь я собрал опыт сопровождения проектов, начиная с IDA v6.5, и заканчивая последней на момент написания статьи версии — v7.5. В общем, погнали.

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

IDA Pro: работа с библиотечным кодом (не WinAPI)

Reading time7 min
Views8.7K

Всем привет,



При работе в IDA мне, да и, наверняка, вам тоже, часто приходится иметь дело с приложениями, которые имеют достаточно большой объём кода, не имеют символьной информации и, к тому же, содержат много библиотечного кода. Зачастую такой код нужно уметь отличать от написанного пользователем. И, если на вход библиотечного кода подаются только int, void * да const char *, можно отделаться одними лишь сигнатурами (созданные с помощью FLAIR-утилит sig-файлы). Но, если нужны структуры, аргументы, их количество, тут без дополнительной магии не обойдёшься… В качестве примера я буду работать с игрой для Sony Playstation 1, написанной с использованием PSYQ v4.7.

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

О новой IDA Home (обзор)

Reading time3 min
Views8.1K


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


На днях товарищи из Hex-Rays анонсировали новую IDA Home, которая как IDA Starter, только под одну конкретную платформу (против более чем 20-ти), с локальным отладчиком и поддержкой x64, скриптингом на Python и стоит 365$ в год (против $979). Далее был запущен конкурс на лучший рисунок логотип для новой IDA, за который автор лучшей работы получит Home-версию бесплатно.


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

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

GHIDRA vs. IDA Pro

Reading time12 min
Views55K


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


Думаю, пришла пора. Наболело/накипело/есть мнение. С выходом Гидры ситуация с инструментарием для реверс-инженеров достаточно сильно изменилась. Если раньше выбора чем пользоваться особо не было (здесь не будут упоминаться Binary Ninja, Hopper, JEB или Radare2, потому как в известных мне ИБ-компаниях и комьюнити ими пользуется очень малое количество человек, либо же порог вхождения в некоторые (привет, Радар) очень высок, либо же покрытие архитектур ограничено лишь x86/x64/ARM/ARM64/MIPS), то теперь мы имеем очень мощного конкурента Hex-Rays в лице АНБ с их GHIDRA.

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

Решаем простой Crackme для Sega Mega Drive

Reading time9 min
Views7.6K

Привет всем,



Несмотря на мой большой опыт в реверсе игр под Sega Mega Drive, крякмисов под неё я никогда не решал, да и не попадались они мне на просторах интернета. Но, на днях появился забавный крэкми, который захотелось решить. Делюсь с вами решением…

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

Information

Rating
4,782-nd
Date of birth
Registered
Activity

Specialization

Reverse Engineer, Security Engineer
Senior