IPB

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

 
Reply to this topicStart new topic
> Chemax, База данных
Кантемир
Mar 18 2007, 18:00
Сообщение #1


Незарегистрирован









Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать
и добавить секреты.
Блин как редактировать база данных?
А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула.
Go to the top of the page
+Quote Post
Кантемир
Mar 19 2007, 12:07
Сообщение #2


Незарегистрирован









Че молчите? sad.gif sad.gif sad.gif
Go to the top of the page
+Quote Post
jTommy
Mar 19 2007, 18:31
Сообщение #3


Наблюдающий
***

Группа: CTPAX-X
Сообщений: 197
Регистрация: 4-February 08
Из: деревня Москва
Пользователь №: 6
Спасибо сказали: 19 раз(а)



QUOTE(Кантемир @ Mar 18 2007, 09:00 PM) *
Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать
и добавить секреты.
Блин как редактировать база данных?
А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула.
Никто не будет делать такой объем работы за тебя (это я про написание новой оболочки)...
К тому же идея сомнительная... зачем изобретать велосипед? Может лучше связаться с авторами и они добавят твои секреты.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Кантемир
Mar 20 2007, 20:27
Сообщение #4


Незарегистрирован









Знаешь, что я тебе сказу Вы правы smile.gif smile.gif smile.gif . Просто трата времени, но когда идея появилась ну на пример Вы и другие там разрабатываете прогу ну на пример Carbon extractor там же версия была 1.00 а, тепер 1.2 Вы там тоже тратите кучу времени и что, где этот велик а? Вы создали вместе с другими этот extractor то есть велик вот эта и была идея. Так вот и правильно не хотите и не надо, но идея у вас с этим великом потруднее, чем который я создал идею. Я вот хочу создать эту прогу, ну подсказали хотя бы каким прогам создать оболочку и базу (можно блокнотом), а потом обьеденить и готовая прога. mellow.gif
P.S. Авторам распект за carbon extractor smile.gif smile.gif smile.gif
Go to the top of the page
+Quote Post
-=CHE@TER=-
Mar 21 2007, 18:07
Сообщение #5


Walter Sullivan
***

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



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

Базу кодов, действительно, можно набирать в текстовом файле.
Но тут сразу возникает две проблемы:
1) Как её разбирать, чтобы выводить на экран? (с текстовым файлом хлопот много)
2) Как проверять её целостность? (если вдруг кто-то внёс туда свои коды и при этом нарушил структуру базы)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Кантемир
Mar 21 2007, 20:05
Сообщение #6


Незарегистрирован









Я хотел сказать велик это велосипед, что не понятно? biggrin.gif biggrin.gif biggrin.gif rolleyes.gif
Я знаком близе к русскому языку. rolleyes.gif

Блин, а как у Chemax`а получаеться? unsure.gif
А может быть другим каким нибудь прогой создавать вместе этого блокнота, чтобы меньше было хлопот.
1) Файлы по отдельносты или как у файлы формата субтитров
2) Не знаю нужно, что нибудь придумать, скажем создадим прогу которое определаеть по базу кодов или вот допустим определает по оглавление базы кодов

Вот хотел бы создать конкурента Chemax`а. wink.gif cool.gif
Go to the top of the page
+Quote Post
-=CHE@TER=-
Mar 22 2007, 10:16
Сообщение #7


Walter Sullivan
***

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



QUOTE(Кантемир @ Mar 21 2007, 08:05 PM) *
Я хотел сказать велик это велосипед, что не понятно? biggrin.gif biggrin.gif biggrin.gif rolleyes.gif
Нет, не это. (*улыбается*) Общий стиль ваших сообщений. Ладно, не берите в голову.


QUOTE(Кантемир @ Mar 21 2007, 08:05 PM) *
Я знаком близе к русскому языку. rolleyes.gif
Это хорошо. Как вам будет удобно.


