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

Анонсирована новая редакция IDA: Home

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

Появился официальный анонс новой редакции IDA Home:



IDA Home

Всего голосов 17: ↑16 и ↓1+30
Комментарии46

ESET CrackMe – CONFidence 2o1o

Время на прочтение3 мин
Количество просмотров14K
Компания Eset уже на протяжении нескольких лет выступает спонсором конференции, посвящённой практическим аспектам информационной безопасности — CONFidence. И каждый год мы предлагаем задание в виде crackme, за быстрое решение которого выдаются ценные призы. В этом году наш польский офис, официальное открытие которого состоялось в начале года, подготовил весьма оригинальное задание. Ведь конференция проходила в их родном городе, в Кракове.

image

Если вы хотите попробовать свои силы, тогда не читайте информацию подкатом, так как там мы опубликовали описание алгоритма проверки регистрационного кода. Скачать crackme можно здесь.
Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии19

iDa — навигационная программа для Android

Время на прочтение2 мин
Количество просмотров1.7K
На днях «Вобис Компьютер» и Intrinsyc сообщили о выпуске навигационной системы iДа на базе движка программы Destinator и навигационных карт Navteq. Программа предоставляется всем желающим в 30 дневном полнофункциональном демо-режиме. Почему бы и не попробовать, имея на руках Samsung i5700?!
Мини-обзор и скриншоты программы внутри.
Читать дальше →
Всего голосов 25: ↑17 и ↓8+9
Комментарии30

Реверс-инжиниринг игры Strike Commander

Время на прочтение10 мин
Количество просмотров9.7K
В начале 90-х на переднем крае прогресса PC-гейминга находилась одна компания: Origin Systems. Её слоганом был «Мы создаём миры» и, чёрт возьми, они ему соответствовали: серии Ultima, Crusader и Wing Commander потрясли воображение игроков.

На создание одной из игр ушло четыре года и больше миллиона человеко-часов: Strike Commander. Знаменитый лётный симулятор имел собственный 3D-движок под названием RealSpace, в котором впервые появились технологии, сегодня воспринимаемые как должное: наложение текстур, затенение по Гуро, изменение уровня детализации и дизеринг цветов.

Мой старой мечтой было поиграть в неё в шлеме виртуальной реальности. Благодаря Oculus Rift эта фантазия стала ещё на один шаг ближе к реальности.

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

На момент публикации этой статьи мой проект ещё не закончен, но я хочу поделиться техниками, позволившими мне сделать из этого:



вот это:



… и, возможно, вдохновить кого-нибудь присоединиться к моему приключению.
Всего голосов 26: ↑26 и ↓0+26
Комментарии2

Убиваем «колокольчик» от Google Chrome в трее

Время на прочтение2 мин
Количество просмотров68K
hackers
С недавних пор в Google Chrome появилась новая фича с названием оповещения. Время от времени, при непонятных обстоятельствах в системном трее появляется колокольчик, и всё. То есть если не настроить его вручную он там просто занимает место не выполняя никаких функций. А чтобы он там появился достаточно например развернуть на полный экран видео в ютубе, убрать его потом нельзя, только закрыть хром. Поиск способов как убрать его правильно успехом не увенчался. Способы вроде и работали но потом колокольчик снова появлялся в трее, и раздражал. В один вечер он сильно достал, и пришлось взяться за тяжёлую артиллерию.
IDA, Hiew, обрезание колокольчика
Всего голосов 65: ↑44 и ↓21+23
Комментарии43

HexRaysPyTools: декомпилируй с удовольствием

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


В этой статье я собираюсь рассказать о плагине для IDA Pro, который написал прошлым летом, еще находясь на стажировке в нашей компании. В итоге, плагин был представлен на ZeroNights 2016 (Слайды), и с тех пор в нём было исправлено несколько багов и добавлены новые фичи. Хотя на GitHub я постарался описать его как можно подробнее, обычно коллеги и знакомые начинают пользоваться им только после проведения небольшого воркшопа. Кроме того, опущены некоторые детали внутренней работы, которые позволили бы лучше понять и использовать возможности плагина. Поэтому хотелось бы попытаться на примере объяснить, как с ним работать, а также рассказать о некоторых проблемах и тонкостях.

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

Взлом Age of Mythology: отключение тумана войны

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

Введение


Age of Mythology — это стратегическая игра в реальном времени, в которой игрок стремится построить свою цивилизацию и победить всех врагов. В стандартном режиме игрок начинает игру на карте, полностью закрашенной чёрным, что обозначает неизвестную и неисследованную территорию.





В процессе игры пользователь исследует карту, и на исследованных областях появляются обозначения рельефа, ресурсов, вражеских построек, на которые накладывается «туман войны», обозначающий исследованную территорию, которую игрок не видит.
Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии14

