IPB

Добро пожаловать, гость ( Вход | Регистрация )

2 Страниц V < 1 2  
Reply to this topicStart new topic
> CheMax, База данных
useretail
Apr 26 2025, 00:31
Сообщение #21


Member
**

Группа: Authorized
Сообщений: 23
Регистрация: 3-May 08
Пользователь №: 6,696
Спасибо сказали: 9 раз(а)



todo: выковырять списки смещений и имена игр для FC
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 26 2025, 00:50
Сообщение #22


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



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


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadeov
Jul 8 2025, 17:14
Сообщение #23


Newbie
*

Группа: Authorized
Сообщений: 4
Регистрация: 8-July 25
Пользователь №: 18,036
Спасибо сказали: 3 раз(а)



Привет всем!

Подскажите, пожалуйста, как достать ключи смещений в CheMax? Нужна пошаговая инструкция для "новичка".

Хочу сохранить это наследие, адаптировать под современные системы и при этом обеспечить обратную совместимость с базой данных.

Всё никак не дадим спокойно помереть ЧеМаксу laugh.gif


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 8 2025, 17:32
Сообщение #24


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



QUOTE(Shadeov @ Jul 8 2025, 17:14) *
Привет всем!
Добро пожаловать на форум!

QUOTE(Shadeov @ Jul 8 2025, 17:14) *
Подскажите, пожалуйста, как достать ключи смещений в CheMax? Нужна пошаговая инструкция для "новичка".

Хочу сохранить это наследие, адаптировать под современные системы и при этом обеспечить обратную совместимость с базой данных.

Всё никак не дадим спокойно помереть ЧеМаксу laugh.gif
Готовые смещения есть в архиве к программе database decrypter (ссылку ранее в этой теме давал) к последним версиям CheMax: 20.8 для английской версии (файл "eng_20_8.txt") и 21.4 для русской (файл "rus_21_4.txt"). Вроде бы, это должны быть последнии версии программы.
Если нужны для каких-то старых версий, то тут придётся попотеть. Я так делал:
1. Смещения для описаний находятся внутри CheMax.exe, но файл защищён ASPack.
2. Я снимал ASPack программой Dr.WEB.FLY-CODE.Unpacker.0.1.
3. Далее нужно вытащить строки (названия игр) и смещения - они отдельно находятся.
4. Чтобы вытащить имена игр, засовываем распакованный файл "STEP1_ASPACK.exe" в программу по работе с ресурсами (я для этого Resource Hacker использовал) и сохраняем куда-нибудь .DFM файл с главной формой программы. Затем в Delphi (у меня он стоит) создаём пустой проект, затем сохраняем и закрываем его. Заменяем файл формы сохранённой формой от CheMax. После этого открываем проект снова в Delphi, на форме выбираем список с именами игр, выбираем редактировать, затем сохраняем в буфер обмена Ctrl+C всё содержимое и вставляем Ctrl+V в какой-нибудь пустой текстовый файл.
5. Теперь нужно достать смещения. Здесь сложнее, потому что они в бинарном виде и как их найти я не могу написать - я тупо вручную отсматривал файл в HEX-редаторе. У меня осталась вот такая черновая рабочая программа, которой я смещения доставал - надеюсь пригодится как отправная точка для работы. Обращаю внимание, что смещений, вроде бы, на 1 больше, чем названий игр (последнее смещение равно размеру файла с описаниями) - это для того, чтобы размер описания к игре можно было получить как разницу между следующим и текущим смещением.
6. Ну и потом нужно просто объединить смещения и названия игр - можно написать для этого программу или скрипт, например, на том же PHP или на чём удобнее.

Программу ниже нужно скомпилировать и перенаправить вывод в файл при запуске:
offsdump.exe > offs.txt
Исходный код "offsdump.c":
CODE
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <string.h>
#include <stdint.h>

/* eng 19.2 */
/*
static uint32_t offslist[] = {
0xD7C14,
0xDBA94,
0xDE974
};
*/

/* eng 20.8 */
static uint32_t offslist[] = {
0xD8614,
0xDC494,
0xDF374
};

/* rus 21.4 */
/*static uint32_t offslist[] = {
0xDBA14,
0xDF894,
0xE2774,
0xE5654,
0xE8534,
0xEB414,
0xEE2F4
};*/

