Как стать автором
Обновить
182
-17
Владимир @DrMefistO

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

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

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

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

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

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

И что, сифонит таки?
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 22

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

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

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

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

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 0

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

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

Всем привет!

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

Читать далее
Всего голосов 219: ↑219 и ↓0 +219
Комментарии 50

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

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

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

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

Читать далее
Всего голосов 157: ↑152 и ↓5 +147
Комментарии 79

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

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

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

Читать далее
Всего голосов 60: ↑60 и ↓0 +60
Комментарии 40

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

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

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

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

Читать далее
Всего голосов 20: ↑20 и ↓0 +20
Комментарии 5

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

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


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


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



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

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

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

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


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


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

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

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

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


Всем привет,


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


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

Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 6

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

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


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


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


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

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

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


Всем привет,


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


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

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

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

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

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



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

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

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

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

Всем привет,



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

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

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

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


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


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


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

Читать дальше →
Всего голосов 27: ↑25 и ↓2 +23
Комментарии 17

GHIDRA vs. IDA Pro

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


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


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

Читать дальше →
Всего голосов 31: ↑31 и ↓0 +31
Комментарии 36

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

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

Привет всем,



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

Читать дальше →
Всего голосов 22: ↑22 и ↓0 +22
Комментарии 4

GHIDRA, исполняемые файлы Playstation 1, FLIRT-сигнатуры и PsyQ

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

Привет всем,



Не знаю как вам, а мне всегда хотелось пореверсить старые приставочные игры, имея в запасе ещё и декомпилятор. И вот, этот радостный момент в моей жизни настал — вышла GHIDRA. О том, что это такое, писать не буду, можно легко загуглить. И, отзывы настолько разные (особенно от ретроградов), что новичку будет сложно даже решиться на запуск этого чуда… Вот вам пример: "20 лет работал в иде, и смотрю я на вашу Гидру с большим недоверием, потому что АНБ. Но когда-нибудь запущу и проверю её в деле".

Читать дальше →
Всего голосов 38: ↑38 и ↓0 +38
Комментарии 13

Модернизация GHIDRA. Загрузчик для ромов Sega Mega Drive

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


Приветствую вас, товарищи. Не слышал о пока-ещё-не-опенсорсной GHIDRA, наверное, только глухой/слепой/немой/без_интернета реверс-инженер. Её возможности из коробки поражают: декомпиляторы для всех поддерживаемых процессоров, простое добавление новых архитектур (с сразу же активной декомпиляцией благодаря грамотному преобразованию в IR), куча скриптов упрощающих жизнь, возможность Undo/Redo… И это только очень малая часть всех предоставляемых возможностей. Сказать что я был впечатлён — это практически ничего не сказать.

Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Комментарии 15

Реверс-инжиниринг. История. Моя

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


Всем привет,


На этот раз статья будет не технической (хотя в ней и будут попадаться какие-то технические термины/моменты), а скорее автобиографической, если так можно выразиться. Эта статья о том, как я докатился до такой жизни пришёл в реверс-инжиниринг, что читал, чем интересовался, где применял, и т.д. И, я почему-то уверен, что моя история будет иметь множество отличий от твоей. Поехали…

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

Модернизация IDA Pro. Отладчик для Sega Mega Drive (часть 2)

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


Привет всем,


В предыдущей статье мы успешно модифицировали ядро эмулятора игр на Sega Mega Drive / Genesis, добавив в него возможность отладки. Теперь пришёл черёд написания собственно плагина-отладчика для IDA Pro, версия 7.0. Приступим.

Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 0
1

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность

Специализация

Reverse Engineer, Security Engineer
Senior