QUOTE(Кантемир @ Mar 21 2007, 08:05 PM) *
Блин, а как у Chemax`а получаеться? unsure.gif
А может быть другим каким нибудь прогой создавать вместе этого блокнота, чтобы меньше было хлопот.
1) Файлы по отдельносты или как у файлы формата субтитров
2) Не знаю нужно, что нибудь придумать, скажем создадим прогу которое определаеть по базу кодов или вот допустим определает по оглавление базы кодов

Вот хотел бы создать конкурента Chemax`а. wink.gif cool.gif
Какой формат у CheMax - не знаю. Для вашей программы могу предложить такой:
а) коды для каждой игры хранятся каждый в своём текстовом файле (самом обыкновенном, без управляющих структур)
б) чтобы файлов этих не было очень много - они все помещены внутрь одного контейнера (т.е. файла без архивации); для этих целей очень, ИМХО, подойдёт формат типа PACK (.PAK) из Quake II - т.к. там очень удобно добавлять новые файлы (просто в конец, сместив заголовок). Хотя с редактированием старых, будет немного проблем.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Кантемир
Mar 26 2007, 14:15
Сообщение #8


Незарегистрирован









-=CHE@TER=-! smile.gif smile.gif smile.gif
Огромное тебе спасибо! smile.gif smile.gif smile.gif

Не плохо придумана, а какой прогой можно создать PACK?
А еще не подскажеть каким прогой можно создать оболочки прогу?

Я пробивал что нибудь сделать в Chemax`е у неге защита стоит ASPack 2.12 -> Alexey Solodovnikov
Проверял с помощью Peid. А Дальше eXeScope и Restorator 2007
Ну вот там нашел украшения оболочки.

P.S. еще раз распект авторам carbon extractor smile.gif smile.gif smile.gif
Go to the top of the page
+Quote Post
-=CHE@TER=-
Mar 26 2007, 17:21
Сообщение #9


Walter Sullivan
***

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



QUOTE(Кантемир @ Mar 26 2007, 02:15 PM) *
Не плохо придумана, а какой прогой можно создать PACK?
Есть специальные утилиты для этого... А вообще, мой ответ подразумевал, что ты сам напишешь программу для работы с такими псевдо-архивами. Потому что даже упаковав туда файлы, ты всё-равно не сможешь с ними работать, т.к. тебе в твоей программе нужно будет как-то их оттуда доставать.


QUOTE(Кантемир @ Mar 26 2007, 02:15 PM) *
А еще не подскажеть каким прогой можно создать оболочки прогу?
Выучить какой-нибудь язык программирования. (*улыбается*) Например, Delphi (весьма простой).


QUOTE(Кантемир @ Mar 26 2007, 02:15 PM) *
Я пробивал что нибудь сделать в Chemax`е у неге защита стоит ASPack 2.12 -> Alexey Solodovnikov
Проверял с помощью Peid. А Дальше eXeScope и Restorator 2007
Ну вот там нашел украшения оболочки.
Ну-да, программа защищена хорошо. Их БД с кодами, кстати, зашифрована (недавно посмотрел).


QUOTE(Кантемир @ Mar 26 2007, 02:15 PM) *
P.S. еще раз распект авторам carbon extractor smile.gif smile.gif smile.gif
Ну, вообще-то мы авторы не только этой программы. (*улыбается*)
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Siberian GRemlin
Mar 27 2007, 13:07
Сообщение #10


Advanced Member
***

Группа: CTPAX-X
Сообщений: 533
Регистрация: 4-February 08
Пользователь №: 2
Спасибо сказали: 221 раз(а)



А не проще на M$ Access взять документацию и на нём БД сделать?!
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
jTommy
Mar 28 2007, 18:38
Сообщение #11


Наблюдающий
***

Группа: CTPAX-X
Сообщений: 197
Регистрация: 4-February 08
Из: деревня Москва
Пользователь №: 6
Спасибо сказали: 19 раз(а)



QUOTE(Siberian GRemlin @ Mar 27 2007, 05:07 PM) *
А не проще на M$ Access взять документацию и на нём БД сделать?!
Совсем не проще. Это-ж придется Access ставить. Например, я ее редко пользую и поэтому не ставлю... Хотя догадываюсь, что большинство народу Office ставит вместе со всем барахлом, которое предлагается по умолчанию.

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