static uint32_t offs[4000];

int main(int argc, char *argv[]) {
uint32_t i, j;
FILE *fl;
fl = fopen("STEP1_ASPACK.exe", "rb");
if (!fl) { return(1); }
for (i = 0; i < (sizeof(offslist) / sizeof(offslist[0])); i++) {
fseek(fl, offslist[i], SEEK_SET);
fread(offs, sizeof(offs), 1, fl);
for (j = 0; j < 4000; j++) {
if (!offs[j]) { break; }
printf("%08X\n", offs[j]);
}
}
fclose(fl);
return(0);
}


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadeov
Jul 9 2025, 00:58
Сообщение #25


Newbie
*

Группа: Authorized
Сообщений: 4
Регистрация: 8-July 25
Пользователь №: 18,036
Спасибо сказали: 3 раз(а)



QUOTE
Добро пожаловать на форум!

Спасибо!

QUOTE
Если нужны для каких-то старых версий, то тут придётся попотеть.

Правильно ли я понимаю, что ни у "Dr.WEB.FLY-CODE.Unpacker", ни у "STEP1_ASPACK.exe" нет ни исходников, ни даже внятного описания принципа работы?

Мне нужно будет воспроизвести их логику на клиентском JavaScript, а позже — и на других платформах. Использование готовых exe-файлов убивает кроссплатформенность.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 9 2025, 06:28
Сообщение #26


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



QUOTE(Shadeov @ Jul 9 2025, 00:58) *
Правильно ли я понимаю, что ни у "Dr.WEB.FLY-CODE.Unpacker", ни у "STEP1_ASPACK.exe" нет ни исходников, ни даже внятного описания принципа работы?
"Dr.WEB.FLY-CODE.Unpacker" точно исходных кодов нет, а "STEP1_ASPACK.exe" - это имя, под которым первая программа сохраняет распакованный "CheMax.exe" файл (со снятой защитой). К CheMax тоже никто исходных кодов не выкладывал.

QUOTE(Shadeov @ Jul 9 2025, 00:58) *
Мне нужно будет воспроизвести их логику на клиентском JavaScript, а позже — и на других платформах. Использование готовых exe-файлов убивает кроссплатформенность.
А какая конечная цель проекта? Что сделать нужно в итоге?
Возможно есть какое-то более простое решение, чем писать распаковщик для ASPack и что-то откуда-то выковыривать.
Я почему спрашиваю именно про конечную цель, потому что промежуточные задачи могут быть сильно не о том. Не помню, вроде бы, где-то уже рассказывал, но меня как-то попросили написать распаковщик ресурсов к игре, потом переделать чтобы он сохранённые игры распаковывал (там формат схожий), но в итоге выяснилось, что человек просто хотел найти где у него в игре деньги хранятся и дать их себе побольше. Однако это легко делалось программой ArtMoney (о которой человек просто не знал) и распаковывать ничего не нужно было. К слову сказать, человек потом извинился, что ввёл в заблуждение и сразу не рассказал что именно он в итоге получить хотел, и даже на копилку сам закинул.
Поэтому я про итоговую цель и спрашиваю - возможно, есть решение гораздо проще того, что мы сейчас обсуждаем.
Если там какой-то секрет большой, то можно мне личное сообщение написать на e-mail.
А если нет, то давайте здесь обсуждать - возможно, техническое решение будут ещё кому-то интересно для похожего или другого проекта. Или кто-то ещё из прочитавших идей подбросит.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadeov
Jul 9 2025, 08:56
Сообщение #27


Newbie
*

Группа: Authorized
Сообщений: 4
Регистрация: 8-July 25
Пользователь №: 18,036
Спасибо сказали: 3 раз(а)



QUOTE
А какая конечная цель проекта?

Цель — альтернативный клиент для CheMax с обратной совместимостью. Планирую сайт + кроссплатформенные клиенты (Mac, Windows, iOS, Android и т.д.).

Идея в том, чтобы просто загружать CheMax.exe и cheats.dat, после чего база открывается в современном интерфейсе — прямо в браузере, без установки.

