Elite Games - Свобода среди звезд!
.
ВНИМАНИЕ!
Наша конференция посвящена космической тематике и компьютерным играм.
Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!

  » Ковыряем движок и всё такое | страница 1
Конференция предназначена для общения пилотов. Для удобства она разделена на каналы, каждый из которых посвящен определенной игре. Пожалуйста, открывайте темы только в соответствующих каналах и после того, как убедитесь, что данный вопрос не обсуждался ранее.

Поиск | Правила конференции | Фотоальбом | Регистрация | Список пилотов | Профиль | Войти и проверить личные сообщения | Вход

   Страница 1 из 15
На страницу: 1, 2, 3 ... 13, 14, 15  След.    Перейти:   Все страницы
Поиск в этой теме:
Канал X4: Foundations » Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
ну что, привет абсолютно все подписанные файлы и некрасивая надпись "modified".

про ключи
так как игра должна работать в оффлайне, то все необходимые ключи должны быть такие же локальные. если прошерстить экзешник на предмет фраз "BEGIN RSA PRIVATE KEY" и "BEGIN PUBLIC KEY", то быстро обнаружим один приватный и пару публичных RSA-ключей. один публичный ключ соответствует приватному, второй нет. приватный ключ запаролен, однако passphrase (16 символов) лежит чуть выше ключа и легко обнаруживается при шестнадцатеричном просмотре.

что можно с этим сделать. для начала можно убрать пароль, чтобы при экспериментах не париться:
Код:
$openssl rsa -in private.key -out private.key.nopass


затем получить публичный ключ (для сравнения с имеющимся, например):
Код:
$openssl rsa -in private.key.nopass -pubout > public.key


теперь можно самостоятельно подписывать дайджесты для файлов (для примера взял 0002-L007.xml из каталога t):
Код:
$openssl dgst -sha256 -sign private.key.nopass -out 0002-L007.xml.new.sig 0002-L007.xml


на этом случился тормоз, ибо полученный дайджест не совпал с оригинальным 0002-L007.xml.sig. либо используется не sha256, либо приватный ключ от чего-то другого, либо подпись выполнена при помощи сертификата, который пока не обнаружен.

такой же облом при попытке проверить дайджест имеющимися публичными ключами:
Код:
$openssl dgst -sha256 -verify public.key -signature 0002-L007.xml.sig 0002-L007.xml
Verification Failure


про "новые" *_sig.(cat|dat)
с обычными cat|dat без проблем работают все известные утилиты. а вот в новых что-то с чем-то. для примера взял 09_sig, он содержит 377 дайджестов по 1 Кб, для русского и английского по 34 штуки.

предполагаю, что это подписи не для всего файла, а для множеста его "кусков". однако для русского файлика размером 2879421 байт 34 "куска" дают ~84688 байт на каждый, что ни разу не похоже на кратные степени двойки числа.

ещё наблюдение, если отсортировать дайджесты по дате (третий элемент - unixtime в cat-файле), то для 0001-L007.xml получается вот такая фигня:
 Cкрытый текст   (кликните здесь для просмотра)
2018-11-14 10:42:42
2018-11-14 13:14:30
2018-11-14 18:23:52
2018-11-15 00:12:24
2018-11-15 12:20:29
2018-11-16 10:29:24
2018-11-16 12:43:48
2018-11-16 18:08:37
2018-11-16 21:07:07
2018-11-17 16:53:01
2018-11-19 18:29:37
2018-11-20 10:50:28
2018-11-20 18:14:51
2018-11-21 18:58:05
2018-11-22 00:27:53
2018-11-22 16:47:05
2018-11-22 18:28:43
2018-11-23 11:52:25
2018-11-23 13:25:59
2018-11-23 14:42:42
2018-11-23 16:37:55
2018-11-23 21:41:34
2018-11-23 23:40:25
2018-11-24 14:54:12
2018-11-27 01:27:38
2018-11-27 02:57:49
2018-11-27 11:14:37
2018-11-27 20:26:10
2018-11-28 13:26:17
2018-11-28 14:08:29
2018-11-28 18:18:11
2018-11-29 00:23:14
2018-11-29 17:16:17
2018-11-30 12:06:01

может это даты изменений конкретного файла, но на фига хранить их я не понял.

так как игра вполне себе принимает распакованные файлы, то вопрос пока что один: где бы раздобыть нужные ключи/сертификаты, не дожидаясь, пока "самая дружественная к моддерам контора" не выдаст новые X4 Foundation Tools.
    Добавлено: 21:13 30-11-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Взял 1 кат открыл программой X Rebirth Tools - v. 1.10 и все распаковал как обычный так и сигнатурный 4 гига обычный 44 метра сигнатурный.

 Cкрытый текст   (кликните здесь для просмотра)