Ломаем хаКс полностью. Читаем машинные коды как открытую книгу

Время на прочтение9 мин
Количество просмотров10K
Если haXe оттранслирован в C++, а из него — в машинные коды, это может показаться безнадёжным, тем более, на первый взгляд этот код пестрит вызовами виртуальных методов, которые, не запуская отладчик, трудно соотнести с адресами тел методов.

Но всё не так уж плохо. Даже при отключенной поддержке сценариев (HXCPP_SCRIPTABLE) в файле можно обнаружить строки с названиями методов и полей. Разбираем, как можно размотать этот клубок, сопоставить имена методов с их адресами и смещениями в таблице виртуальных методов.
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Мини-исследование, улучшение и бот для игры Shadow Worlds

Время на прочтение15 мин
Количество просмотров20K
Жёлтый заголовок: исследуем MMORPG, добавляем читерских фич и пишем неуловимого бота.
Картинка для привлечения
alide fiole!
Всего голосов 56: ↑55 и ↓1+54
Комментарии16

Реверс-инжениринг протокола китайского USB ИК трансивера

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

Попался мне китайский MicroUSB ИК трансивер, и возникло желание подключить его к компу с Windows. Трансивер представляет собой весьма компактный девайс с разъемом Micro USB. Единственный «официальный» вариант работы с ним — через Android приложение под названием ZaZaRemote.

При подключении к компу через переходник девайс определился как HID-совместимое устройство USB\VID_10C4&PID_8468. Гугление по этому ID не дало никаких результатов, и пришлось заняться реверсингом протокола.
Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии9

Что нам стоит patch построить, нарисуем будем жить

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

Сказ о суровых российских инженерах.


1. С чего все началось…


Ангелы и демоны кружили надо мной
Рассекали тернии и Млечные Пути

Origa — Inner Universe

В одном, не очень отечественном САПР, есть возможность конвертировать чертежи сразу в PDF. Но то ли программисты не очень понимают, как их САПР используется, то ли просто забыли добавить возможность сохранения настроек. В итоге, САПР, при экспорте в PDF, всегда конвертирует только "текущий лист", если не забраться в параметры и принудительно не выбрать "Все листы". В нашем инженерном деле, документы из одного листа крайне редки, народ страдает и продолжает из раза в раз выкладывать, отправлять, генерировать и просто тратить процессорные мощности на однолистные PDF'ки. Томным, пятничным вечером, потягивая купажированный виски и покуривая сигару, я задумался — можно ли с этим что-нибудь сделать?


Disclaimer
  • Помните, внесение изменений в программное обеспечение может нарушать лицензионный договор. Все дальнейшие совпадения случайны. Статья носит исключительно развлекательный характер.
  • Автор не является программистом и тестировщиком, а работает скромным инженером-проектировщиком всяких аббревиатурных систем типа АСУ ТП, САУ ВО\ДГ и прочих промышленных систем. Из-за этого в статье могут содержаться неточности, ошибочные утверждения и бредовые предположения.



Рисунок 1. Окно настроек PDF.

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

Реверс-инжиниринг ПО начала 2000-х

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

Предыстория


В этой серии статей я рассказываю о системе лицензирования ПО, использовавшейся в проприетарном программном приложении 2004 года. Это ПО также имеет пробный режим без регистрации, но с ограниченными функциями. Бесплатную лицензию можно было получить, зарегистрировавшись онлайн на сайте поставщика ПО. Примерно в 2009 году приложение перешло в статус abandonware и его перестали распространять. Хотя двоичный файл ПО был архивирован, пока не предпринимались попытки восстановления функциональности, которую можно было получить благодаря бесплатной лицензии.

Дизассемблируем двоичный файл


В одном из предыдущих постов о другом проекте реверс-инжиниринга я использовал в качестве дизассемблера IDA Free. Позже Агентство национальной безопасности США выпустило свой инструмент для реверс-инжиниринга Ghidra как ПО с open source. Его я и буду использовать в этом проекте.

По сравнению с IDA, Ghidra требует больше усилий для правильного дизассемблирования двоичного файла ПО. Например, рассмотрим, следующий дизассемблированный Ghidra код:


IDA автоматически идентифицирует функцию как 0x4f64dc, но Ghidra её не определяет. Как оказалось, именно эта функция и нужна будет в нашем анализе. Ghidra может выполнять более подробный анализ через AnalysisOne ShotAggressive Instruction Finder, но результат всё равно будет неполным.

Из метаданных двоичного файла ПО мы знаем, что сборка была создана в Delphi 7 (выпущенном в 2002 году).
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Комментарии1

How to Start Reverse Engineering in 2021

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