Если безболезненной распаковки не получится, то, скорее всего, просто вытащу смещения вручную и буду сопоставлять по хешу .dat‑файлов.
В крайнем случае — использовать только уже готовые ваши смещения от последних версий.

Пока набросал небольшой сайт на основе вашей DeCheMax — https://dechemax.vercel.app/
Открывает последние версии CheMax и CheMax FC. Old пока не проверял. Всё на клиенте: база сохраняется в кэше браузера и там же распаковывается.

Как доделаю — обязательно выложу исходники.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 9 2025, 10:04
Сообщение #28


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



Во! Спасибо за развёрнутый ответ.
Теперь по пунктам.
QUOTE(Shadeov @ Jul 9 2025, 08:56) *
Цель — альтернативный клиент для CheMax с обратной совместимостью. Планирую сайт + кроссплатформенные клиенты (Mac, Windows, iOS, Android и т.д.).

Идея в том, чтобы просто загружать CheMax.exe и cheats.dat, после чего база открывается в современном интерфейсе — прямо в браузере, без установки.
Идея классная, только вот с точки зрения конечного пользователя сложновата в использовании. Проще будет, наверное, БД последней версии CheMax конвертировать в одностраничный HTML файл и выложить в Интернет. Кому надо скачают к себе на диск для просмотра в offline, кому не надо - смогут через Интернет обозреватель с любого устройства смотреть. Если из БД выкинуть все игры, где написано только "для этой игры есть трейнер на сайте CheMax" (сайт закрылся и трейнеры вместе с ним пропали) и больше ничего (как это ни странно, таких игр много, причём этот текст тупо дублируется), то итоговая HTML страничка ещё и занимать мало будет. Ещё можно сделать список с играми как плавающий блок слева или справа, чтобы всегда на экране был и якорями-ссылками для быстрого перехода к нужной игре.
Можно, как уже писал ранее, сделать сайт-вики с кодами для CheMax, где люди смогут их обновлять, исправлять, добавлять.
Я не вижу смысла именно заморачиваться поддержкой всех версий (разве что, кроме как хобби) в силу следующих причин:
1. Неудобно использовать. Пользователю чтобы посмотреть какие-то коды, которые он когда-то в этой программе видел, нужно где-то найти дистрибутив программы, установить или как-то его распаковать, затем достать оттуда нужные файлы, затем залить их на сайт - я ставлю на то, что такое количество телодвижений очень многих людей отпугнёт, а кому-то просто всё желание заморачиваться отобьёт. Да, можно добавить поддержку InnoSetup установщика и .ZIP архива, чтобы можно было дистрибутив программы заливать на сайт без установки, но дистрибутив всё равно нужно будет где-то найти.
2. Сайт CheMax закрылся, похоже, автор не планирует продолжать проект. Сами по себе коды к играм не могут быть защищены авторским правом (если, вдруг, беспокоит этот вопрос). К тому же, скорее всего, коды для БД просто собирались из всяких сборников и сайтов в Интернете. Программа была полезна для экономии трафика в 2000-ых годах, когда Интернет дорого стоил и не был безлимитным, то иметь под рукой энциклопедию было удобно. А сейчас с общедоступным Интернетом такая программа не особо актуальна в виде отдельного приложения.

QUOTE(Shadeov @ Jul 9 2025, 08:56) *
Если безболезненной распаковки не получится, то, скорее всего, просто вытащу смещения вручную и буду сопоставлять по хешу .dat‑файлов.
В крайнем случае — использовать только уже готовые ваши смещения от последних версий.
Да, кстати, именно такое решение и хотел предложить - заготовить смещения + имена игр от всех существующих версий и по размеру/хешу от .dat файла использовать нужные. Процесс, правда, будет долгий и трудоёмкий - непонятно сколько там версий было, что-то можно из WebArchive достать, что-то с того же Old-Dos, но все ли там версии - неизвестно.

QUOTE(Shadeov @ Jul 9 2025, 08:56) *
Пока набросал небольшой сайт на основе вашей DeCheMax — https://dechemax.vercel.app/
Открывает последние версии CheMax и CheMax FC. Old пока не проверял. Всё на клиенте: база сохраняется в кэше браузера и там же распаковывается.