Структура внутренняя, как и у хребта.
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (22:33 30-11-2018), всего редактировалось 2 раз(а)
    Добавлено: 22:28 30-11-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
речь о том, что уже в 01_sig.cat over9000 повторений. если алгоритм работы с архивами не менялся, то актуальна только последняя запись, поэтому XRTools и не спотыкается. но зачем в одном каталоге держать несколько дайджестов?
    Добавлено: 22:51 30-11-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Деньги через сейв как и в хребте добавить можно ))

 Cкрытый текст   (кликните здесь для просмотра)

_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (23:24 30-11-2018), всего редактировалось 1 раз
    Добавлено: 23:23 30-11-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
прогресс:
Код:
$openssl dgst -sha512 -verify public2.key -signature 0002-L007.xml.sig 0002-L007.xml
Verified OK
$openssl dgst -sha512 -verify public2.key -signature 0002-L044.xml.sig 0002-L044.xml
Verified OK


дайджест используется SHA512, публичный ключ второй, для которого нет приватного ключа Расстроен
    Добавлено: 00:15 01-12-2018   
egornov.ivan
 64 EGP

Репутация: 3
Сообщения: 52

Зарегистрирован: 26.04.2017
HikeR :
L007.xml.sig

Признавайтесь кто обидел EGOSOFT что они на локализацию подпись повесили?
    Добавлено: 00:41 01-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Это что бы не расслаблялись)) И они же обещали упростить в разы моддинг в Х4, вот и упростили Хы...
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 01:03 01-12-2018   
egornov.ivan
 64 EGP

Репутация: 3
Сообщения: 52

Зарегистрирован: 26.04.2017
alexalsp :
моддинг в Х4

Моды и так уже можно клепать, а вот оригинальные файлы уже не подправить
    Добавлено: 01:09 01-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
честно говоря, я бы понял все эти подписи если хотя бы ачивки в стиме перестали работать. ан нет, modified присутствует, но прохождение лётной школы и пролёт через аномалию засчитали.

к слову, сейвы тоже подписаны, но для них что-то не выходит проверить подпись. может кто знает, что именно является критичным, физическое содержание файла между тегами savegame или его некое бинарное представление внутри игры после загрузки?
    Добавлено: 01:16 01-12-2018   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
alexalsp :
Это что бы не расслаблялись)) И они же обещали упростить в разы моддинг в Х4, вот и упростили Хы...

А в чем проблема для моддинга? Они не моддерам жизнь усложнили, а упростили себе. Теперь хоть что в игре поменяй - вот тебе и модифайд. И техподдержка тебя сразу шлет ннна...

Собственно, я их понимаю. А уж ты, с твоим опытом, должен еще больше быть в курсе, что если кто на что-то жалуется - хрен он признается, что сам виноват. Ну, у меня же всего навсего пицод модов стоит и они никак не могли вызвать ЭТУ мою проблему... И даже когда я из них два отключил, проблема осталась...
    Добавлено: 01:21 01-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
А где пишется модифед в игре или в стиме ? Скринаесть у кого.
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 01:53 01-12-2018   
eliseeff
 268 EGP


Рейтинг канала: 2(21)
Репутация: 5
Сообщения: 932

Зарегистрирован: 07.03.2015
alexalsp :
А где пишется модифед в игре или в стиме ? Скринаесть у кого.

    Добавлено: 02:01 01-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
и так сделал тестовый микро мод, все работает за исключением только одного

 Cкрытый текст   (кликните здесь для просмотра)


Код:

[General] 0.00 ======================================
[=ERROR=] 0.00 File I/O: Could not find file '.\extensions\alexalsp_add_money\md\add_money.xml.sig'
[General] 0.00 ======================================
[General] 0.00 File I/O: Failed to verify the file signature for file '.\extensions\alexalsp_add_money\md\add_money.xml' (error: 14)
[General] 458.34 ======================================


Кто в курсе как их делать ? *.sig По ходу они теперь требуются к каждому долбанному файлу .

Мож кто то програмку впилит что бы это делало , я хз ни когда с этим не сталкивался , сиги , биги, Мария Магдалена .... Хы...
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH

Последний раз редактировалось: alexalsp (22:45 01-12-2018), всего редактировалось 6 раз(а)
    Добавлено: 22:25 01-12-2018   
egornov.ivan
 64 EGP

Репутация: 3
Сообщения: 52

Зарегистрирован: 26.04.2017
alexalsp :
Кто в курсе как их делать ? *.sig

