Chemax, База данных |
Добро пожаловать, гость ( Вход | Регистрация )
Chemax, База данных |
Кантемир |
Mar 18 2007, 18:00
Сообщение
#1
|
Незарегистрирован |
Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать
и добавить секреты. Блин как редактировать база данных? А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула. |
Кантемир |
Mar 19 2007, 12:07
Сообщение
#2
|
Незарегистрирован |
Че молчите?
|
jTommy |
Mar 19 2007, 18:31
Сообщение
#3
|
Наблюдающий Группа: CTPAX-X Сообщений: 197 Регистрация: 4-February 08 Из: деревня Москва Пользователь №: 6 Спасибо сказали: 19 раз(а) |
Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать Никто не будет делать такой объем работы за тебя (это я про написание новой оболочки)...и добавить секреты. Блин как редактировать база данных? А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула. К тому же идея сомнительная... зачем изобретать велосипед? Может лучше связаться с авторами и они добавят твои секреты. |
Кантемир |
Mar 20 2007, 20:27
Сообщение
#4
|
Незарегистрирован |
Знаешь, что я тебе сказу Вы правы . Просто трата времени, но когда идея появилась ну на пример Вы и другие там разрабатываете прогу ну на пример Carbon extractor там же версия была 1.00 а, тепер 1.2 Вы там тоже тратите кучу времени и что, где этот велик а? Вы создали вместе с другими этот extractor то есть велик вот эта и была идея. Так вот и правильно не хотите и не надо, но идея у вас с этим великом потруднее, чем который я создал идею. Я вот хочу создать эту прогу, ну подсказали хотя бы каким прогам создать оболочку и базу (можно блокнотом), а потом обьеденить и готовая прога.
P.S. Авторам распект за carbon extractor |
-=CHE@TER=- |
Mar 21 2007, 18:07
Сообщение
#5
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Кантемир!
Простите, пожалуйста, но... у вас сообщения... как бы это сказать. Ошибок много, спецефических - так пишут дети (очень маленькие), либо люди слабо знакомые с русским языком. Мне сложно вникнуть в суть ваших сообщений. Может для вас родной язык английский? Если да - то пишите на нём - всем будет проще. Базу кодов, действительно, можно набирать в текстовом файле. Но тут сразу возникает две проблемы: 1) Как её разбирать, чтобы выводить на экран? (с текстовым файлом хлопот много) 2) Как проверять её целостность? (если вдруг кто-то внёс туда свои коды и при этом нарушил структуру базы) |
Кантемир |
Mar 21 2007, 20:05
Сообщение
#6
|
Незарегистрирован |
Я хотел сказать велик это велосипед, что не понятно?
Я знаком близе к русскому языку. Блин, а как у Chemax`а получаеться? А может быть другим каким нибудь прогой создавать вместе этого блокнота, чтобы меньше было хлопот. 1) Файлы по отдельносты или как у файлы формата субтитров 2) Не знаю нужно, что нибудь придумать, скажем создадим прогу которое определаеть по базу кодов или вот допустим определает по оглавление базы кодов Вот хотел бы создать конкурента Chemax`а. |
-=CHE@TER=- |
Mar 22 2007, 10:16
Сообщение
#7
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Я хотел сказать велик это велосипед, что не понятно? Нет, не это. (*улыбается*) Общий стиль ваших сообщений. Ладно, не берите в голову.Я знаком близе к русскому языку. Это хорошо. Как вам будет удобно.Блин, а как у Chemax`а получаеться? Какой формат у CheMax - не знаю. Для вашей программы могу предложить такой:А может быть другим каким нибудь прогой создавать вместе этого блокнота, чтобы меньше было хлопот. 1) Файлы по отдельносты или как у файлы формата субтитров 2) Не знаю нужно, что нибудь придумать, скажем создадим прогу которое определаеть по базу кодов или вот допустим определает по оглавление базы кодов Вот хотел бы создать конкурента Chemax`а. а) коды для каждой игры хранятся каждый в своём текстовом файле (самом обыкновенном, без управляющих структур) б) чтобы файлов этих не было очень много - они все помещены внутрь одного контейнера (т.е. файла без архивации); для этих целей очень, ИМХО, подойдёт формат типа PACK (.PAK) из Quake II - т.к. там очень удобно добавлять новые файлы (просто в конец, сместив заголовок). Хотя с редактированием старых, будет немного проблем. |
Кантемир |
Mar 26 2007, 14:15
Сообщение
#8
|
Незарегистрирован |
-=CHE@TER=-!
Огромное тебе спасибо! Не плохо придумана, а какой прогой можно создать PACK? А еще не подскажеть каким прогой можно создать оболочки прогу? Я пробивал что нибудь сделать в Chemax`е у неге защита стоит ASPack 2.12 -> Alexey Solodovnikov Проверял с помощью Peid. А Дальше eXeScope и Restorator 2007 Ну вот там нашел украшения оболочки. P.S. еще раз распект авторам carbon extractor |
-=CHE@TER=- |
Mar 26 2007, 17:21
Сообщение
#9
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Не плохо придумана, а какой прогой можно создать PACK? Есть специальные утилиты для этого... А вообще, мой ответ подразумевал, что ты сам напишешь программу для работы с такими псевдо-архивами. Потому что даже упаковав туда файлы, ты всё-равно не сможешь с ними работать, т.к. тебе в твоей программе нужно будет как-то их оттуда доставать.А еще не подскажеть каким прогой можно создать оболочки прогу? Выучить какой-нибудь язык программирования. (*улыбается*) Например, Delphi (весьма простой).Я пробивал что нибудь сделать в Chemax`е у неге защита стоит ASPack 2.12 -> Alexey Solodovnikov Ну-да, программа защищена хорошо. Их БД с кодами, кстати, зашифрована (недавно посмотрел).Проверял с помощью Peid. А Дальше eXeScope и Restorator 2007 Ну вот там нашел украшения оболочки. P.S. еще раз распект авторам carbon extractor Ну, вообще-то мы авторы не только этой программы. (*улыбается*) |
Siberian GRemlin |
Mar 27 2007, 13:07
Сообщение
#10
|
Advanced Member Группа: CTPAX-X Сообщений: 537 Регистрация: 4-February 08 Пользователь №: 2 Спасибо сказали: 221 раз(а) |
А не проще на M$ Access взять документацию и на нём БД сделать?!
|
jTommy |
Mar 28 2007, 18:38
Сообщение
#11
|
Наблюдающий Группа: CTPAX-X Сообщений: 197 Регистрация: 4-February 08 Из: деревня Москва Пользователь №: 6 Спасибо сказали: 19 раз(а) |
А не проще на M$ Access взять документацию и на нём БД сделать?! Совсем не проще. Это-ж придется Access ставить. Например, я ее редко пользую и поэтому не ставлю... Хотя догадываюсь, что большинство народу Office ставит вместе со всем барахлом, которое предлагается по умолчанию.В данном случае легче всего забить на эту идею, но если очень хочется, то сначала придется изучить Дельфи. Узнать что такое форма, интерфейс программы и как его лучше спроектировать, как работать с типизированными файлами и т.д. и пр. P.S.: ИМХО, читы - плехо! Даже если они применяются, когда игра уже пройдена. |
Кантемир |
Apr 1 2007, 16:10
Сообщение
#12
|
Незарегистрирован |
jTommy!
Ну блин дельфи без него не вариант ну и ладно. Спасибо за подробно про, что надо учить А насчет читов вот например игру прошел по честному и с читами это получаешься две разние игры И еще хочу добавить секреты и т.д. Я эту прогу хотел создать прошлом году летом, а время летить. -=CHE@TER=-! А не проще без архива? P.S. Всех поздравляю с 1 апреля. |
-=CHE@TER=- |
Apr 1 2007, 16:57
Сообщение
#13
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
-=CHE@TER=-! Проще. Можно вообще файлы в отдельный каталог валить. Но неудобно - когда ты добавишь более пары тысяч таких текстовых файлов, то станет неудобно в такой каталог заходить, т.к. будет долго список с файлами создаваться.А не проще без архива? P.S. Всех поздравляю с 1 апреля. Спасибо большое! Тебя тоже. |
9k1d |
Dec 14 2007, 09:04
Сообщение
#14
|
Незарегистрирован |
|
-=CHE@TER=- |
Aug 13 2009, 21:07
Сообщение
#15
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Я вижу, что в этой теме часто зависают гости.
Если кого-то интересует как вытащить из БД Chemax всё содержимое наружу, то прочитайте статью Оконный доступ к БД. Как отправная точка для начала работы - самое то. |
-=CHE@TER=- |
Jul 21 2013, 12:43
Сообщение
#16
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Вот уже 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. В общем, организация этой БД - это долбанный стыд. К слову сказать, к тем играм, которые я знаю, некоторые коды написаны неверно или, вообще, дублируются в одном месте не полные и в другом также (у игры два названия) - короче, в поисках кодов к игре, я бы на эту базу полагаться не стал. |
-=CHE@TER=- |
Feb 12 2018, 20:33
Сообщение
#17
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Не прошло и 15 лет, как ключик таки поменяли - меня сегодня по e-mail спрашивали почему мой алгоритм выше не работает. Я, кстати, его переписал, чтобы он был более понятным. Для версий 19.0 и 20.0, что сейчас лежат на официальном сайте (возможно и с более ранними версиями вплоть до 2013 года работать будет):
CODE static const char key[KEY_LEN] = "qZ8&5N3eS0"; Как я понимаю, ключ поменяли именно потому, что он засветился здесь - в публичной теме. А, главное, было бы что прятать - БД у них фиговая, я ещё ранее писал что они, походу, вообще не проверяют ту ахинею, которую туда пихают. Было бы, кстати, толково, если бы они создали Wiki на основе своей базы, чтоб все желающие могли выправить весь тот ужас, который эта БД из себя представляет. |
-=CHE@TER=- |
Feb 12 2024, 18:07
Сообщение
#18
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
В 2022 году домен CheMax.ru был разделегирован, так что история данной программы на этом закончилась, поэтому можно подвести уже окончательный итог.
Для начала отвечу на самое первое сообщение этой темы (понимаю, что уже не актуально, ну да ладно): Просто хочу оболочку и возможности сохранить, а база кодов с нула хочу написать Нет, это невозможно. Дело в том, что описания кодов хранятся зашифрованные в текстовом файле "Cheats.dat", в то время как соответствующие этим текстам имена игр и смещения до них в этом файле, намертво прошиты в "Chemax.exe", который ещё и ASPack'ом упакован (защищён от изменений). Поэтому, максимум, что можно сделать, это изменить коды к существующим играм так, чтобы они не выходили за отведённое им место (меньше текста можно - лишнее пробелами заменить, больше - нельзя).и добавить секреты. Блин как редактировать база данных? А может ктонибудь создать прогу на подобия это? Просто там в chemaxе нельзя ни редактировать ни с нула. Сама программа и некоторые её старые и новые версии, помимо веб-архива, доступны ещё здесь: CheMax. И тут, поковыряв старые и новые версии этой программы, я выяснил интересную штуку про ключи шифрования. Оказывается, ключ "a@g5eDu(*5" использовался только для русской версии. В английской версии ещё с 2004 года использовался ключ "qZ8&5N3eS0" на который перевели и русскую между 2013 и 2018 годом - видимо, автору надоело пересобирать исполняемый файл с разными ключами при выпуске новых версий. Так что, признаю, моё предположение о том что ключ поменяли, потому что я его в этой теме публично засветил, было неверное. Попробую при следующем обновлении сайта добавить программу для расшифровки любой базы данных (с автоматическим определением ключа расшифровки), а также два текстовых файла со смещениями и именами игр в последних версиях "Cheats.dat" (RUS 21.4 и ENG 20.8) для тех, кто захочет распотрошить базу данных (распаковал и распарсил исполняемые файлы "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); } На этом, вероятно, уже точно всё - тему можно считать закрытой. Спасибо сказали:
|
-=CHE@TER=- |
Feb 22 2024, 14:21
Сообщение
#19
|
Walter Sullivan Группа: Root Admin Сообщений: 1,361 Регистрация: 4-February 08 Пользователь №: 3 Спасибо сказали: 314 раз(а) |
Спасибо сказали:
|
Упрощённая версия | Сейчас: 5th November 2024 - 12:40 |