Как стать автором
Обновить
-1
0

Пользователь

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

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

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

Всем привет,



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

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

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

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

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



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

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

Магия WebPush в Mozilla Firefox. Взгляд изнутри

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

Безусловно одной из самых популярных технологий доставки оповещений на устройства пользователей являются Push уведомления. Технология такова, что для её работы необходим постоянный доступ к интернету, а именно доступ к серверам, на которых регистрируются устройства пользователя для получения уведомлений. В данной статье мы рассмотрим весь спектр механизмов технологии WebPush уведомлений, спрятанных за словами WebSocket, ServiceWorker, vapid, register, broadcast, message encryption и т.д. Основной причиной побудившей меня к реверсу и изучению механизма, являлась необходимость доставки уведомлений мониторинга на рабочие места техподдержки, находящиеся в закрытом сегменте сети без доступа в интернет. И да, это возможно! Подробности под катом.

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

Разжимаем древний формат сжатия анимаций

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

В один день я просматривал различные видео на YouTube, связанные с персонажами программы Vocaloid (не совсем точное описание, но дальше буду называть просто вокалоидами). Одним из таких видео было так называемое PV из игры Hatsune Miku: Project DIVA 2nd. А именно песня relations из The Idolmaster, которую исполняли вокалоиды Megurine Luka и Kagamine Rin. Оба персонажа от Crypton Future Media. Порыскав по сети я понял, что никто так и не смог сконвертировать анимации из этой игры? Но почему? Об этом под катом.
Всего голосов 19: ↑19 и ↓0+19
Комментарии6

Реверс-инжиниринг чипа компьютера Commodore

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

Предыстория и первые пробы


В своём старом посте я писал, что работал над реверс-инжинирингом чипа PLA компьютера Commodore 128. Теперь я почти завершил этот процесс, поэтому настало время поделиться своими открытиями.

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

Для меня исследование началось с покупки дешёвого микроскопа для пайки компонентов, устанавливаемых поверхностным монтажом (SMD).


Дешёвый микроскоп
Всего голосов 33: ↑33 и ↓0+33
Комментарии1

Работаем с Cutter — основы реверса. Решение задач на реверсинг с r0от-мi. Часть 3

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

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

Часть 1: C, C++ и DotNet decompile — основы реверса
Часть 2: Реверсим MIPS и Golang — основы реверса

Организационная информация
Специально для тех, кто хочет узнавать что-то новое и развиваться в любой из сфер информационной и компьютерной безопасности, я буду писать и рассказывать о следующих категориях:

  • PWN;
  • криптография (Crypto);
  • cетевые технологии (Network);
  • реверс (Reverse Engineering);
  • стеганография (Stegano);
  • поиск и эксплуатация WEB-уязвимостей.

Вдобавок к этому я поделюсь своим опытом в компьютерной криминалистике, анализе малвари и прошивок, атаках на беспроводные сети и локальные вычислительные сети, проведении пентестов и написании эксплоитов.
Читать дальше →
Всего голосов 5: ↑5 и ↓0+5
Комментарии0

HackTheBox. Прохождение Fatty. Реверс и рекомпиляция клиент-серверного приложения. Java десериализация

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

Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox.

В данной статье реверсим два Java приложения, при этом изменяем и рекомпилируем клиент, для эксплуатации SQL инъекции при авторизации и выполнения команд на сервере благодаря уязвимости в десериализации Java объекта.

Подключение к лаборатории осуществляется через VPN. Рекомендуется не подключаться с рабочего компьютера или с хоста, где имеются важные для вас данные, так как Вы попадаете в частную сеть с людьми, которые что-то да умеют в области ИБ.

Организационная информация
Чтобы вы могли узнавать о новых статьях, программном обеспечении и другой информации, я создал канал в Telegram и группу для обсуждения любых вопросов в области ИиКБ. Также ваши личные просьбы, вопросы, предложения и рекомендации рассмотрю лично и отвечу всем.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+10
Комментарии1

Декомпилируем приложение xiaomi сканер и забираем результат сканирования

Время на прочтение2 мин
Количество просмотров4.9K
У коллеги возникло предложение:
«Напиши мне за банку чипсов распознавалку штрих-кодов на андроид, чтобы просто в файлики результаты писать и время, брату надо». В итоге оказалось не брату, да и не надо, и вообще банка чипсов это дорого
Из интереса пробежался по готовым решениям на js и android, и т.к. у меня смартфон xiaomi с готовым приложением сканером, подумал, почему бы не попробовать просто забирать результаты сканирования из него? Ок, пробовал погуглить инфу об интентах или готовую инструкцию по получению данных из сканера, но тщетно. Решено провести разведку манифеста приложения на наличие интентов.
Читать дальше →
Всего голосов 11: ↑11 и ↓0+11
Комментарии2

