Перейти к содержимому


Фотография
- - - - -

Шифрование (GTA 4)


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 04 March 2009 - 14:59

Это тема для обсуждения статьи: Шифрование (GTA 4)
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#2 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 04 March 2009 - 15:03

В статье представлена информация о AES шифровании архивов GTA IV. По ходу, информация взята с англовики, от себя добавил лишь оффсет нахождения ключа в exe файле на xbox360. Надеюсь, у нас можно выложить сам ключ?
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#3 Seemann

Seemann

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 266 сообщений
  • Пол:Мужчина
  • Город:Россия, Иркутск/СПб

Отправлено 04 March 2009 - 15:47

Надеюсь, у нас можно выложить сам ключ?

зачем, если ты указал, где его можно найти? Кому надо, сам найдет.

#4 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 04 March 2009 - 15:51

Ну так неинтересно... Я наоборот хочу сделать программу для расшифровки/шифровки игровых архивов со включенным в нее саму ключом (т.е. безо всяких чтений из сторонних источников).
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#5 Seemann

Seemann

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 266 сообщений
  • Пол:Мужчина
  • Город:Россия, Иркутск/СПб

Отправлено 04 March 2009 - 16:12

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

#6 GooD-NTS

GooD-NTS

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 494 сообщений
  • Пол:Мужчина
  • Город:Нижний Новгород


Отправлено 04 March 2009 - 16:25

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

Изображение

RAGE research project, public side: OpenIV (Журнал изменений План развития) | openFormats


#7 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 04 March 2009 - 16:27

Я так-то сторонник свободы в сети). Из-за каких-то 32ух байт такие ограничения? И впринципе я не рассчитывал что что-то из своих работ впреть на западе буду публиковать. Хотя - кто знает... Можно сделать по-другому - будет стандартно чтение из exe (+ отображение самого ключа в специальном поле), но в директории будет лежать специальный файл откуда можно будет включить чтение. Т.е. рассчитывается на то что при первом запуске указываешь путь к exe и ключ сохраняется в файл. Все, после этого можно делать что угодно и без открытия каких-либо exe (подобно тому как GooD сделал в Core.xml OpenIV). Так лучше?
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#8 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 05 March 2009 - 14:20

Здесь можно вспомнить ситуацию, когда утек volume key для AACS. Как тогда MPAA озверело, и массово рассылало cease and desist letters. Вообще, с правовой точки зрения здесь полные непонятки. По российским законам, число (а так же формула или алгоритм) не может быть объектом авторского права. Но, по буржуйским законам это не так. Публикация ключа шифрования попадает под DMCA (или аналогичный закон) и является основанием для соответствующих правовых действий (закрытия сайта и уголовного преследования владельца). В этом случае, у них ничего не пройдет, но нервы попортят изрядно. Так что лучше не дразнить гусей, и ограничиваться алгоритмом и смещением.
You think your day was surreal? Try mine.

#9 MysTer92

MysTer92

    Активный участник

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Кемерово

Отправлено 12 September 2009 - 08:33

Заинтересовался вопросом как собственно ключ шифрования нашли в exe от xbox версии ? ну не конкретно в хбох версии, а вообще как найти ключ в ехе независимо от версии, не зная ни офсета, ни самого ключа

Сообщение отредактировал MysTer92: 12 September 2009 - 09:53

1994 Toyota Celica GT-Four v1.1 Download
1959 Chevrolet Corvette Download
1949 Ford F-1 Pick-Up Download
HD Cars GTA-Series Download
------
Gigabyte GA-P35-S3G, C2Q Q6600@3,16Ghz, 5Gb Hynix DDR2@880Mhz(5-5-5-18), Gainward Radeon HD4850 512mb@700/2244Mhz, Hitachi HDP725032GLA360, Philips 220CW9FB
OS: Windows 7 Build 7229 64-bit

#10 Dageron

Dageron

    Активный участник

  • Пользователи
  • PipPipPip
  • 1130 сообщений
  • Пол:Мужчина
  • Город:Пермь


Отправлено 12 September 2009 - 11:30

Через dis-asm самого исполняемого файла - будь то на консоли, будь то на ПК.
в проекте gtamodding.ru: декабрь 2008 - декабрь 2012

#11 MysTer92

MysTer92

    Активный участник

  • Пользователи
  • PipPipPip
  • 44 сообщений
  • Пол:Мужчина
  • Город:Кемерово

Отправлено 12 September 2009 - 12:55

эт понятно) но там куда смотреть то?)) на что ориентироваться? если что, то для IDA уже поставил лоадер XEX-файлов
1994 Toyota Celica GT-Four v1.1 Download
1959 Chevrolet Corvette Download
1949 Ford F-1 Pick-Up Download
HD Cars GTA-Series Download
------
Gigabyte GA-P35-S3G, C2Q Q6600@3,16Ghz, 5Gb Hynix DDR2@880Mhz(5-5-5-18), Gainward Radeon HD4850 512mb@700/2244Mhz, Hitachi HDP725032GLA360, Philips 220CW9FB
OS: Windows 7 Build 7229 64-bit

#12 listener

listener

    Активный участник

  • Главные администраторы
  • PipPipPip
  • 356 сообщений
  • Пол:Мужчина
  • Город:Ft.Lauderdale


Отправлено 12 September 2009 - 16:55

Вообще - это просто (если знать несколько тонкостей).
Я копал этот кусок, начиная с загрузки .img. В файле оставалось немножко отладочной печати о проблемах загрузки архива.
Посмотрев на функцию, из которой выводились этия сообщения, я отнаружил проверку сигнатуры и вызовы нескольких функций. Из них, сразу отсеялось чтение файла (функцию чтения файла обычно очень легко определить: она вызывается достаточно части, и среди ее параметров есть указатель на блок памяти и его длина).
Сразу после чтения, перед проверкой сигнатуры, вызывалась функция, что-то делающая со считанными данными (логично было предположить, что это шифрование).

Дальше - было проще. В этой функции использовалось несколько таблиц. Скормив несколько чисел из первой же таблицы в гугль, я получил пачку ссылок на исходники разных реализаций AES. (кроме того, из этой таблицы стало понятно, что это AES-256).
Оставалось только найти используемый этой функцией массив в 32 байта (256 бит).

Еще час экспериментов ушел на то, чтобы прояснить, что init vector и CBC не используются, а вместо этого, один и тот же фрагмент шифруется 16 раз подряд. После этого, я углядел в дешифрованных данных кучу имен файлов и, учитывая, что на дворе было 25/04/2008, понял, что только что сделал себе прикольный подарок на ДР.

Вообще, копание в коде, по большей части, состоит из сбора и сортировки рассеянной информации.
Есть повсеместно используемые алгоритмы, общие концепции и парадигмы. Есть базовая математика (и физика).
Как только находится, куда применить ту или иную парадигму; какая формула стоит за блоком команд - очень большие куски кода сразу становятся понятными. Причем, в большинстве случаев, не только непосредственно рассматриваемый код, но и места, откуда он вызывается (как в паззле - достаточно собрать кусочек из середины картинки, и сразу понятно и его общее положение, и что должно находиться вокруг).

эт понятно) но там куда смотреть то?)) на что ориентироваться? если что, то для IDA уже поставил лоадер XEX-файлов

Возможно, это будет полезным: http://sannybuilder....opic.php?id=190
You think your day was surreal? Try mine.




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных