Добро пожаловать, гость ( Вход | Регистрация )
![]() ![]() |
| Siberian GRemlin |
Oct 3 2006, 15:51
Сообщение
#1
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 538 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 223 раз(а) |
В игре ресурсы (текст, графика, звук) лежат в открытов виде, но зашифрованы. Файлы шифруются 1 к 1, т.е. размер не меняется, а в начале файла добавляются 8 байт, по всей видимости ключ. На руках есть только "eXtreme Repack" демо-версии с AG в которой лежит консольное приложение, которое шифрует файлы. В полной версии ресурсы хранятся точно также, только местами ключ другой, но двубайтовые переменные ключа в некоторых файлах просто перетасованы, но это как я понимаю значения абсолютно никакого не имеет.
Хотелось бы уместь расшифровывать ресурсы для их изменения. Вот шифровщик: http://slil.ru/23204241 Если у кого есть какие идеи - пишите! |
| -=CHE@TER=- |
Oct 4 2006, 11:01
Сообщение
#2
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,412 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 327 раз(а) |
Посмотрел твой конвертер - весёлая штука.
Файл 1.TXT. Содержимое - один символ: A Файл 2.TXT. Содержимое - один символ: A На оба натравил твою тулзу - последний байт у выходных файлов различается. Сначал подумал, что она как попало ключ генерит, а потому думаю - от чего я такой тупой? Если ключ как попало генерится, то как его тогда расшифровывать? Для эксперимента стёр файл 1.TXT и снова написал туда латинскую A. Результат тот же, что и в прошлый раз. Вывод: содержимое файла как-то шифруется на ключ. Ключ в данном случае - имя файла. Сама тулза сжата UPX 1.9x, но у ней чего-то в заголовке покосили, так что распаковать не могу - так, возможно, бы больше сказал. Зато внизу, нашёл экспортируемые функции. Там была "CryptEncrypt". Вот тут можно больше про неё почитать: MSDN: CryptEncrypt. |
| Siberian GRemlin |
Oct 5 2006, 15:40
Сообщение
#3
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 538 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 223 раз(а) |
Может тут используется тот же алгоритм, что и в прошлой игре:
http://wiki.xentax.com/index.php/Settlers_...ritage_Of_Kings (Tiny Encryption Algorithm (TEA)) ? |
| -=CHE@TER=- |
Oct 6 2006, 17:19
Сообщение
#4
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,412 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 327 раз(а) |
Увы, я не знаю. Всё что я мог сказать - уже сказал. Вряд ли что-то ещё найду. Моих знаний тут нехватает.
Может кто-нибдь ещё хочет глянуть? Ещё у кого-нибудь какие-нибудь предположения есть? |
| Siberian GRemlin |
Oct 10 2006, 12:48
Сообщение
#5
|
|
Advanced Member ![]() ![]() ![]() Группа: CTPAX-X Сообщений: 538 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 223 раз(а) |
Вообщем, я достал декриптор для демки, но на полной версии он не работает, т.к. ключ сменился, а декриптор смотрит первые 4 байта и отказывается файл конвертить. Также я выяснил, что алгоритм используется RC4 ключ там из заголовка и имени файла. Сейчас поищу инфу по алгоритму... если у кого-то есть что сказать или кто-то найдёт ценную инфу - в студию
|
| -=CHE@TER=- |
Feb 25 2026, 19:37
Сообщение
#6
|
|
Walter Sullivan ![]() ![]() ![]() Группа: Root Admin Сообщений: 1,412 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 327 раз(а) |
Итак, почти 20 лет спустя, я таки добрался до игры и сделал расшифровщик.
Лучше же поздно, чем никогда, правда? (*улыбается*) И да, та демо-версия, которую я нашёл, и правда, от имени файла никак не зависела. В полной версии игры статический ключ (не зависящий от имени файла) применяется к файлам с расширениями ".s2m" и ".sav". Settlers II: 10th Anniversary (New Generation) file decoder |
![]() ![]() |
| Упрощённая версия | Сейчас: 3rd March 2026 - 04:35 |