Как и обещал в предыдущей статье, начинаю публиковать статьи о той части инфраструктуры Steam, которую смогло открыть Anti-Steam сообщество путём реверс-инжиниринга и продолжительных мозговых штурмов.
Файлы формата GCF до недавнего времени являлись стандартом для всех игр, выпускаемых компанией VALVE, а NCF — для всех остальных. Сами по себе эти файлы представляют образ файловой системы с несколькими уровнями защиты. Отличие NCF от GCF заключается в том, что первые содержат только заголовки, а файлы, принадлежащие им, расположены в отдельном каталоге (<каталог Steam>/SteamApps/common/<имя игры>). Поэтому описывать буду GCF, а все особенности NCF приведу после.
В данной статье я подробно разберу структуру данных файлов и работу с ними на примере своей библиотеки (ссылка на неё — в конце статьи). Начало будет достаточно скучным — описание структур и назначения их полей. Самое «вкусное» будет после них…
Весь код, приведенный здесь, является плодом реверс-инжиниринга библиотек Steam. Большая часть информации о формате файлов была почерпнута из открытых источников, я же немного её дополнил и значительно оптимизировал работу с файлами кеша (даже по сравнению с самой популярной на то время библиотекой HLLIB).
Читать полностью »
Рубрика «реверс-инжиниринг» - 68
Tribute to HIEW
2014-01-05 в 13:19, admin, рубрики: HIEW, вирусы, Вирусы (и антивирусы), дизассемблер, информационная безопасность, реверс-инжиниринг, метки: HIEW, Reversing, вирусы, дизассемблер, реверс-инжиниринг Навеяно древними воспоминаниями… Проходят года и десятилетия, сменяют друг друга названия операционных систем, но кое-что всё же остаётся неизменным. Среди всего многообразия околохакерского ПО меня всегда удивлял HIEW; непостижимым образом этой консольной программе удаётся бороться со временем и быть популярной даже сегодня. HIEW занял свою нишу и стал основным инструментом промышленного вирусного аналитика. Вам может показаться это странным и неудобным, но использовать HIEW для вирусного анализа — очень эффективно.
Читать полностью »
Решение Zeronights Crackme 2013 и причём тут матрицы
2013-12-03 в 14:59, admin, рубрики: ассемблер (x86), информационная безопасность, конференция, реверс-инжиниринг, метки: ассемблер (x86), конференция, реверс-инжиниринг Привет всем. Недавно на Хабре появилась статья, расписывающая взлом crackme от лаборатории Касперского с конференции ZeroNights 2013. У меня тоже получилось взломать этот crackme, но я использовал несколько иной подход для создания ключей, чем Дарвин, потому что заметил, что в crackme используются матричные операции. В отличие от Дарвина я использовал только дебаггинг при помощи OllyDbg.
Читать полностью »
Добавление широкоформатных разрешений в Grand Theft Auto
2013-11-19 в 13:05, admin, рубрики: c++, game development, GTA, high resolution, reverse engineering, Rockstar Games, игры, реверс-инжиниринг, старые игры, метки: GTA, high resolution, reverse engineering, rockstar games, игры, реверс-инжиниринг, старые игры
Глядя на серию постов о тридцати строчном javascript программировании, тоже захотелось что-нибудь написать, правда не в 30 строк, но потратив минимум времени, just for fun. Был скачан установщик классической Grand Theft Auto для Windows, а т.к. эта GTA работает только в стандартных разрешениях с соотношением сторон 4:3, я решил написать плагин, который бы запускал её в родном разрешении моего монитора(1920x1080).
Читать полностью »
OllyDbg 2.01
2013-11-10 в 18:56, admin, рубрики: информационная безопасность, отладка, реверс-инжиниринг, метки: отладка, реверс-инжинирингРелиз OllyDbg 2.01 прошел незаметно и не был освещен на Хабре. Вместе с 2 версией автор выпустил дизассемблер по лицензии GPL v3. В конце октября была анонсирована будущая поддержка х64. Читать полностью »
Продолжаем разбирать квест Harvester 1996 года
2013-09-25 в 7:23, admin, рубрики: data mining, reverse engineering, Восстановление данных, игры, квест про квест, перевод, реверс-инжиниринг, метки: data mining, reverse engineering, игры, квест про квест, перевод, реверс-инжинирингВсем добра.
В прошлый раз я остановился на том, что внедрил Arial в игру и был доволен.
Сразу стали видны минусы, шрифт не вписывается в стиль игры.
Появились новые заморочки:
- внедрить красивый русский шрифт, стилизованный под оригинальный,
- разобраться с пропуском почти всех видео в dosbox.
Инструменты: IDA, dosbox + debugger, winhex.
Читать полностью »
Разбор шрифтов и перевод квеста 1996 г. — I Have no Mouth, and I Must Scream
2013-09-24 в 13:53, admin, рубрики: data mining, reverse engineering, Восстановление данных, игры, квест про квест, перевод, реверс-инжиниринг, метки: data mining, reverse engineering, игры, квест про квест, перевод, реверс-инжинирингВсем добра!
Основанная на одноименной новелле Харлана Эллисона (Harlan Ellison) игра I Have No Mouth, and I Must Scream является одним из самых мрачных квестов всех времен. Давящая атмосфера не отпускает до самой развязки.
Недалекое будущее. Три сверхдержавы, США, Россия и Китай, каждая стремясь превзойти соперниц, создали суперкомпьютеры для ведения войн. Но они просчитались. Объединившись в единое целое, называющее себя AM, три суперкомпьютера, использовав мощь, данную им людьми, стерли человечество с лица земли. В живых компьютер оставляет только пятерых, которым предстоит послужить ему игрушками для бесконечных пыток.
В прошлый раз я описывал 8-битный шрифт, а в этот раз удалось разобрать 1-битный.
Оба варианта шрифтов не зашифрованы и не сжаты, это сильно упростило задачу.
Инструменты: IDA, dosbox + debugger, winhex, GBS.
КДПВ
Читать полностью »
Реверс-инжиниринг клиента Dropbox
2013-08-28 в 5:06, admin, рубрики: DropBox, информационная безопасность, реверс-инжинирингДо последнего времени существовали сомнения относительно возможности реверс-инжиниринга сильно обфусицированных приложений, написанных на Python. Недавний реверс-инжиниринг двумя программистами клиента Dropbox доказал, что это возможно.
В феврале этого года на Mobile World Congress, CEO Дрю Хьюстон радостно сообщал, что Dropbox, известный сервис для хранения данных, преодолел отметку в 100 миллионов пользователей, и эти 100 миллионов пользователей загружают более миллиона пользователей на сервера Dropbox каждый день. Еще два года назад у Dropbox было всего 25 миллионов пользователей и гораздо меньше загрузок в день.
С какой целью я упомянул обо всем этом? Успех Dropbox наступил не без преодоления нескольких проблемных моментов, и похоже у команды сервиса теперь появится новая головная боль — и все из-за Dhiru Kholia и Przemyslaw Wegrzyn.
Читать полностью »
Как я писал фикс широкоэкранных разрешений для FlatOut
2013-08-01 в 8:47, admin, рубрики: c++, game development, high resolution, reverse engineering, игры, реверс-инжиниринг, старые игры, метки: high resolution, reverse engineering, игры, реверс-инжиниринг, старые игры
Не так давно я занимался написанием фиксов для нескольких старых игр, чтобы исправить искажение картинки и интерфейса на широкоформатных мониторах. Попросили взглянуть на FlatOut, вот и появилась идея заодно написать об этом.
Суд запретил публикацию кодов запуска люксовых автомобилей
2013-07-27 в 9:46, admin, рубрики: безопасность, Блог компании «Apps4All», доклад, информационная безопасность, реверс-инжиниринг, суд, метки: безопасность, доклад, реверс-инжиниринг, судБританский суд запретил публикацию научной работы, в которой раскрывается алгоритм запуска люксовых машин типа Porsche, Audi, Bentley и Lamborghini, так как это может привести к массовым угонам транспортных средств.
Высокий суд Британии наложил запрет на исследование Флавио Гарсиа из Университета Бирмингема, который взломал систему безопасности и раскрыл алгоритм, который позволяет машине верифицировать ключ зажигания.