|
|
|
Канал X2: The Threat: «Кто-нибудь знает формат сейва Х2?» |
|
|
Lazy Cat
405 EGP
  Рейтинг канала: 1(4) Репутация: 145 Сообщения: 2148 Откуда: Украина, Тернополь Зарегистрирован: 16.04.2004
 |
|
Это нужно не для читерства - какой смысл ломать сейвы если намного большее можно сделать скриптами?
Есть идея сделать программу которая будет вытягивать актуальную карту (возможно и другую информацию) из сейвов игрока. Не уверен, что там зранится вся вселенная Х2, но тогда по крайней мере там должны быть индивидуальные отличия от стандартной.
Пока это только идея, так что любая помощь приветствуется. Хотя что-то мне подсказывает, что делать всеравно придется мне, даже если помогут с форматом
|
|
|
DiSa
385 EGP
    Репутация: 84 Сообщения: 1426 Откуда: Зеленоград, Россия Зарегистрирован: 07.02.2001
 |
|
Это голый dump памяти. В последнем патче прикрутили сжатие.
Крайне сомневаюсь что где -нибудь доступна структура.
Разбираться ручками придется.
_________________ Вам помочь или не мешать? |
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Структуры сейва даже Egosoft не знает! Это 100%
Знали б, не хранили бы там все ресурсы
А так просто дампанули ВЕСЬ кусок памяти, выделенный под данные, кроме пожалуй текстур, абсолютно не заботясь о структуре. Так же и загружают...
Цитата: |
Разбираться ручками придется.
|
Я думаю не стоит и пытаться. Там одни и те же переменные от сейва к сейву с различным смещением расположены и даже сегментированы, т.е. как резервировалась память при динамическом выделении памяти под очередной переменную/объект, так оно и легло в сейв, т.е. там бардак полный.
Выцепить отдельную переменную (опять же заранее зная ее точное значение) из сейва конечно можно, но вот структуру (например карту)
|
|
|
CooL_SnipeR
615 EGP
   Рейтинг канала: 1(2) Репутация: 214 Сообщения: 4050 Заблокирован Откуда: Ясный-Москва Зарегистрирован: 19.03.2004
 |
|
Цитата: |
Выцепить отдельную переменную (опять же заранее зная ее точное значение) из сейва конечно можно, но вот структуру (например карту)
|
Пытался - аналогично - если ты не супер хакер, крякер и линуксоид в месте + вагон времени - тогда флаг в руки!!
_________________ Никогда не бывает так плохо, после чего не может быть еще хуже... |
|
|
DiSa
385 EGP
    Репутация: 84 Сообщения: 1426 Откуда: Зеленоград, Россия Зарегистрирован: 07.02.2001
 |
|
CooL_SnipeR : |
Цитата: |
Выцепить отдельную переменную (опять же заранее зная ее точное значение) из сейва конечно можно, но вот структуру (например карту)
|
Пытался - аналогично - если ты не супер хакер, крякер и линуксоид в месте + вагон времени - тогда флаг в руки!!
|
А линуксоид тут причем ?
_________________ Вам помочь или не мешать? |
|
|
Lazy Cat
405 EGP
  Рейтинг канала: 1(4) Репутация: 145 Сообщения: 2148 Откуда: Украина, Тернополь Зарегистрирован: 16.04.2004
 |
|
Ну и как вы себе представляете загрузку данных когда непонятно что где лежит?
Есть там вся информация что где лежит, более чем уверен - как бы тогда иначе Х2 восстанавливала состояние после сейва? Другое дело что все это так записано, что без разборки исходников/документации не разберешься Есть там и четко структурированные места, вот только оттолкнуться не от чего чтобы все раскручивать ...
|
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Lazy Cat : |
Ну и как вы себе представляете загрузку данных когда непонятно что где лежит?
|
Ты знаешь, что такое дамп памяти? Не нужно знать структуру, чтобы его сохранить/загрузить.
|
|
|
Vic3Dexe
685 EGP
   Репутация: 148 Сообщения: 2264 Откуда: Kiev Зарегистрирован: 23.03.2004
 |
|
Цитата: |
Я думаю не стоит и пытаться. Там одни и те же переменные от сейва к сейву с различным смещением расположены и даже сегментированы, т.е. как резервировалась память при динамическом выделении памяти под очередной переменную/объект, так оно и легло в сейв, т.е. там бардак полный.
|
Lazy Cat прав, ИМХО, как при загрузке-то? Или динамическое выделение повторяется точь-в-точь при какждой загрузке?
_________________ I'll be back... (c) |
|
|
Vic3Dexe
685 EGP
   Репутация: 148 Сообщения: 2264 Откуда: Kiev Зарегистрирован: 23.03.2004
 |