Тайны файла подкачки pagefile.sys: полезные артефакты для компьютерного криминалиста

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


В одной крупной финансовой организации произошел неприятный инцидент: злоумышленники проникли в сеть и «пылесосили» всю критически важную информацию — копировали, а затем отправляли данные на свой удаленный ресурс. Криминалистов Group-IB призвали на помощь лишь спустя полгода после описываемых событий…. К тому времени часть рабочих станций и серверов была уже выведена из работы, а следы действий злоумышленников уничтожены из-за использования ими специализированного ПО и из-за неправильного логирования. Однако на одном из серверов, участвовавших в инциденте, был обнаружен файл подкачки Windows, из которого эксперты получили критически важную информацию об инциденте.

В этой статье Павел Зевахин, специалист Лаборатории компьютерной криминалистики Group-IB, рассказывает о том, какие данные можно обнаружить в ходе криминалистического исследования в файлах подкачки Windows.
Читать дальше →
Всего голосов 35: ↑35 и ↓0+35
Комментарии21

Исследование протокола системы контроля давления воздуха в шинах автомобиля (TPMS)

Время на прочтение14 мин
Количество просмотров29K
Система дистанционного контроля давления воздуха в шинах автомобиля (англ. аббревиатура TPMS — Tyre Pressure Monitoring System) предназначена для оперативного информирования пользователя о снижении давления в шинах и о критической температуре шин.

Датчики имеют внутреннее или внешнее исполнение. Внутренние устанавливаются внутрь покрышки бескамерного колеса, внешние навинчиваются на штуцер колеса. Колесо с внутренним датчиком на внешний вид совершенно идентично колесу без датчика. Такое колесо просто накачивать. Внешний датчик заметен, его можно украсть и при накачивании колеса его надо предварительно открутить. Также он подвергается влиянию атмосферных явлений.

Исследовать протокол работы системы TPMS меня побудила идея установить такую систему на детскую коляску для оперативного слежения за давлением в шинах.

image
Рис.1. Внешний вид системы TPMS
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Комментарии20

Обратная отладка виртуальных машин в QEMU

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

Обратная отладка - это как прокрутить фарш назад. Как запихнуть желток и белок обратно в скорлупу. Как сделать доллар по 6 рублей. В общем, она помогает нам находить источники сбоев в программах, перемещаясь "назад во времени" от места их возникновения.

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

Аппаратный взлом жёсткого диска

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

Жёсткие диски: если вы читаете эту статью, то с большой вероятностью у вас есть одно или несколько таких устройств. Они довольно просты и, по сути, представляют собой набор 512-байтных секторов, пронумерованных возрастающими адресами, также называемыми LBA (Logical Block Address). Компьютер, к которому подключен жёсткий диск (hard drive, HD), может считывать и записывать данные в эти сектора. Обычно используется файловая система, абстрагирующая все эти сектора до файлов и папок.

Неспециалисту может показаться, что оборудование HD должно быть довольно простым: достаточно всего лишь устройства, подключаемого к порту SATA, которое может позиционировать свои головки чтения/записи и считывать или записывать данные на пластины. Однако их работа намного сложнее: разве жёсткие диски не занимаются обработкой сбойных блоки и атрибутов SMART, и не имеют кэша, с которым тоже каким-то образом нужно работать?

Всё это подразумевает, что в жёстком диске есть что-то умное, а умность устройства подразумевает возможность его взлома. Меня всегда интересовали возможности взлома, поэтому я решил узнать, как жёсткие диски работают на немеханическом уровне. Подобные исследования уже проводились с разными видами оборудования, от PCI-карт расширения и встроенных контроллеров до ноутбуков и даже клавиатур Apple. Обычно исследования проводились для того, чтобы доказать, что возможность взлома этих устройств может привести к компрометации ПО, поэтому я захотел воспользоваться тем же подходом: создавая этот хак, я стремился создать жёсткий диск, способный обходить программную защиту.
Всего голосов 93: ↑92 и ↓1+127
Комментарии41

Вскрытие покажет: Решаем лёгкий crackme и пишем генератор ключа

