Обновить
185.56

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

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

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

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

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

Недавно мой один знакомый подарил мне старую SD карту памяти фирмы «Canon» на 128 МБ, которую нашёл где-то на улице. Её вполне мог кто-нибудь просто выкинуть, так как обычному пользователю ей очень сложно найти применение в современных технических условиях. Объём 128 МБ по нынешним временам считается очень малым, да и в смартфон её не вставишь ввиду большого размера. В основном распространены карты памяти microSD, которые вставляются в большинство смартфонов, но были также ещё и miniSD. Карты памяти малого объёма (MMC 8 МБ, 16 МБ) я встречал лет 20 назад в miniDV видеокамерах. Они там использовалась в качестве дополнительного носителя для сохранения фотографий.

Читать далее

«Не только реверс, но и воплощение знаний в коде, инструментах и плагинах»: как работается вирусным аналитиком в PT ESC

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

И снова привет, Хабр! Это Алексей Вишняков, руководитель отдела обнаружения вредоносного ПО экспертного центра безопасности Positive Technologies (PT Expert Security Center, PT ESC). Сегодня вас ждет нетипичный контент от нашего подразделения: без технических деталей о вредоносах и скриншотов из дизассемблера, не о перехватах на уровне гипервизора и даже не о том, чем отличается Process Doppelgänging от Process Herpaderping. В этом посте мы с коллегами раскроем то, что обычно остается за кадром публичного представления результатов нашей работы, и ответим на вопросы:

· чем занимаются вирусные аналитики, помимо реверс-инжиниринга;

· какие цели мы преследуем — и достигаем (что, кстати, гораздо важнее);

· почему наша работа — это работа мечты (без холивара у этой статьи нет будущего?).

Ранее мы уже приоткрывали дверь в наш мир и рассказывали, как и чем мы живем. Если интересно узнать о [не]технической стороне одного из отделов PT ESC, услышать больше про людей, а не про технологии — оставайтесь. Будем разбираться!

Под кат

Как я восстанавливал аудиозапись Adobe Audition 1.5 из временного файла

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

Звуковым редактором Adobe Audition версии 1.5 пользовались многие пользователи старых ПК. Некоторые пользуются им до сих пор из-за его простоты и удобства, несмотря на наличие более свежих версий или другого подобного современного софта. В своих предыдущих статьях я неоднократно прибегал к использованию данной программы, в основном не по её прямому назначению. В данной статье я расскажу, как когда-то давно, не имея большого опыта в программировании, мне приходилось восстанавливать потерянную аудиозапись телефонного разговора, сделанную моим знакомым в Adobe Audition 1.5.

Читать далее

Ужасный %s, известный своими бесчинствами: эмулятор Сферы, часть 1

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

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

Прошло лет 20 с выхода “первой русской ММОРПГ” Сферы, большинство ресурсов мертвы, база данных по игре доступна только частями в вебархиве, форумы закрыты, онлайн полтора человека. Самое время разбираться, как она устроена, правда?

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

Читать далее

Реверс-инжиниринг протокола записи адресов микросхемы UCS512

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

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

Лента, которую я использую, оснащена яркими RGB-светодиодами SMD 5060 с тремя кристаллами каждый и микросхемами управления UCS512C. Каждый пиксель управляется индивидуально и состоит из шести светодиодов.

Для передачи данных используется стандартный дифференциальный сигнал интерфейса RS48 -два сигнала управления: А и В, что позволяет передавать цифровой сигнал на большое расстояние.

Для управления светодиодной лентой может быть использован любой внешний контроллер с интерфейсом DMX512.

Все хорошо, но есть одно НО. Пиксели на ленте не имеют привычных для ДМХ512 DIP-переключателей для задания ДМХ512 адреса. Установка DMX-адресов в микросхемах UCS512C выполняется при помощи внешнего специализированного редактора. Найти описание на протокол настройки адресов микросхем UCS512C мне так и не удалось. Представленной информации достаточно для создания собственного редактора адресов микросхем UCS512C. Я не гарантирую, что точно понял алгоритм записи адресов. Поэтому, вы используете эту информацию на свой страх и риск. Информация собрана по крупицам и представлена в виде временных диаграмм работы интерфейса с некоторыми пояснениями.