|
Цитата: |
Ты знаешь, что такое дамп памяти? Не нужно знать структуру, чтобы его сохранить/загрузить.
|
Если неизвестна структура дампа, то как из него данные вынимать?
_________________ I'll be back... (c) |
|
|
Lazy Cat
405 EGP
  Рейтинг канала: 1(4) Репутация: 145 Сообщения: 2148 Откуда: Украина, Тернополь Зарегистрирован: 16.04.2004
 |
|
akm : |
Ты знаешь, что такое дамп памяти? Не нужно знать структуру, чтобы его сохранить/загрузить.
|
Как ни странно знаю - я програмированием себе на жизнь зарабатываю, лет 12 уже. И пишу совсем не сайты на РНР (и слава богу уже не на 1С).
Чтобы записать дамп памяти надо только знать откуда и сколько писать, а вот чтобы потом его прочитать (причем правильно!) нужно совершенно точно знать что где валяется. Да и сомневаюсь я что там просто дамп - есть решения намного проще и удобнее. Например несколько кусков памяти с указанием размера, того что там лежит и базового адреса, а внутри кроме данных еще несколько дополнительных ссылок внутрь этого блока и т.д.
|
|
|
akm
470 EGP
    Рейтинг канала: 1(4) Репутация: 173 Сообщения: 1638 Откуда: Паразит Прайм Зарегистрирован: 23.10.2002
 |
|
Правильно мыслишь. Деталей реализации сейвов Эгософтом я знать не могу, т.к. не являюсь их сотрудником и исходников не имею. Я лишь сделал вывод, что сам Эгософт этой структуры своих сейвов не знает, на основании того факта, что бОльшая часть содержимого сейвов нафиг там не нужна. Знали б они сами эту структуру, сделали бы сейвы не 60 метров, а в 10-50 раз меньше даже без применения компрессии.
ЗЫ. Сайты на РНР никогда не писал (и тем более на 1С )
|
|
|
Lazy Cat
405 EGP
  Рейтинг канала: 1(4) Репутация: 145 Сообщения: 2148 Откуда: Украина, Тернополь Зарегистрирован: 16.04.2004
 |
|
akm : |
Правильно мыслишь. Деталей реализации сейвов Эгософтом я знать не могу, т.к. не являюсь их сотрудником и исходников не имею. Я лишь сделал вывод, что сам Эгософт этой структуры своих сейвов не знает, на основании того факта, что бОльшая часть содержимого сейвов нафиг там не нужна. Знали б они сами эту структуру, сделали бы сейвы не 60 метров, а в 10-50 раз меньше даже без применения компрессии.
|
Начет размера сейвов - ХЗ, там ведь хранится и загрузка ВСЕХ станций и кораблей, так что размер должен существенно зависеть от количества станций/кораблей, а сами данные неплохо архивироваться ... И вряд-ли Эгософт читает хлам из сейвов, даже если и пишет его туда .
akm : |
ЗЫ. Сайты на РНР никогда не писал (и тем более на 1С )
|
Ну, сайты на 1С я тоже не писал , но готов поставить пиво тому, кто это сделает
|
|
|
Dimaxx
1016 EGP
      Рейтинг канала: 1(5) Репутация: 204 Сообщения: 5812 Откуда: Северодвинск Зарегистрирован: 26.06.2002
 |
|
В сейвах от ХТ были поля со смещением на таблицы, данные. Тоже самое и в сейвах от Х2, но немного по-другому, т.к. игра переписана.
_________________ "Если мы не покончим с войной, война покончит с нами." Г. Г. Уэллс |
|
|
UranIum
100 EGP
 Репутация: 14 Сообщения: 68 Откуда: subMoscow Зарегистрирован: 22.12.2003
 |
|
Lazy Cat : |
Ну, сайты на 1С я тоже не писал , но готов поставить пиво тому, кто это сделает
|
Проиграешь пиво, в 1С 8 включают каке-то фишки http.. управление или еще что...
_________________ Сайт
uranium.homedns.org |
|
|
|
|
|
Канал X2: The Threat: «Кто-нибудь знает формат сейва Х2?» |
|