Это по сути цифровая подпись на файл, ключ для подписи есть только у егософтов и гдето в екзешнике. Чуть выше HikeR пишет что куча непоняток с этими ключами
    Добавлено: 23:11 01-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
на оффоруме уже лежит сейв с 999 910 000 деньгами (если больше миллиарда, то с ачивками какая-то беда). подпись у сейва валидная, то есть modified не возникает, но получена она скорее всего через какую-нить артмани (в игре похакали денежный счёт и сохранились).

чтобы самостоятельно подписать измененённые файлы нужен приватный ключ, а он недоступен. про "взломать" 8192-битный RSA можно даже и не мечтать лет сто.

p.s.
АНБ, по слухам, умеет ломать 4096-битные ключи, а немцы, походу, решили и им насолить.

egornov.ivan :
куча непоняток

не, сейчас уже понятно, что один публичный ключ встроен для проверки дайджестов (подписей), а пара из приватного/публичного скорее всего нужна для шифрования отправляемой статистики и дампов.

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

Последний раз редактировалось: HikeR (23:25 01-12-2018), всего редактировалось 1 раз
    Добавлено: 23:19 01-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
Так получается что в логе теперь из за этого накаждый мод, малотого, что модифид да еще тона строк на 1000 модовых файлов о том что нет SIG ?

Что у них с головой. ?
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 23:25 01-12-2018   
egornov.ivan
 64 EGP

Репутация: 3
Сообщения: 52

Зарегистрирован: 26.04.2017
alexalsp :
да еще тона строк

Ну тут видимо придется ждать воркшопа в стиме

HikeR :
публичный ключ встроен для проверки дайджестов

Вот теперь дощло, примерно как пакеты в линупсах проверяются

Последний раз редактировалось: egornov.ivan (23:45 01-12-2018), всего редактировалось 1 раз
    Добавлено: 23:32 01-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
из сегодняшнего патча, в скриптах интерфейса:
Код:
      icon = string.format("\027#FF%02x%02x%02x#", iconcolor.r, iconcolor.g, iconcolor.b) .. "\027[workshop_error]\027X"

и такого добра там, оказывается, куда ни плюнь. при том что каждый начинающий Lua-программист первым делом учится понимать, что в Lua все строки неизменяемы, операция конкатенации строк очень затратная и есть куча способов этого избежать.

зла не хватает. в одном месте насчитал аж 18 конкатенаций строк по несколько байт...
    Добавлено: 00:33 02-12-2018   
alexalsp
 513 EGP


Модератор
Рейтинг канала: 5(206)
Репутация: 54
Сообщения: 4235

Зарегистрирован: 12.08.2014
даже сжав в кат/дат выдает ошибку на отсутствие sig фала к файлам мода. думаю тут и воркшоп не поможет . По ходу им надо эти подписки отрубить для папки модов, а то бред получается . Если есть мод в папке , пиши модифицировано но подписи к модам это уже странно.
_________________
CMDR: Fallout(EG)

ED - если застряли: https://discord.gg/w56kPWH
    Добавлено: 00:38 02-12-2018   
HikeR
 145 EGP


Рейтинг канала: 2(24)
Репутация: 30
Сообщения: 886
Откуда: Великий Новгород
Зарегистрирован: 20.09.2005
ну, будут как в X2 собственноручно подписывать избранные моды, которые, по их мнению, не меняют баланс.
с другой стороны, организовать онлайн-подпись модов при их загрузке в мастерскую через свою утилиту не передавая приватный ключ пользователю легче лёгкого.
с третьей стороны, тогда зачем было огород городить...
    Добавлено: 00:50 02-12-2018   
Канал X4: Foundations -> Модовый и скриптовый отсек X4: Foundations: «Ковыряем движок и всё такое»
На страницу: 1, 2, 3 ... 13, 14, 15  След.    Перейти:   Все страницы
  
Показать: 
Предыдущая тема | Следующая тема |
К списку каналов | Наверх страницы
Цитата не в тему: Главная цель - брать мужиков в плен и выпытывать деньги с пристрастием... (мечтает MeLeK)

  » Ковыряем движок и всё такое | страница 1
Каналы: Новости | Elite | Elite: Dangerous | Freelancer | Star Citizen | X-Tension/X-BTF | X2: The Threat | X3: Reunion | X3: Terran Conflict | X Rebirth | X4: Foundations | EVE Online | Orbiter | Kerbal Space Program | Evochron | VoidExpanse | Космические Миры | Онлайновые игры | Другие игры | Цифровая дистрибуция | play.elite-games.ru | ЗВ 2: Гражданская война | Творчество | Железо | Игра Мечты | Сайт
   Дизайн Elite Games V5 beta.18