Reverse engineering might seem so complex, that not everyone has the bravery required to tackle it. But is it really that hard? Today we are gonna dive into the process of learning how to reverse engineer.

First of all, try to answer yourself, what are you hoping to achieve with reverse engineering? Because reverse engineering is a tool. And you should choose the right tool for your task. So when reverse engineering might be useful?

Read more
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Исправляем кривой запуск первого Mass Effect

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

Часть 1


В последнее время я работал над собственным форком ME3Explorer [неофициальный редактор игр серии Mass Effect], содержащим множество важных улучшений и даже новые инструменты. Также я поработал над Mod Manager 5.1, который имеет удобные новые функции импорта сторонних модов, однако был отодвинут на второй план, пока я работал над новым фронтендом установщика ALOT.

ALOT Installer с манифестом 2017 года

Для его реализации я сотрудничал с CreeperLava и Aquadran; он должен упростить жизнь конечным пользователям, устанавливающим ALOT и его аддон (сторонние текстуры). Одна из моих проблем заключалась в том, что Origin не запускал игру после установки ALOT, если не запустить его с правами администратора. И поскольку запуск Origin при загрузке невозможно выполнить с правами админа, это очень раздражает. К тому же это влияет на мод MEUITM. Поэтому я начал разбираться, почему это происходит. Дело оказалось в идеальном сочетании реализации защиты, плохого кода и желания упростить жизнь других людей.

Давайте посмотрим, как работает Mass Effect с Origin в неизменённом состоянии под Windows 10.
Читать дальше →
Всего голосов 16: ↑16 и ↓0+16
Комментарии8

Реверс-инжиниринг Fantastic Dizzy

Время на прочтение7 мин
Количество просмотров8.9K
Fantastic Dizzy — это игра в жанре «пазл-платформер», созданная в 1991 году компанией Codemasters. Она является частью серии игр про Диззи (Dizzy Series). Несмотря на то, что серия Dizzy до сих пор популярна, и по ней создаются любительские игры (Dizzy Age), похоже, что никто не занимался обратной разработкой оригинальных игр.


Я написал несколько простых инструментов для извлечения, просмотра и запаковки ресурсов оригинальной игры. Инструменты выложены на GitHub.

Распаковка EXE


Двоичный файл PCDIZZY.EXE упакован в формат Microsoft EXEPack. Хотя есть множество инструментов для Linux, способных распаковывать такие исполняемые файлы, ни один из них, похоже, не поддерживает версию, использованную для Fantastic Dizzy. Поэтому для распаковки исполняемого файла я воспользовался DOS-версией UNP. После распаковки исполняемого файла его можно было загрузить в IDA. Удобно то, что распакованная версия двоичного файла по-прежнему хорошо работала, поэтому её отладку можно было выполнять с помощью дебаггера DOSBox.
Читать дальше →
Всего голосов 27: ↑27 и ↓0+27
Комментарии9

Портабелизация IDA

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


Совсем небольшое сообщение.

По ряду личных причин я люблю таскать свой инструментарий на флешке или внешнем жёстком диске. Одним из инструментов является IDA 6.8.

После работы с системами я не люблю, когда остаются какие-то хвосты в реестре или в виде файлов. И к сожалению, IDA и её модули (в частности, BinnDiff) этим грешны.

Ну и возникло желание получить полностью портабельный комплекс.
Читать дальше →
Всего голосов 22: ↑21 и ↓1+20
Комментарии17

IDA Pro: 11 советов, которые вы (может быть) не знали

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

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

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

Погружение в драйвер: общий принцип реверса на примере задания NeoQUEST-2019

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

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

На примере задания №2 из online-этапа NeoQUEST-2019 разберем общий принцип реверса драйвера Windows. Конечно, пример является довольно упрощенным, но суть процесса от этого не меняется — вопрос только в объеме кода, который нужно просмотреть. Вооружившись опытом и удачей, приступим!
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Flare-On 2019 write-up

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


-0x01 — Intro


Данная статья посвящена разбору всех заданий Flare-On 2019 — ежегодного соревнования по реверс-инжинирингу от FireEye. В данных соревнованиях я принимаю участие уже второй раз. В предыдущем году мне удалось попасть на 11-ое место по времени сдачи, решив все задачи примерно за 13 суток. В этом году набор тасков был проще, и я уложился в 54 часа, заняв при этом 3 место по времени сдачи.


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


Если вас заинтересовало, то добро пожаловать под кат!

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

Встраиваемые функции в Go

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

Go позволяет писать на ассемблере. Но авторы языка написали такую стандартную библиотеку, что бы этого делать не пришлось. Есть способы писать переносимый и быстрый код одновремено. Как? Добро пожаловат под cut.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Комментарии3