На рисунке 1 представлен полностью обмен между контроллером задания адреса и лентой на микросхеме UCS512C. Далее на временных диаграммах Chenal1  - это RS485А , а Chenal2  - это RS485В. Задание адреса происходит передачей двух пакетов. На соответствующих временных диаграммах будет раскрыта структура данных пакетов более детально.

Читать далее

Как написать свою кроссплатформенную библиотеку для хуков и не отстрелить себе ноги

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

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

Конечно же написать свою!

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

Читать далее

Вторая жизнь китайского чудо-шнурка J2534

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

Давным-давно, когда деревья были большими и вариации комплектаций одной модели автомобиля можно было перечислить пальцами одной руки, был куплен диагностический адаптер, о котором сегодня пойдет речь. Творение неизвестного китайца получило название Mini-VCI J2534. Откуда он взялся доподлинно неизвестно, но позиционируется как интерфейс для работы с различными Тойотами, а так же как J2534 совместимый адаптер (спойлер - нет). В момент покупки его было достаточно для диагностики и ковыряния в мозгах автомобилей тех лет, но прогресс не стоит на месте и в нынешних реалиях он если так можно выразиться - "не вывозит". О том, можно ли с этим что-то сделать и пойдет речь ниже.

Итак, знакомьтесь - наш пациент снаружи и внутри.

Читать далее

Умная консоль для WoW 3.3.5a

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

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

Читать далее

Создание Aimbot для Half-Life 2

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

В этом посте мы расскажем о процессе создания aimbot — программы, автоматически прицеливающейся во врагов в игре жанра «шутер от первого лица» (FPS). Создавать будем aimbot для игры Half-Life 2, работающей на движке Source. Aimbot будет работать внутри процесса игры и использовать для своей работы внутренние функции игры, подвергнутые реверс-инжинирингу (в отличие от других систем, работающих снаружи игры и сканирующих экран).
Читать дальше →

Соглашения о вызовах

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

Это стандартизированные методы реализации и вызова функций.

Соглашение о вызовах опредяют как функция вызывается, как функция управляет стеком и стековым кадром, как аргументы передаются в функцию, как функция возвращает значения.

Читать далее

Легальный способ копировать импортные изделия. Пошаговая инструкция

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

«А что, так можно было»?

ИмпортоНЕзависимость — новое модное слово, которым нас пичкают из каждого утюга, но мода здесь уже на втором плане. Идти своим путем не получится; нужно брать, что можно, и учиться это производить самим. Сначала плохо, потом нормально, потом — хорошо.

Поэтому я прошу вас запомнить слово...

Какое слово надо запомнить?

Отладка, модификация и устранение багов в сторонних 32-х и 64-х разрядных приложениях под ОС Windows

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

В этой статье я хочу поделиться практическими методами отладки, модификации и устранения багов в 32-х и 64-х разрядных приложениях под ОС Windows, разработанных на языке C/C++, исходные коды которых по тем или иным причинам не стали достоянием общественности.

Этот пробел отчасти можно попытаться устранить, например, с помощью плагина Hex-Rays для IDA Pro, и зачастую удаётся довольно качественно восстановить нужный участок исходного кода, обнаружив в нём проблемное место. Но после этого всегда возникает вопрос - что с этим исправленным кодом делать дальше, как и где его можно использовать? На данном этапе мне всегда хотелось взять этот отдельно декомпилированный фрагмент программы, поменять в нём что-нибудь и затем каким-то чудесным образом «поместить обратно» в программу.

Далее будет описан один из возможных способов реализации этой идеи на практике.

Читать продолжение

За кулисами Google Colab

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

Заглянем во внутренности Google Colab и узнаем, как можно подстроить Colab под свои рабочие нужды, а не подстраиваться под ограничения этого инструмента. Подробности рассказываем к старту флагманского курса по Data Science.

Читать далее

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

C++ разведка кросс-компиляции Linux->Windows

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

Эта история началась когда удобный для меня инструмент VSCode из за одного плагина на борту стал не совсем удобен. А именно, «natizyskunk.sftp» плагин, который позволяет подключится по протоколу (S)FTP к серверу, и вносить изменения на сервер, просто сохранив файл. Всё нечего, если бы настройки подключения к серверам не хранились в корне отдельно взятого проекта. Когда у тебя с десяток проектов, ещё можно потерпеть, но более 70 проектов и они все на разных серверах, то перенос и добавление в каждый из проектов актуальной настройки, например пароль, который периодически меняется, заставляет как минимум раздражённо искать подходящую настройку и с комбинацией клавиш Ctrl+C, Ctrl+V, менять устаревшие настройки или добавлять новые. В дальнейшем оказалось, что коллеги пользуются другими идентичными плагинами с названиями «liximomo.sftp», «doujinya.sftp-revived».