Как доделаю — обязательно выложу исходники.
Глянул - круто!

Я в любом случае отговаривать не буду - если есть желание, силы и время - то почему бы и нет?
Хобби проекты тем интересны и приятны, что люди делают просто то что им хочется и нравится.
А ещё иногда такие штуки делаются просто чтобы освоить какие-то новые технологии и на чём-то потренироваться - просто так писать что-то абстрактное неинтересно, а вот работать над конкретной задачей уже гораздо увлекательнее.
В общем, я за любой кипишь, кроме голодовки. (*улыбается*)


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 12 2025, 17:41
Сообщение #29


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



QUOTE(Shadeov @ Jul 9 2025, 08:56) *
Пока набросал небольшой сайт на основе вашей DeCheMax — https://dechemax.vercel.app/
Погонял немного, очень круто! Несколько пожеланий:
1. Заголовок страницы "Create Next App". Заменить на что-нибудь типа "CheMax Decoder", а то сразу вкладку не нашёл, когда переключился на другую.
2. Хотелось бы, чтобы поле "Поиск игр..." не исчезало, когда крутишь список с играми вниз.
3. Когда листал коды к какой-то игре, где много текста, а затем через список слева переключился на коды к другой игре, где тоже много текста, то сохраняется позиция. На небольшом разрешении экрана (у меня 1024x768) не сразу понимаешь, что у тебя сверху коды и нужно прокручивать вверх страницу с описанием кодов, чтобы на начало выйти. Хотелось бы, чтобы позиция сбрасывалась на ноль (вверх) при переключении на другую игру из списка или перезагрузки всей страницы.
4. Почему-то после перезагрузки страницы, если список игр слева пролистать в самый низ, то никак не удаётся выбрать последнюю игру - страница очень долго сопротивляется и почему-то откатывается на одну позицию вверх. Если долго крутить колесо мышки вниз, то в какой-то момент страница таки сдаётся и позволяет выбрать последнюю игру в списке.
5. Три полоски рядом с названием игры в правой части, лучше заменить на стрелку влево, как в GitHub сделано, когда код открываешь, там также можно панель слева скрыть. Просто три подряд горизонтальные черты ассоциируются с меню, а здесь на привычную иконку другой функционал установлен.
6. Было бы очень здорово поиск как-то разделить. Например, сделать снизу или сверху над полем для ввода текста опции-радиокнопки:
(o) по имени | ( ) по тексту | ( ) везде
Или как-то так. А то ищешь по названию игры, а тебе в список выводятся все игры, где в описании, например, слово "doom" встречается. Поиск по тексту и везде рекомендую оставить, потому что иногда помнишь код, но не можешь вспомнить как игра точно пишется, чтобы правильно её в поиске набрать и найти.

Из отдельных вещей, которые не могу не отметить:
1. Очень понравился дизайн - ничего лишнего, очень удобно, все элементы расположены именно там, где их и ожидаешь увидеть. Также как и цветовая схема: важное более насыщенным цветом, второстепенные элементы чуть более блеклым.
2. Понравилось, что статистика есть: если загрузить несколько БД, то в списке указан размер как самой базы, так и количество игр в ней. А когда выбираешь игру, то указано сколько символов в описании (вертикальная точка в качестве разделителя хорошо смотрится - надо будет взять на заметку). Хотя вся эта статистика и мелочь (возможно, вообще, какая-то вещь оставшаяся от отладочного кода), но ужасно приятно и информативно.
3. Особый плюс, что работает даже на относительно старых Интернет обозревателях, а то я боялся, что без установки какой-нибудь супер-последней версии Google Chrome, которой для работы ещё и Windows 11 нужен, ничего работать не будет. В консоли (F12), кстати, тоже ошибок нет, что говорит о том, что код чисто написан. Очень круто! Эх, все бы так сайты делали. А то коммерческие сайты, за которые сумасшедшие деньги платят, так написаны, что кровь из глаз хлещет, а хобби-проекты люди за просто так делают, но получается настолько лучше, что даже сравнивать неудобно.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Shadeov
Sep 13 2025, 14:22
Сообщение #30


Newbie
*

Группа: Authorized
Сообщений: 4
Регистрация: 8-July 25
Пользователь №: 18,036
Спасибо сказали: 3 раз(а)