Время на прочтение3 мин
Количество просмотров17K
Доброго времени суток читающий. Мне хочется рассказать тебе про алгоритм решения одного лёгкого crackme и поделиться кодом генератора. Это был один из первых crackme, который я решил.

На просторах сети найден был наш подопытный. Это сrackme. Естественно, что необходимо изучить его. Для вскрытия нам понадобиться:

  • Немного языка Assembler
  • Логика вместе с отладчиком (IDA PRO)

Лекарство изготовим из яда австралийской змеи с помощью Python. Не будем терять времени.

image

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

Почему множество Мандельброта устроено так, как оно устроено

Время на прочтение5 мин
Количество просмотров31K
Оболочка Мандельброта


Созерцание фракталов завораживает, особенно это относится к предмету данной статьи, который демонстрирует вдобавок ко всему еще и изрядное разнообразие. Впрочем, не менее интересно попытаться разобраться, откуда что берётся, как из одного, в сущности, (пусть и комплексного) числа рождается всё это великолепие.
Если любопытно, добро пожаловать под кат.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии5

Идем по приборам

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


Много ли нужно, чтобы изменить пробег или залезть в память приборной панели?


Есть только один способ узнать — попробовать сделать это самому.

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

«Heroes of Might and Magic IV»: баг с таверной или классика патчинга

Время на прочтение3 мин
Количество просмотров19K
Эта короткая история описывает одну из работ, проведенную в рамках проекта «Equilibris» — неофициального мода для игры «Heroes of Might and Magic IV». С точки зрения как реверс-инжиниринга, так и патчинга она не представляет особого интереса — несколько забавным оказался только лишь финал.

image

Как известно, в данной серии игр в каждой таверне игрок может нанимать лишь одного нового Героя в неделю. Однако…
Читать дальше →
Всего голосов 48: ↑47 и ↓1+68
Комментарии24

«Никаких секретов» или Frida для Windows

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

Доброго времени суток! В этой статье будет рассказано, как знание JavaScript и концепций работы современного программного обеспечения могут помочь в reverse engineering, а так же продемонстрировано, как можно использовать тулзу для динамической инструментации для анализа любого ПО на Linux, Windows, Android и iOS.

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

Frida изучаем эксплуатацию алгоритмов Heap

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

Обратная разработка для того чтобы получить алгоритм это всегда заманчиво, но обратная разработка чтобы создать что-то новое это еще круче. В этой статье мы попытаемся использовать инструмент Frida, для того чтобы сделать чуть проще процесс анализа уязвимого приложения и чуть проще создание эксплойта под это приложение.

Все примеры в статье будут касаться атак на кучу в операционной системе Linux, поэтому запасаемся терпением и попкорном.

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

Создаём модчипы для PlayStation 1

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

В детстве у меня была PlayStation 1 (PS1). Одна из первых, если не самая первая моя консоль, сильно повлиявшая на моё будущее.

Я увлёкся компьютерами благодаря тому, что играл в видеоигры и занимался их моддингом. Хотя в детстве я не был достаточно умён, чтобы модифицировать игровые консоли, мой отец с этим неплохо справлялся. Он модифицировал мою PS1, добавив на заднюю панель небольшой переключатель, позволявший запускать записанные на болванки игры. Как говорится, яблоко от яблони недалеко падает.

Перенесёмся в день сегодняшний: у меня уже нет моей первой PS1. Припоминаю, что некоторые игры перестали загружаться и я купил себе PS2. Поэтому зачем хранить старую консоль? Оказалось, это нужно из-за ностальгии и воспоминаний. Мы скучаем о том, чего больше нет.

Недавно друг подарил мне PS1. И так началось моё приключение: как мне модифицировать эту штуку?
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Без шума и пыли: разбор RAT-троянов на базе Remote Utilities

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


В ноябре 2020 года вирусная лаборатория «Доктор Веб» зафиксировала рассылку фишинговых писем корпоративным пользователям. Злоумышленники попытались применить классический метод социальной инженерии, чтобы заставить потенциальных жертв открыть вложения. В качестве вредоносной нагрузки письма содержали троянские программы, обеспечивающие скрытую установку и запуск утилиты Remote Utilities, установочные компоненты которой также находились в составе вложения. При неблагоприятном стечении обстоятельств, компьютеры сотрудников были бы доступны для удаленного управления без каких-либо визуальных признаков работы программы. В статье мы рассмотрим механизмы распространения и заражения используемых RAT-троянов.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии2

Информация

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