То, что создатели утаили... - Версия для печати +- Город Джунов (https://www.gipat.ru/forum) +-- Форум Обсуждение Проклятых Земель (https://www.gipat.ru/forum/forum-19.html) +--- Форум MODный форум (https://www.gipat.ru/forum/forum-9.html) +--- Темы: То, что создатели утаили... (/thread-1922.html) |
То, что создатели утаили... - ELF - 27.03.2004 В данной теме предлагаю обсудить то, что утаили создатели игры... К примеру, Вы знали, что в игре помимо тех магий, что есть, существует ещё 8 штук, которых просто не найти... Их я вытащил с помощью ArtMoney (v7.07 Pro). Но эти магии неработоспособны - они не работают, но есть картинки и Зак даже что-то пытается делать при их исполнении. Попозже (максимум через 2 дня) я покажу рисунки с этими магиями (просто тогда, когда их добыл не додумался сфоткать), а ещё и руны скрытые заодно покажу - говорю сразу - они тоже не рабочие... А смысл в том, что ведь по сути вещей их можно заставить работать... вот этому и посвещена тема! То, что создатели утаили... - ELF - 28.03.2004 Теперь взгляд на то же, но только с низу - прямо в оперативную память на низком уровне: Продолжаю тему... Чисто механические способы получения вещей... Путём изменения кода памяти... Устройство вещей в оперативной памяти у ПЗ не сверх-мудрёное, но со своими приколами... Чертежи оружий, доспехов, жезлов и магий имеют схожую структуру, а также к ним можно и руны прилепить, а вот материалы чуть отличаются... Получал я вещи путём взлома инвентаря на количество предмета (ArtMoney 7.07 Pro). Таким образом структуру я изучал тоже отталкиваясь от количества, и вот что получил: в оперативной памяти структура предмета такова - YYYYYYYY+00 - Адрес, содержаций количество предмета (4 Байта) YYYYYYYY+04 - Раздел классов (Материал/Чертёж/Руна) (4 Байта) YYYYYYYY+08 - Классовая пренадлежность (4 Байта) YYYYYYYY+0C - Модель/Вид предмета (4 Байта) 1) С количеством всё ясно, его может быть очень-очень много... 2) Раздел классов - Подразделён на побочные (неизвестные) разделы и общие: 1 - Материал; 2 - Чертёж/Руна... 3) Классовая пренадлежность - для материала не активна и равна 7FFFFFFFh; а вот для других так: 0 - Чертёж оружия; 1 - Чертёж доспеха; 2 - Чертёж жезла; 3 - Чертёж заклинания; 4 - Руна... 4) Модель: Для материала: 00 - Тонкая кожа; 01 - Крепкая кожа; 02 - Толстая кожа; 03 - Шкура зелёного тролля; 04 - Шкура синего тролля; 05 - Шкура чёрного тролля; 06 - Шкура красного дракона; 07 - Шкура зелёного дракона; 08 - Шкура синего дракона; 09 - Тигринный меж (обычный); 10 - Тонкая кость; 11 - Крепкая кость; 12 - Толстая кость; 13 - Панцирная кость; 14 - Кость красного дракона; 15 - Кость зелёного дракона; 16 - Кость синего дракона; 17 - Камень; 18 - Гранит; 19 - Кремень; 20 - Обсидиан; 21 - Бронза; 22 - Железо; 23 - Сталь; 24 - Мифрил; 25 - Адамантин; 26 - Метеорит; 27 - Алмаз; 28 - Грубая ткань; 29 - Хлопок; 30 - Шерсть; 31 - Шёлк; 32 - Мех снежного тигра; 33 - Тут игра даёт сбой... Для доспеха: (Тут показаны только значения, кратные числу 8, т.к. меж ними идут сами вещи, причём вразброс, а значения, кратные числу 8 показывают их классовую принадлежность) - английские названия не придуманы - оно так и написано... 000 - Gipat_Low_Prototype 008 - Gipat_Medium_Prototype 016 - Gipat_Brigand_Prototype 024 - Gipat_High_Prototype 032 - Gipat_Highest_Prototype 040 - Kania_Low_Prototype 048 - Kania_Medium_Prototype 056 - Kania_Brigand_Prototype 064 - Kania_High_Prototype 072 - Kania_Highest_Prototype 080 - Kania_High2_Prototype 088 - Kania_Highest2_Prototype 096 - Hadagan_Low_Prototype 104 - Hadagan_Medium_Prototype 112 - Hadagan_Brigand_Prototype 120 - Hadagan_High_Prototype 128 - Hadagan_Highest_Prototype 136 - Hadagan_High2_Prototype 144 - Hadagan_Highest2_Prototype 152 - Jun_High_Prototype 160 - Тут начинается мусор... Для оружия: 00 - Каменный топор 01 - Каменный боевой топор 02 - Металлический топор 03 - Металлический боевой топор 04 - Кристаллический топор 05 - Каменный меч 06 - Длинный меч (Металл) 07 - Палаш (Меч, Металл) 08 - Кристаллический меч 09 - Ритуальный нож (Металл) 10 - Каменный кинжал 11 - Кинжал (Металл) 12 - Крис (Кинжал, Металл) 13 - Кристаллический кинжал 14 - Каменной копьё 15 - Костяное копьё 16 - Копьё (Металл) 17 - Длинное копьё (Металл) 18 - Кристаллическое копьё 19 - Костяная дубина 20 - Каменный молот 21 - Каменный утяжелённый молот 22 - Боевой молот (Металл) 23 - Булава (Металл) 24 - Шиповая булава (Металл) 25 - Тяжёлая шиповая булава (Металл) 26 - Кристаллическая булава 27 - Каменный лук 28 - Короткий костяной лук 29 - Длинный костяной лук 30 - Короткий лук (Металл) 31 - Длинный лук (Металл) 32 - Арбалет (Металл) 33 - Тяжёлый арбалет (Металл) 34 - Кристаллический арбалет Для заклинаний: 00 - Огненная стрела 01 - Молния 02 - Сгусток кислоты 03 - Огненный шар 04 - Небесная молния 05 - Фонтан кислоты 06 - Огненная стена 07 - Преграда из молнии 08 - Кислотный туман 09 - Защита от огня 10 - Защита от молний 11 - Защита от кислоты 12 - Орлинный взор 13 - Ночное зрение 14 - <?> - Нарисована девушка 15 - Невидимость 16 - Неслышный шаг 17 - <?> - Нарисован череп 18 - Фейерверк 19 - <?> - Нарисован нос 20 - Ясновидение 21 - <?> - Нарисован шар с блёсками 22 - <?> - Нарисован шар с дымом 23 - Поле зрения 24 - Лечение 25 - Парализация 26 - Защита от магии 27 - <?> - Нарисовано раздвоение что ли 28 - Телепортация 29 - Увеличение силы 30 - Ослабление 31 - Регенерация 32 - Слабоумие 33 - Ускорение 34 - Замедление 35 - <?> - Зомби что ли нарисован 36 - <?> - Вроде нарисована собака 37 - Увеличение 38 - Уменьшение 39 - Либо мусор, либо выкинет из игры Для рун: 00 - <?> Подобие дальнего действия 01 - Дальнее действие 02 - Сверхдальнее действие 03 - Дополнительная цель 04 - Две дополнительные цели 05 - <?> Подобие расширённой области действия 06 - Расширённая область действия 07 - Максимальная область действия 08 - <?> Подобие усиления 09 - Усиление 10 - Максимальное усиление 11 - <?> Подобие долговременного действия 12 - Долговлременное действие 13 - Сверхдолгое действие 14 - Малый расход сил 15 - Минимальный расход сил 16 - Выбрать друзей 17 - Выбрать врагов 18 - Выбрать людей 19 - Выбрать гоблинов 20 - Выбрать орков 21 - Выбрать ящеров 22 - Разовое действие 23 - Постоянное действие 24 - Малый расход энергии предмета 25 - Минимальный расход энергии предмета 26 - Ускоренное восстановление энергии предмета 27 - Сверхбыстрое восстановление энергии предмета 28 - Мусор или выкинет Для жезлов: 00-15 - Мусор 16 - Каменный жезл 17 - Костяной жезл 18 - Металлический жезл 19 - Фигурный металлический жезл 20 - Ракушка-жезл (Сила-123;Сложность-36) 21 - Кукла-жезл (Сила-97;Сложность-49) МИНУС НАМ - ПЛЮС АВТОРАМ: Все адреса в игре "Буйно плавают" и никогда не стоят на месте. Как таковой целый инвентарь отсутсвует - существуют лишь отдельно предметы как юниты и уже в их свойствах прописано, где они расположены (у Зака, у торговца или вообще где-то неизвестно где)... Конечно на адреса существуют указатели, а там и сама структура подскажет, но чую, что на указатели тоже поставлены указатели (!), чтоб нас сильней запутать... Эта система хорошо конечно против нас работает, и я сейчас работаю именно над тем, чтобы "раскусить" её... НА СЧ¨Т ОСТАЛЬНОГО: Как видно в структуре предмета на класс, раздел и модель отводятся по 4 байта - это огромный потенциал для количества различных предметов, я разглядел только самое начало (минимальные значения)... остальное ещё в поиске... То, что создатели утаили... - heller - 28.03.2004 Цитата:..."Буйно плавают"... Это было сделано не против нас, а для экономии памяти и повышения быстродействия То, что создатели утаили... - CAHEK7 - 28.03.2004 А указатели на указатели тоже не делают. Ты просто не знаешь что это такое И числа у тебя в каком формате? В десятичном или шестнадцатеричном? То, что создатели утаили... - Jet - 28.03.2004 Очень интересная информация, можно проследить некоторую зависимость от баз из DB Toolkit: Цитата:4) Модель:Файл Materials.txt. Номер - порядковый номер строки, начиная с 0. (в распакованной нами базе, это последнее поле - Unknown) thin thick tanned thin .... Цитата:Для доспеха: (Тут показаны только значения, кратные числу 8, т.к. меж ними идут сами вещи, причём вразброс, а значения, кратные числу 8 показывают их классовую принадлежность) - английские названия не придуманы - оно так и написано...Файл Armors.txt: gipat low prototype gipat low shirt gipat low pants gipat low boots gipat low gloves gipat low helm gipat low plate gipat low leggins gipat medium prototype .... Цитата:Для оружия:Файл: Weapons.txt stone axe stone battle axe .... Цитата:Для заклинаний:SpellPrototypes.txt Fire Arrow Lightning Arc .... Цитата:Для рун:SpellModifiers.txt Cut Range Extra Range Ultra Range .... Всё это - классы предметов, они наследуют базовый класс предмета CItem и обладают его свойствами (это общие поля в таблицах базы items.idb), вот списко этих классов CItemWeapon CItemArmor CItemQuick CItemLoot CItemSpell CItemQuest А плавают адреса потому, что игра написана на C++ с использованием классов MFC. И при создании экземпляра класса: Код: CObject* pObject = new CObject(); А вот указатели, которые указывают на этот участок, конечно же, можно найти , но это очень трудоемкий процесс. p.s. Мда... тема плавно перетекает в программисткую. :unsure: То, что создатели утаили... - CAHEK7 - 28.03.2004 Я вот думаю что в памяти предметы имеют тот же формат что и в базе, просто записи из базы напрямую туда подгружаются. И должен сохраняться порядок следования всех параметров. ELF как следующий раз будешь артманей память смотреть, то проверь это. Описание всех форматов предметов лежит тут: Распаковка *.*db Все числа там шестнадцатиричные. То, что создатели утаили... - ELF - 30.03.2004 Цитата:Я вот думаю что в памяти предметы имеют тот же формат что и в базе, просто записи из базы напрямую туда подгружаются. И должен сохраняться порядок следования всех параметров. Нельзя так просто сказать, что всё из таблиц просто уходит в память - уже потому, что в таблицах значения одно за другим - а в памяти только пара (а именно принадлежность), причём до него и после него жуткая неопределённость - все значения меняются (я так и не нашёл зависимости). Т.к. чертежи делятся на оружейные, доспехов и магии, а материалы "официально" не делятся (их пренадлежность прописана только в одном параметре), то по адресу YYYYYYYY+08 - стоит число "отсутствие", равное 7FFFFFFFh (максимум знакового 4-х байтного) или 2147483647 в десятичном виде... :angry: Цитата:А указатели на указатели тоже не делают. Ты просто не знаешь что это такое Что такое указатели я знаю, а подумал так плохо о них, потому что ArtMoney, которую "ВЕЧНОТЬ" воротят для поиска и "обезвреживания" указателей просто не в состоянии найти их - т.е. она находит указатели, НО ОНИ ТОЖЕ УПЛЫВАЮТ СО СВОИХ МЕСТ - ну и как ты ЭТО объяснишь? :dry: ... Тут скорее все-таки, как сказал Jet, классовое устройство, потому и неопределённость... :unsure: Цитата:И числа у тебя в каком формате? В десятичном или шестнадцатеричном? Ну я думаю, что разобраться не составит и труда - писал я в различных системах счисления для наглядности зависимостей чисел. :dry: То, что создатели утаили... - Mantiss - 03.05.2004 Утаенное создателями ПЗ иногда может не вовремя аукнуться. Вот например оказывается там есть такой материал - дерево. Кто пробовал сделать его сам мог столкнуться с проблемами... как я. То, что создатели утаили... - PZIGOR - 05.05.2004 Да кстати в интервью ниваловцев про то как они делают игры они ни скрывают что используют язык scriptов LUA может его поюзать, а то я слышал demiurgi с помощью него спрограммированы. Demiurgi насколько я читал доки переработанный движок ПЗ.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! То, что создатели утаили... - ELF - 05.05.2004 Да, это действительно имеется, Демиурги сделаны на движдке ПЗ. А насчёт языка, можно предположить, что само название языка - LUA, говорит о том, что язык был специально написан для ПЗ, а потому информации по нему будет мало (эт я так предполагаю). А вообще есть сайт тут один: Сайт Нуна 2003 Там вроде всё очень подробно изложено про скрипты. Но только как это всё относится к низкоуровнему подходу к ПЗ? (Эту тему я пока не продолжаю, т.к. время нет, а его сюда нужно много). То, что создатели утаили... - Mantiss - 05.05.2004 Я тут попробовал найти в демиургах хоть что-то ПЗешное. Чего-то не нашлось :-( То, что создатели утаили... - Paladin - 06.05.2004 А я тут подумал, еще не пробовал, но вот чего, если в датабазе разрешить эффект усилению, что бы руну вставлять можно было, то там чуть ли не другое заклинание, то может попробывать с выключенными чего-нибудь нахимичить, а всоь и включатся То, что создатели утаили... - ELF - 06.05.2004 У этой темы есть очень родственная тема "Раскопки GAME.exe" - там идёт изучение кода ПЗ. Здесь идёт изучение поведения ПЗ в Оперативной памяти, а также в файловой системе ВО ВРЕМЯ РАБОТЫ! Конечно, здесь затрагиваются и скрытые моменты, но это только потому, что такие моменты появляются при открытии неизведанных мест. На счёт руны: этот необычный эффект поддаётся логике, а потому не очень так и сложно представить, как поведут себя другие заклинания. - Руны действуют на их параметры - можно конечно проанализировать, как поведёт себя заклинание, но это уже совсем другая темя (например, "Поведение заклинаний", которую ты, Paladin, вполне можешь создать в MODном форуме ). Теперь по этой теме: если хотите продолжить работы по этому делу, то берите прогу для наблюдения за ПЗ из Оперативной памяти в работающем режиме (мне тут подошла ArtMoney 7) и юзайте. Любые раскопки из оперативки будут мне (а то и другим) очень интерестны... То, что создатели утаили... - Taurus - 10.05.2004 А вы пиратскую морду видели ? То, что создатели утаили... - ELF - 10.05.2004 Нет, а её таким же путём (номерком) выцепить можно? Просто я пока остановился в плане поиска в ОП... То, что создатели утаили... - fa3 - 23.07.2004 Это - морда хадора. Должна была быть. Поставили другую.А на скриншотах она такая и текстура гипата другая. То, что создатели утаили... - Taurus - 23.07.2004 А вы знали что в игре есть амулет который нигде не используеться. По его виду можно сказать что этот амулет принадлежал Джунам. То, что создатели утаили... - Talarasha - 25.07.2004 Знали. Я как-то захотел заиметь все предметы, что в ПЗ есть, и набрал целую кучу. И этот амулетик там был. Как я понял, он является целой версией того, который Зак показывает Тка-Рику перед битвой с Проклятьем. То, что создатели утаили... - fa3 - 26.07.2004 А у меня этот самый амулетик работал как драконий амулет в моде Taurusa |