QUOTE(-=CHE@TER=- @ Jul 13 2025, 00:41) *
Несколько пожеланий

Спасибо, ценный фидбек! По пунктам:
  1. Заголовок сменил на **CheMax Decoder**.
  2. Поле поиска теперь не пропадает навсегда — при наведении место поиска раскрывается.
  3. При переключении игры контент прокручивается в начало (сброс позиции).
  4. Исправил зависание при выборе последней игры (баг с инерцией/виртуальным списком).
  5. Три полоски заменил на стрелку для скрытия панели и наоборот.
  6. Добавил кнопку с опциями поиска.

Что ещё сделал (технически коротко):
  • Поддержка мобильных версий — мобильная верстка и UX переработаны.
  • Форма ввода пароля, если ни один из ключей не выдал валидный результат.
  • PWA + офлайн (работает как обычный PWA — есть ограничения).
  • Поддержка загрузки нескольких баз сразу.
  • Интерфейс: выбор языка EN / RU.
  • Улучшил клиентский движок, всё также — база хранится в IndexedDB и распаковывается прямо в браузере. Только со старой версией несовместимо, и оно не нужно было на самом деле.
  • Сопоставляет хеши некоторый баз, чтобы сопоставить хеш и название платформы. Например, определит для какой консоли БД, хоть и не используется в UI сейчас. Также определяет тип, версию и язык базы.
  • Добавил работу с браузерной навигацией (раньше не работали кнопки Вперед/Назад при переходе между играми или БД).
  • Задизайнил красивую иконку.

Сайт: https://decoder.rechemax.ru/ (скоро — интересное на https://rechemax.ru/).
Docker-образы и исходники выложу буквально на днях — дам здесь же ссылку сразу после релиза.


Спасибо сказали:
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Sep 13 2025, 19:26
Сообщение #31


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



Ух! Огонь, получилось!
Из нового отдельно хочу вот эти пункты отметить - прям очень круто (по первому пункту - полезная штука, я что-то до неё не догадался, а вторая просто очень удобная вещь):
QUOTE(Shadeov @ Sep 13 2025, 14:22) *
  • Форма ввода пароля, если ни один из ключей не выдал валидный результат.
  • Добавил работу с браузерной навигацией (раньше не работали кнопки Вперед/Назад при переходе между играми или БД).

Ещё несколько пожеланий, если можно:
1. Я смотрю сайт с Windows 7 x64 и обозревателя Eclipse R3dfox 135.0.1 x64 (современные возможности FireFox, но работает на Windows 7). Поле для поиска почему-то не постоянно, а исчезает, если крутить вниз. Чтобы снова появилось нужно прокрутить список вверх. Причём, что самое неприятное, поле для поиска ещё и кнопку интерфейса прокрутки вверх закрывает, так что на мышке где нет колеса, или оно сломано, список вверх прокрутить не получится.
2. Теперь очень странно идёт переключение игр: несколько раз меняется заголовок окна, содержимое тоже. Такое ощущение, что теперь переключение игр идёт с какой-то задержкой. В результате если ты промахнулся и не ту игру выбрал, а затем достаточно быстро выбрал какую надо, то окно будет с некоторым запозданием несколько раз менять содержимое и сверху заголовок окна тоже будет туда-сюда меняться, что сильно дезориентирует и ты некоторое время пытаешься понять ту ли игру тебе в конечном итоге показали. Может быть как-то сделать список неактивным, пока текущая выбранная игра не загрузится? Или, когда готово будет, обновлять всё сразу одним махом (и заголовок и содержимое)?
3. Залил 4 БД и потом, решив удалить лишние (старые), не нашёл как это сделать. В прошлый раз на сайте в списке БД на главной, вроде бы, была кнопка "X", которой можно было лишние БД подчистить.
4. Залил русскую БД 2.4 и английскую 3.6 (обе за 2004 год) - похоже, для них не было таблиц, потому что описания там выводятся обрезанные в начале и конце на полуслове, да ещё и не для тех игр. Ну, как бы, это, наверное, и не особо важно - всё же это старые версии. Может быть, просто как-то предупреждать, что БД расшифрована, но смещений нет? И выводить, не знаю, просто одним сплошным текстом, например? К сожалению, тут хороших вариантов в голову не приходит как лучше сделать, кроме как ограничить работу только с последними версиями БД.
5. Хотелось бы, чтобы при смене языка страница восстанавливалась как была: введённое в поиске слово, тип поиска, позиция в списке, открытая игра и позиция текста в ней. Сейчас всё сбрасывается. Не знаю насколько это технически сложно сделать.
6. Поиск по всем БД на главной я заметил только в последний момент. В интерфейсе просмотра уже выбранной БД его, походу, приткнуть негде. Как и с пунктом 4 не подскажу, увы, как тут лучше сделать. Функция полезная, которая будет сразу по всем БД искать, но вот куда её лучше поставить или оставить так - увы, не подскажу.
7. А ещё на главной странице, почему-то, если снизу щёлкнуть по иконке смены цвета или языка, то, такое ощущение, что справа появляется какой-то невидимый блок, потому что содержимое страницы сдвигается влево на пару пикселей. И, соответственно, возвращается назад, когда меню закрываешь, хотя ни одно их них на моём разрешении экрана (1024x768) за правый край не уходит.
8. А ещё какая-то странная штука произошла (увы, не смог воспроизвести и повторить): я набрал в поиске "Duke Nukem" (без кавычек) и начал по порядку тыкаться на игры в списке, когда дошёл до самой нижней, последней, у меня, почему-то, внезапно перегрузилась вся страница. Не понял что случилось, а повторить, увы, сколько не пытался, но так и не удалось.