P.S.: ИМХО, читы - плехо! Даже если они применяются, когда игра уже пройдена.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Кантемир
Apr 1 2007, 16:10
Сообщение #12


Незарегистрирован









jTommy! smile.gif

Ну блин дельфи без него не вариант ну и ладно. dry.gif
Спасибо за подробно про, что надо учить smile.gif smile.gif

А насчет читов вот например игру прошел по честному и с читами это получаешься две разние игры
И еще хочу добавить секреты и т.д.
Я эту прогу хотел создать прошлом году летом, а время летить.


-=CHE@TER=-! smile.gif
А не проще без архива?

P.S. Всех поздравляю с 1 апреля. smile.gif smile.gif smile.gif
Go to the top of the page
+Quote Post
-=CHE@TER=-
Apr 1 2007, 16:57
Сообщение #13


Walter Sullivan
***

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



QUOTE(Кантемир @ Apr 1 2007, 04:10 PM) *
-=CHE@TER=-! smile.gif
А не проще без архива?
Проще. Можно вообще файлы в отдельный каталог валить. Но неудобно - когда ты добавишь более пары тысяч таких текстовых файлов, то станет неудобно в такой каталог заходить, т.к. будет долго список с файлами создаваться.


QUOTE(Кантемир @ Apr 1 2007, 04:10 PM) *
P.S. Всех поздравляю с 1 апреля. smile.gif smile.gif smile.gif
Спасибо большое! Тебя тоже.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
9k1d
Dec 14 2007, 09:04
Сообщение #14


Незарегистрирован









QUOTE(Кантемир @ Apr 1 2007, 07:10 PM) *

jTommy! smile.gif
это получаешься две разние игры
Я эту прогу хотел создать прошлом году летом, а время летить.
P.S. Всех поздравляю с 1 апреля. smile.gif smile.gif smile.gif


ну как там результат есть? или это шутка была?
Go to the top of the page
+Quote Post
-=CHE@TER=-
Aug 13 2009, 21:07
Сообщение #15


Walter Sullivan
***

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



Я вижу, что в этой теме часто зависают гости.
Если кого-то интересует как вытащить из БД Chemax всё содержимое наружу, то прочитайте статью Оконный доступ к БД.
Как отправная точка для начала работы - самое то.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Jul 21 2013, 12:43
Сообщение #16


Walter Sullivan
***

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



Вот уже 10 лет код шифрования БД у Chemax не меняется (проверил на только что скачанной версии):
CODE
#define KEY_LEN 10
static const char key[KEY_LEN] = "a@g5eDu(*5";

void cm_decrypt(unsigned char *p, unsigned int size) {
unsigned int i, k;
  for (i = 0; i < size; i++) {
    k = i % KEY_LEN;
    if (p[i] > key[k]) {
      p[i] = p[i] - key[k];
    } else {
      p[i] = p[i] - key[k] + 255;
    }
  }
}

Читаем в память весь "cheats.dat", скармливаем этой функции и получаем на выходе расшифрованный буфер.
Но БД представляет из себя один сплошной текстовый файл.
Список игр завален на форму программы, а смещения до начала каждой игры внутри БД лежат как массив DWORD в исполняемом файле. Т.е. чтобы разбить БД по играм, нужно распаковывать (ASPack) исполняемый файл Chemax, искать там таблицу смещений и через неё выдёргивать игры.
В Chemax v2.7 (2004 год) таблица смещений начиналась в 000DA604h у распакованного файла, с какого-то DWORD (то ли размер таблицы, то ли количество игр - фиг знает).
Первое смещение, пожоже, всегда 1.
В общем, организация этой БД - это долбанный стыд.
К слову сказать, к тем играм, которые я знаю, некоторые коды написаны неверно или, вообще, дублируются в одном месте не полные и в другом также (у игры два названия) - короче, в поисках кодов к игре, я бы на эту базу полагаться не стал.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Feb 12 2018, 20:33
Сообщение #17


Walter Sullivan
***

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