Читать далее

Виртуальный COM-порт на STM32 или как управлять контроллером через USB не привлекая внимания санитаров

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

Написать эту статью меня сподвигли те сложности, которые пришлось пройти в попытке разобраться, как же именно ядро контроллера STM32F103 работает с драйвером USB, который находится на борту. Имеющиеся туториалы по созданию устройств, в том числе и композитных, в основном сфокусированы на особенностях использования библиотек. Но когда оставшегося места в памяти контроллера мало а парамеры его работы полностью предсказуемы, лучшим решением становится написать собственный обработчик прерываний. А для этого нужно понять,

как же оно всё-таки работает

Подробный разбор цепочки эксплойтов Playstation 4 и 5

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

В статье представлена цепочка из пяти уязвимостей, позволяющая нападающему получить возможности JIT и исполнять произвольные полезные нагрузки. Передаваемая полезная нагрузка вызывает переполнение буфера, приводящее к kernel panic.
Читать дальше →

Участившиеся атаки на сервер

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

Вопрос безопасности сервера с каждым днём становятся всё более актуальней, а обеспечение их безопасности — всё сложнее. После 28 мая 2022 г. участились кибер атаки в том числе на малый и средний бизнес. Эта напасть не обошла стороной и Красноярск. За месяц пострадало 4 клиента нашей небольшой компании. У всех четверых, при посещении сайта, появлялся видео ролик с антивоенными призывами. Из них трое настраивали свой сервер сами и сказать как их взломали я не могу поскольку не владею объективной информацией. По четвёртому точно знаю что он попался на фишинг и передал злоумышленнику доступ по ssh.

Читать далее

«Золотой век» Buhtrap: разбираем троян-долгожитель

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

В начале этого года неспешное субботнее утро специалиста Group-IB — с семейным завтраком, тренировкой по теннису и поездкой к родителям — полетело в тартарары после звонка безопасника одной российской компании. У предприятия украли пару десятков миллионов рублей: деньги увели со счета несколькими траншами, причем все платежные переводы, как и положено, были подписаны цифровой подписью — токеном главбуха. Безопасник хотел разобраться, как это произошло.

На первый взгляд все переводы казались легальной операцией. Однако некоторая странность в них все-таки была: пароль для входа в систему клиент-банк был не напечатан на клавиатуре, а скопирован из буфера. Записи видеокамер показали, что в этот момент за компьютером никого не было — бухгалтер уходил на обед. Выходит, к ПК кто-то подключился удаленно? Ответ на вопрос, как это произошло, дали специалисты Лаборатории цифровой криминалистики Group-IB: компьютер главбуха был заражен вредоносной программой. И это оказался... наш старый знакомый — троян-долгожитель Buhtrap.

Читать далее

Детальный анализ вредоносного ПО, замаскированного под NOTEPAD++

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

Lazarus привлекала своих жертв при помощи документов о вакансиях в таких компаниях, как LockHeed Martin, BAE Systems и Boeing. В данном конкретном случае злоумышленники привлекали жертв, ищущих работу в Boeing, при помощи документа Boeing BDS MSE.docx ( твит ShadowChasing1). Вредоносное ПО извлекает имя хоста, имя пользователя, информацию о сети, список процессов и другую информацию, которая затем должна была передаваться на один из четырёх серверов C2. Предназначенные для передачи данные сжимались, шифровались XOR, кодировались Base64 и отправлялись на сервер C2. Троян реализует четыре действия, в том числе скачивает и исполняет файл .exe или .dll, загружает PE (Portable Executable) в память процессов и исполняет шелл-код.
Читать дальше →

Измеритель CO2 без датчика CO2?

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

Года три назад самый дешевый домашний прибор по измерению уровня CO2 стоил $80. И это была неплохая цена, так как до этого столько стоил один лишь инфракрасный датчик. Сейчас на Ali появилась пара устройств с ценником от 800 рублей. Их заказывают буквально сотнями в разных магазинах, и есть подозрение, что датчика CO2 в них, на самом деле, нет. В общем, у меня тут возникла пара вопросов к самым дешевым приборам.

Читать далее

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