А теперь к другим новостям.

Я обновил декодировщик на сайте до версии 1.3, что нового: поддержка расшифровки украинской версии программы (последняя была v3.2), а также файл со смещениями и именами игр для неё "ukr_3_2.txt". Обращаю внимание, что массив tmsk[] изменился - в разрешённые символы добавлены украинских буквы, чтобы проверка расшифровки формата файла проходила успешно.
Обновлённую версию декодировщика можно взять на сайте.
Украинскую версию можно найти на WebArchive: CheMaxUkr32.exe.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Вчера, 00:52
Сообщение #32


Walter Sullivan
***

Группа: Root Admin
Сообщений: 1,382
Регистрация: 4-February 08
Пользователь №: 3
Спасибо сказали: 322 раз(а)



Так, обновил архив с утилитами на сайте ещё раз. Да, теперь там две утилиты. Новая называется "idxbuild.exe" и позволяет автоматически вытащить и построить таблицу индексов к БД. Для этого нужно сделать следующее:

1. Выкачать все интересующие версии программы отсюда: WebArchive: chemax.ru/download/* (сразу предупреждаю, что там далеко не все версии сохранились).
2. Распаковать RAR-архив (если в WebArchive файл .RAR не сохранился, а только .EXE, то пропускаем этот шаг).
3. Вручную распаковать .EXE установщик при помощи утилиты innonp (ссылка). Устанавливать через оригинальный установщик настоятельно не рекомендую, потому что в некоторых версиях прячется Яндекс.Бар и прочее безобразие.
4. В распакованном установщике находим файлы "CheMax.exe" и "Cheats.dat" и кидаем туда же файл "idxbuild.exe", после чего запускаем его, жмём "ОК" на диалоговом окне и ждём пока он сам не откроет и не закроет программу.
5. Как только программа закрылась, то в том же каталоге должен будет появиться файл: "###_XX_Y.TXT", где
### - язык (ENG, RUS, UKR)
XX_Y - версия (например 20.8).
Индексные файлы будут отличаться от тех, что я выложил на сайте, потому что я из названий игр двойные пробелы убирал - считаю, что это опечатки. В программе мне их убирать лень было, поэтому так и осталось - сохраняется в том виде, в каком как есть.
Сразу предупреждаю, что на всех версиях не тестировал - только на самой ранней что нашёл и самой поздней, поэтому возможны нежданчики. Поэтому проверяйте, чтобы в индексном файле последнее смещение было равно размеру файла "Cheats.dat" - это 100% гарантия того, что всё было извлечено верно.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

2 Страниц V < 1 2
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0 -

 



Упрощённая версия Сейчас: 16th September 2025 - 07:58