Не прошло и 15 лет, как ключик таки поменяли - меня сегодня по e-mail спрашивали почему мой алгоритм выше не работает. Я, кстати, его переписал, чтобы он был более понятным. Для версий 19.0 и 20.0, что сейчас лежат на официальном сайте (возможно и с более ранними версиями вплоть до 2013 года работать будет):
CODE
static const char key[KEY_LEN] = "qZ8&5N3eS0";
Как я понимаю, ключ поменяли именно потому, что он засветился здесь - в публичной теме. А, главное, было бы что прятать - БД у них фиговая, я ещё ранее писал что они, походу, вообще не проверяют ту ахинею, которую туда пихают. Было бы, кстати, толково, если бы они создали Wiki на основе своей базы, чтоб все желающие могли выправить весь тот ужас, который эта БД из себя представляет.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Feb 12 2024, 18:07
Сообщение #18


Walter Sullivan
***

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



В 2022 году домен CheMax.ru был разделегирован, так что история данной программы на этом закончилась, поэтому можно подвести уже окончательный итог.
Для начала отвечу на самое первое сообщение этой темы (понимаю, что уже не актуально, ну да ладно):
QUOTE(Кантемир @ Mar 18 2007, 18:00) *
Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать
и добавить секреты.
Блин как редактировать база данных?
А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула.
Нет, это невозможно. Дело в том, что описания кодов хранятся зашифрованные в текстовом файле "Cheats.dat", в то время как соответствующие этим текстам имена игр и смещения до них в этом файле, намертво прошиты в "Chemax.exe", который ещё и ASPack'ом упакован (защищён от изменений). Поэтому, максимум, что можно сделать, это изменить коды к существующим играм так, чтобы они не выходили за отведённое им место (меньше текста можно - лишнее пробелами заменить, больше - нельзя).
Сама программа и некоторые её старые и новые версии, помимо веб-архива, доступны ещё здесь: CheMax.
И тут, поковыряв старые и новые версии этой программы, я выяснил интересную штуку про ключи шифрования. Оказывается, ключ "a@g5eDu(*5" использовался только для русской версии. В английской версии ещё с 2004 года использовался ключ "qZ8&5N3eS0" на который перевели и русскую между 2013 и 2018 годом - видимо, автору надоело пересобирать исполняемый файл с разными ключами при выпуске новых версий. Так что, признаю, моё предположение о том что ключ поменяли, потому что я его в этой теме публично засветил, было неверное.
Попробую при следующем обновлении сайта добавить программу для расшифровки любой базы данных (с автоматическим определением ключа расшифровки), а также два текстовых файла со смещениями и именами игр в последних версиях "Cheats.dat" (RUS 21.4 и ENG 19.2) для тех, кто захочет распотрошить базу данных (распаковал и распарсил исполняемые файлы "CheMax.exe"). Увы, это, конечно, не вернёт потерянных трейнеров и других полезных утилит, которые накрылись вместе с сайтом программы.
Функция для расшифровки любой базы данных выглядит так (возвращает не нулевое значение, если буфер удалось расшифровать):

CODE
uint32_t CheMaxDecrypt(uint8_t *p, uint32_t size) {
uint8_t key[10];
uint32_t i, k;
  i = 0;
  /* sanity check */
  if (p && size && ((*p == 0x81) || (*p == 0x91))) {
    /* detect key */
    if (*p == 0x81) {
      memcpy(key, "a@g5eDu(*5", sizeof(key));
    } else {
      memcpy(key, "qZ8&5N3eS0", sizeof(key));
    }
    /* decrypt database with key */
    for (i = 0; i < size; i++) {
      k = i % sizeof(key);
      p[i] += ((p[i] > key[k]) ? 0 : 255) - key[k];
    }
    i = 1;
  }
  return(i);
}

На этом, вероятно, уже точно всё - тему можно считать закрытой.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
-=CHE@TER=-
Feb 22 2024, 14:21
Сообщение #19


Walter Sullivan
***

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



CheMax (Cheats Maximal) ENG/RUS database decrypter v1.0
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

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

 



Упрощённая версия Сейчас: 28th March 2024 - 19:04