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

Прежде чем начать, начнем с базовых вещей, как хранятся файлы игры и как распространяются сборки. После этого рассмотрим хранение информации, какие существуют файлы и как работают таблицы баз данных WoW. А после этого рассмотрим что же такое DataMining или же добыча информации, как найти новые вещи и собственно как же еще проанализировать. Часто я буду указывать оригинальное название, потому что перевод русский язык может испортить некоторый смысл, не всегда точно будет обозначать вещь, ибо значение слов могут различаться.
Давайте приступим.
Оглавление
Хранение и Распространение / Storage & DistributionХранение файлов и их распространение (новых) версий тесто связаны друг с другом, в этом пункте будет как раз об этом рассказано.
Билды / BuildsБилд можно использовать как по прямому переводу, в виде "сборки", так и использовать оригинальное слово, которое будет использовать ниже.
Билды ссылаются на конкретную версию WoW. Конкретно, будучи последним числом в формате версии, WoW использует (x.x.x.xxxxx), но весь формат можно назвать номером сборки. К примеру "build 18125" и "build 6.0.1.18125" будет одно и тоже.
При ссылке на конкретный патч, например "патч 6.0.1", это может относится ко всем билдам для этого патча, одного билда или просто ко времени, когда этот патч был актуален, в зависимости от контекста. В процессе датамайнинга иногда билдами называются "контент билдом" (content build) или "хотфикс билдом" (горячим исправлением / hotfix build). Контент билды обычно содержат новый / обновленный контент, в то время как билды хотфиксов содержат только изменение базы данных / незначительные изменения файлов интерфейса.
CASCНачинания с версии 6.0 (Warlords of Draenor) WoW использует CASC (Content Addressable Storage Container) для хранения файлов, заменив старую систему MPQ. Архивы CASC обычно находятся в каталоге Data вашей папки WoW. Это обычно называют "локальным" хранилищем. В качестве локального хранилища выступает "удаленное" хранилище, представляющее собой вариант CASC, который находится в CDN Blizzard (сети доставки контента), куда игра загружается / устанавливается или даже транслируется во время игры. Локальное хранилище CASC содержит все игровые ресурсы, которые требуются вашим установленным версиям WoW для этой конкретной сборки и языка. Онлайн хранилище CASC содержит все игровые ресурсы для нескольких веток (branches), сборок, языков и многого другого.
Проекты / ProjectsЕсть 2 общеизвестных "проекта".
Имя | Описание |
Mainline | Mainline WoW (Battle for Azeroth, Shadowlands и т.д.) |
Classic | Classic WoW |
Продукты / ProductsСуществует несколько версий WoW, которые мы называем «продуктами», и те, о которых мы знаем, перечислены в таблице ниже. Номера сборок совместно используются и увеличиваются для разных продуктов. Различные продукты могут быть обработаны / исправлены одновременно.
Имя | Продукт | Проект | Описание |
Retail | wow | Mainline | Современный WoW, в который играют большинство пользователей |
PTR | wowt | Mainline | Публичный Тестовый Реалм для современного WoW |
Beta | wowb | Mainline | Бета для предстоящих дополнений |
Vendor | wowv | Mainline | Зашифровано, используется поставщиками оборудования (hardware vendors) |
Classic | wow_classic | Classic | Основная версия WoW Classic |
Classic Beta | wow_classic_beta | Classic | Бета-версия WoW Classic |
Аддовая Аббревиатура NGDP / TACT / CASCВведение CASC было частью более крупного проекта / попытки использования более современных систем для их различных процессов хранения / исправления / распространения. Упомянутый проект называется NGDP (Next Generation Delivery Platform). Часть NGDP, которая обрабатывает распространение / загрузку сборки, называется TACT (Trusted Application Content Transfer). Имейте в виду, что эти аббревиатуры часто используются взаимозаменяемо, поскольку мы не всегда знали точное различие между ними, и некоторые из них по-прежнему частично совпадают.
Корневой манифест / Root manifestОдним из заслуживающих внимания файлов во всем этом является корневой манифест (Root manifest). Этот файл содержит следующую информацию для каждого игрового ресурса:
- FileDataID
- Filename hash (только для интерфейсных файлов по состоянию на 8.2)
- Content hash (контрольная сумма MD5 файла, изменяется если файл изменен)
- Locale (доступность файла для языка клиента)
- Content flags (например, файл зашифрован, только для клиентов с низким уровнем насилия и т.д.)
Для получения дополнительной технической информации об этих системах, обязательно ознакомьтесь с вики
wowdev.
Информация о версии / Version informationКлиент Battle.net и WoW в настоящее время используют два разных метода для получения информации о версии.
HTTP NGDPHTTP NGDP относится к старому (и, вероятно, в будущем устаревшему) методу проверки версий. Он все еще используется клиентом WoW и использует обычный HTTP для получения информации о версии. Информация о версии доступна по следующему URL:
http://<region>.patch.battle.net/<product>/version где <region> относится к определенному региону (us, eu, cn, public-test) и <product> относится к продуктам, перечисленным в пункте product. Проверка на наличие изменений требует периодического извлечения файла версии для определенного продукта и сравнения его с ранее полученным файлом.
Более техническая информация об этом доступна
здесь.
RibbitRibbit - более новый метод проверки версий. Кэширование легче, и его содержимое можно проверить с помощью подписей, чтобы люди не связывались с информацией о версии. Ribbit используется приложением Battle.net (/Agent) для обнаружения обновлений. Проверять изменения в Ribbit можно, периодически проверяя "сводку" (summary), в которой перечисляется все доступное через Ribbit, а также идентификатор, который можно использовать для проверки того, что определенный файл версии продукта изменился без извлечения.
Более техническая информация о Ribbit доступна
здесь.
История версий / Version historyСписок всех известных сборок можно найти на этой удивительной странице
WoWPedia, список всех сборок, начиная с появления CASC в 6.0, вы можете найти
здесь.
Файлы / FilesТипы / TypesBlizzard использует несколько типов файлов / форматов внутри WoW. Это не полный список, перечислены лишь важные. Значение аббревиатур в значительной степени импровизировано / угадано.
Расширение | Значение | Описание |
WDT | World Data Table | Содержит информацию для всей карты. Одна карта может содержать до 64x64 ADT. |
ADT | Area Data Table | Содержит информацию для определенной области внутри карты. Может относиться к BLP (для текстур ландшафта), WMО и M2. |
WMO | World Map Object | Обычно более крупные модели. Может иметь подмножества моделей M2 (наборы doodad). |
M2 | Model (2.0) | Используется обычно для более сложных и / или небольших моделей. |
BLP | Blizzard Picture | Текстуры |
DB2 | Client Database (2.0) | Ранее был DBC (Client Database). Содержит информацию, необходимую клиенту. Все от существ до предметов и заклинаний (см. "Таблицы База данных"). Может быть исправлено/хотфикшено (см. "Исправления"). Как и обычные базы данных, отдельные части базы данных (файл DB2) также называют "таблицей". |
Имена файлов / FilenamesКак обычно бывает с файлами, файлы в WoW имеют имена для их идентификации. Поскольку игрок никогда не видит их, они не нужны в клиенте, поэтому все системы хранения были разработаны с учетом производительности, а не имен файлов или удобства использования сторонними лицами, такими как датамайнерами.
Чтобы идентифицировать файлы, был сделан
доступ к хэшу имени файла вместо полного имени файла, хранящегося в хранилище. Хеш-функцией, используемой для хэширования имени файла, был
Боб Дженкинс lookup3 с тех пор, как были представлены MPQ. Хотя ранние версии игры ссылались на файлы по имени, перед их открытием клиент хэшировал путь, а затем использовал значение хеширования для поиска файла. Для удобства WoW всегда поставлял так называемый
listfile (список файлов) со всеми MPQ, используемый только для файловых браузеров, чтобы дать хороший список архивов. Это сделало интеллектуальный анализ данных очень удобным.
В 7.0 Blizzard решила избавиться от этих listfiles (списка файлов) и всех основных патчей, поскольку избавилась от файлов, ссылающихся на другие файлы также по имени файла. В то время как файлы все еще имели хэши имен файлов, можно было угадать (перебор/брутафорс) имена файлов, поскольку хэши все еще присутствовали. Хотя это делало именование файлов немного сложнее, правильные попытки угадывания / перебора все еще можно было проверить. Публичные попытки сделать это в основном были найдены на
Github, но с тех пор перешли на WoW.tools, когда в 8.2 было удалено большинство хэшей имен файлов. WoW.tools позволяет сообществу
предлагать имена файлов и загружать
список файлов, содержащий идентификаторы FileDataID и предлагаемые (неофициальные) имена файлов.
Хотя имена файлов по-прежнему очень полезны для людей, любые инструменты, взаимодействующие с файлами WoW (начиная с 8.2), должны (внутренне) использовать FileDataID для ссылки на файлы вместо имен файлов. Имена файлов должны использоваться только в пользовательских интерфейсах. Для инструментов, взаимодействующих с WoW Classic, по-прежнему потребуется возможность ссылаться на файлы с именами файлов внутри, поскольку WoW Classic находится в странном месте, где некоторые вещи ссылаются на файлы по идентификатору (ID), а другие ссылаются на файлы по имени файла.
FileDataIDsВ современном WoW на файлы ссылаются не по имени файла (хэш), а по уникальному идентификатору, 32-битному номеру. Этот номер уникален для разных версий и продуктов и, по-видимому, внутренне связан с именами файлов. FileDataID были впервые замечены в Wrath of the Lich King в контексте синематиков и постепенно использовались в других местах. Теперь последние форматы файлов заменили все имена файлов непосредственно на FileDataID, что позволило корневому файлу CASC (который содержит список всех файлов) также удалять хэши имен файлов. Это неявно сделало невозможным надежное угадывание/подбора имен файлов, что побудило сообщество изобрести собственные имена для большого количества файлов.
Большинство файлов, используемых в пользовательском интерфейсе WoW, (по состоянию на 8.x) все еще поставляются с хэшами поиска имени файла, а также с таблицей базы данных, содержащей их имя, для
экспорта файлов интерфейса, для удобства авторов аддонов.
Некоторые имена файлов все еще можно угадать (но не проверить) из контекста, ссылок в других файлах и экстраполяции старых схем именования. Например, файлы WDT всегда называются
world/maps/$name/$name.wdt (где
$name берется из файла базы данных карты, например,
world/maps/emeralddream/emeralddream.wdt), причем ADT для карты находятся в одном каталоге с именем
$name_ $x_ $y.adt (emeralddream_24_25.adt). То же самое относится и к связанным файлам, таким как миникарты, запеченные текстуры ландшафта листов карты с низким разрешением, четыре файла ADT для текстур и объектов и т.д.
Аналогичным образом, файлы групп WMO всегда имеют то же имя, что и их родительский файл, но с идентификатором группы (group ID) (трехзначным числом), вставленным перед суффиксом файла (например,
world/wmo/dungeon/valgarde/valgarde.wmo и
world/wmo/dungeon/valgarde/valgarde_010.wmo).
Более общие структуры имен файлов, используемые в WoW, можно найти
здесь.
Чтобы не пропускать описания контента такими способами, Blizzard начала использовать менее описательные имена (теперь карты обычно называются такими же, как их идентификаторы, или намеренно вводит в заблуждение, например, "TrollRaid" - "Расколотые острова"), или решила удалять описания везде, где это возможно, как звуковые наборы (наборы звуков), в которых файл базы данных SoundKitName содержит имя для каждого набора (sets of sounds) звуков, намекая на то, для чего они используются. При удалении этой таблицы из общедоступных клиентов больше нет очевидных указаний на их использование. Однако все еще возможно группировать звуки по их использованию или связывая их с конкретными существами на основе ссылок из других файлов базы данных.
Шифрование / EncryptionВ течение 7.0/Легион Blizzard начал шифровать определенные наборы файлов. С тех пор они использовали его для шифрования синематиков, магазинных маунтов/петов, наград BlizzCon, а также карт/историй.
Ключ шифрования (также известный как ключ TACT) состоит из двух частей: имени (также известного как lookup(поиск)) и самого ключа.
Файл кодировки CASC, а также сам зашифрованный файл определяют lookup ключа, который использовался для шифрования файла. Клиент хранит список имен ключей, а также список их соответствующих ключей, если клиент не знает ключ для определенного поиска, он не может расшифровать файл и обычно отображает то, что эквивалентно "ничего" для этого файла. Для моделей это клетчатая коробка, для синематика это короткий черный экран и т.д.
Старые / широко известные ключи обычно включаются в сам клиент в таблицах базы данных TactKeyLookup и TactKey. Хотя ключи обычно отображаются в виде
hex, ключи, хранящиеся в этих таблицах, хранятся в виде числовых представлений каждого байта.
Новые ключи, с другой стороны, применяются к вышеупомянутым таблицам базы данных с помощью исправлений, отправляемых сервером клиенту. Иногда ключ глобально разблокируется / публикуется и отправляется клиенту при входе в игровой мир (например, когда выходит новый маунт в магазин), в то время как в других случаях он отправляется клиенту непосредственно перед его необходимостью (например, когда пользователь собирается смотреть синематик в конце рейда).
Один и тот же ключ обычно используется для шифрования файлов, связанных друг с другом. Например, для зашифрованного синематика они используют один и тот же ключ для шифрования видеофайла (в 3 различных разрешениях), а также отдельных аудиофайлов и субтитров.
Один и тот же ключ обычно используется для шифрования файлов, связанных друг с другом. Например, для зашифрованного кинематографического они используют один и тот же ключ для шифрования видеофайла (в 3 различных разрешениях), а также отдельных аудиофайлов и субтитров.
Список всех ключей можно найти
здесь (ручные обновления) или
здесь (автоматические обновления).
Таблицы базы данных / Database tablesBlizzard включает значительную часть информации WoW в самом клиенте, которая хранится в файлах DB2. Файлы DB2 хранятся в архивах игры в папке DBFilesClient. Информацию о существах, предметах, заклинаниях, картах, диалогах с NPC и многом другом можно найти в этих файлах.
Известные таблицыНекоторые таблицы, которые я считаю заслуживающими внимания/важными по разным причинам:
Имя | Описание |
Achievement | Достижения и отслеживание статистики |
AreaTable | Данные о территории/подзоне, включая текст, отображаемый при смене зоны |
BroadcastText | Неполный диалог NPC, как правило, только те вещи, которые имеют голос за кадром |
Creature | Неполный список существ, обычно только существа, используемые на стороне клиента |
ChrRaces | Списки рас персонажей, источник множества спекуляций Союзных рас |
Faction | Внутриигровые фракции/репутация |
GameTips | Содержит советы/подсказки, отображаемые на экранах загрузки |
GarrMission | Гарнизонные миссии |
GlobalStrings | Строки, используемые для различных вещей в игре, такие как сообщения об ошибках |
ItemSparse | Информация о предметах (включая имена) |
JournalEncounter | Журнал ... подземелий. |
MailTemplate | Шаблоны для внутриигровой почты |
Map | Список карт в игре, иногда содержит dev/test maps |
ManifestInterfaceData | Список файлов интерфейса для команды консоли ExportInterface |
NamesReserved | Названия, которые вы не можете иметь в имени вашего персонажа (много китайского...) |
SceneScriptText | Код, используемый для игровых сцен/мини-игр на стороне клиента |
TactKey | Ключи шифрования! |
UIMap | База новой системы карт мира, представленная в 7.x |
| |
История версий / Version historyWDBC
Первая версия DBC использовалась до Легиона.
WDB2 (4.0.x - 7.0.1.20740)
Введен в Cataclysm вместе с изменением расширения файла на DB2. Файлы DBC постепенно конвертировались в DB2 один за другим, поэтому Blizzard могла применять хотфиксы к этим файлам, что невозможно для DBC.
WDB3 (7.0.1.20740 - 7.0.1.20810)
Начало работ по дедупликации для уменьшения размера файла/использования памяти.
WDB4 (7.0.1.20810 - 7.0.3.21414)
Перемещение некоторых вещей по мелочи, небольшие изменения.
WDB5 (7.0.3.21479 - 7.2.0.23436)
Вводит определения структуры полей (structure definitions) в файле и layouthashes.
WDB6 (7.2.0.23436 - 7.3.5.25600)
Дальнейшие усилия по дедупликации путем добавления "common data table" (общей таблицы данных).
WDC1 (7.3.5.25600 - 8.0.1.26231)
Дополнительные усилия по дедупликации, изменения структуры полей в файле изменились, и это представляет relationship map.
WDC2 / CLS1 (Mainline: 8.0.1.26231 - 8.1.0.28048, Classic: 1.13.x-теперь)
В этой версии введено понятие sections (разделы) и различные изменения в хранении строк (string storage).
Переименованная версия "CLS1" , основанная на этих версиях, используется для DB2 Classic 1.13.
WDC3 (8.1.0.28048 - сейчас)
WDC3 была первой версией формата, в которой для шифрования использовались несколько encryption purposes (зашифрованных разделов).
Более подробное / техническое описание изменений между версиями DB2, на которых основано вышеизложенное, можно найти
здесь.
Разделы / SectionsWDC2 впервые представил концепцию разделов, а WDC3 первым применил ее. Эта функция разбивает файл на несколько разделов, каждый из которых имеет свои свойства.
Одним из указанных свойств является поле поиска ключа TACT (TACT key lookup field), которое, если установлено, означает, что указанный раздел зашифрован этим ключом TACT (см. Шифрование). Это позволяет Blizzard отправлять в DB2 данные, которые можно будет разблокировать позднее, когда станет доступен ключ TACT. Это на момент написания статьи единственное использование разделов, поскольку многосекционные DB2 всегда означают, что их часть зашифрована. Эти разделы обычно содержат только несколько зашифрованных строк.
Отношения / RelationsWDC3 представил концепцию столбца отношений. Это специальный вид столбца, который содержит идентификатор (ID), который ссылается на другую таблицу.
Структурные определения / Structure definitionsСтруктура файлов DB2 хранится в 2 местах. Сам файл DB2 имеет блок field_structure, который определяет позицию/размер каждого поля. Исполняемый файл WoW содержит гораздо больше информации о каждом поле внутри того, что обычно называют "DBMeta". За исключением редкой утечки, ни один из них не определяет, как называется конкретное поле.
Для отслеживания структура/макет (structure/layout definitions) таблицы сообщество создало проект
WoWDBDefs. Этот проект направлен на предоставление именованных структур для каждого DBC/DB2 в истории WoW и автоматически обновляется при каждой сборке. Когда структура/макет таблицы изменяется, кто-то в сообществе вручную выясняет, что было добавлено/изменено/удалено.
Хотфиксы / горячие исправления / HotfixesВсе таблицы базы данных могут быть исправлены данными, отправленными сервером при входе в мир или даже по требованию при выполнении определенных действий. Исправления могут добавлять, изменять или удалять данные, а также аннулировать ранее отправленные исправления. Blizzard использует исправления практически для всего, что есть в файле базы данных, от разблокировки нового контента (путем отправки ключей шифрования клиентам) до применения изменений баланса или даже исправления опечаток.
DBCache.binВ файле DBCache.bin исправления хранятся между сеансами. Его можно найти в папке
Cache\ADB\<region> внутри вашей папки WoW. Часть папки ADB относится к более старому формату файлов, который использовался для хранения исправлений в отдельных файлах, пока исправление 7.2.0.23436 не объединило все эти файлы в один файл DBCache.bin.
Этот файл собирается от пользователей с помощью специализированных инструментов (например,
клиента Wowhead или
загрузчика WoW.tools) сторонними веб-сайтами, такими как MMO-Champion, Wowhead и WoW.tools, для дополнения информации базы данных от клиента. В связи с тем, что Blizzard все чаще использует исправления для скрытия / изменения данных, пользователи, отправляющие этот файл, стали обязательным требованием для этих сайтов поддерживать актуальность и актуальность информации.
Больше технической информации, как ADB, так и файла DBCache.bin, можно найти
здесь.
Файлы WDB / WDB filesФайлы WDB находятся в папке
Cache\WDB\<region> и используются для кэширования определенной информации, отправляемой клиенту сервером, чтобы клиенту не приходилось запрашивать его у сервера. В настоящее время в файлах WDB хранятся следующие вещи: существа, игровые объекты, NPC, текст страницы (например, книги), петиции и квесты. Эти файлы, такие как файл DBCache, также используются сторонними веб-сайтами для предоставления как можно большего количества информации пользователям.
"Datamining"Datamining часто определяется в сообществе как «поиск нового» в патчах, отправляемых в PTR и тому подобное. Хотя это не технически точное определение слова, мы будем придерживаться его.
(в дальнейшем используется описание способа получения, собственно сам датамайн, самим Marlamin'ом, от его лица, считайте что в основном всё так же делают, пропуская некоторые этапы если они им не интересны или уже ранее известны, ну или как делают в лайв режимы команда с wowhead)Когда я получаю данные, я склонен использовать только те инструменты, которые я знаю или разрабатываю сам. Все они с открытым исходным кодом и общедоступны. Я добавлю больше глав о том, как собирать данные «для конкретных вещей» в будущем, но сейчас документируем основы процедуры «О, боже, новая сборка».
Процедура "О Боже, новая сборка"В этой главе я буду проходить процедуру, которой я грубо следую после новых сборок, обычно выполняемых одновременно с приемом обильного количества закусок

.
На сервере WoW.tools выполняется скрипт, который каждые 2-3 минуты проверяет наличие новых версий, обнаруживая изменения и публикуя сообщение в моем Discord. Если это изменение является новой сборкой, бэкэнд WoW.tools загрузит его. В зависимости от размера сборки это может занять несколько минут. Новые сборки, генерятся как правило, в течение 10 минут или около того.
Разница в файлах / File diffПервое, что я проверяю, это File diff. Этот инструмент читает
CASC root files для обеих сборок и сравнивает их.
Вы можете получить доступ к файлу diff, перейдя
сюда, нажав кнопку "Diff Builds" и выбрав соответственно старую и новую сборки. Нажатие на зеленую кнопку "Diff" после этого отправит вас на страницу сравнения файлов. Генерирование может занять до минуты, в зависимости от того, посетил ли кто-то недавно страницу.
Добавленные файлы обычно не имеют имени файла (которое окрашивает столбец имени файла в красный цвет) или типа, когда сборка идет изначально. Типы добавляются скриптом, работающим в фоновом режиме, и должны появиться в течение 10 минут после того, как на сайте появится сборка. Имена файлов (когда известно, как и где они используются) добавляются участниками сообщества.
Файл diff также включает некоторые инструменты для предварительного просмотра изменений для нескольких форматов файлов. Если формат файла не доступен для предварительного просмотра, он покажет (частичный) двоичный разностный файл (binary diff).
Если различие пустое или очень короткое, скорее всего, это не сборка контента, и вы можете продолжить копирование репутации из более старых расширений или из того, что вы делали, когда оно попадало.
DB2 также можно сравнить внутри инструмента (см. Изображение выше).
Однако может пройти несколько минут до того, как начальная разность будет выполнена, прежде чем можно будет сравнивать DB2, поскольку определения структуры еще не обновляются. Сравнение DB2 до этого времени не покажет изменений.
Я обычно просматриваю все страницы, чтобы проверить, изменилось ли что-нибудь интересное. Обновления DB2, как правило, находятся там, где будет находиться большинство интересных и легко доступных вещей, и я обязательно проверю DB2 из моего заметного списка таблиц, а также некоторые другие. Иногда я просто проверяю их все.
Если в DB2 имеются структурные изменения, то разница может быть неточной, пока кто-нибудь не исправит определения структуры. Не принимайте ничего за чистую монету, кто-то обычно исправляет какие-либо структурные проблемы в течение дня или около того после того, как сборка пришла.
После того, как types станут полностью доступными, M2 и WMO будут доступны для просмотра внутри встроенного средства просмотра моделей (при условии, что они не зашифрованы). Я фильтрую (используйте выпадающие меню в верхней части таблицы) файл diff для Action = Added и Type = M2 (а затем Type = WMO after), чтобы получить хороший список вновь добавленных моделей. Если щелкнуть ссылку предварительного просмотра в конце строки, откроется окно просмотра модели. Если просмотрщик моделей ведет себя странно или я хочу больше экранной недвижимости, под предварительным просмотром есть ссылка на полноразмерный просмотрщик моделей для этого файла.
Еще одна интересная вещь, которую я всегда хотел бы проверить - это изменения в интерфейсных файлах. Чтобы сделать это, я фильтрую Lua (и иногда XML, если мне больно). На сайте показаны встроенные различия для этих файлов, поэтому их просмотр, как правило, довольно быстрый.
Шифрование / EncryptionСледующим шагом является проверка изменений в зашифрованных файлах. Я сделал
эту страницу, чтобы создать обзор известных в настоящее время ключей шифрования и того, что они шифруют. Страница автоматически перекрестно ссылается на некоторые вещи, чтобы увидеть, может ли она найти подсказки сама по себе. Если появятся какие-либо новые шаблоны или появятся намеки на то, что шифруется, я обновлю комментарий к ключу, чтобы отразить это.
Иногда ключи публикуются ими при добавлении в TactKey.db2. Когда это происходит, я должен добавить их на сайт вручную и обновить некоторые инструменты, которые занимаются извлечением файлов.
Клиентский или серверный / Clientside vs. ServersideВсе, на что мы смотрели до сих пор, чисто клиентское. Однако многие вещи (почти все в файлах ADB, а также исправления для конкретных таблиц, которые отправляются только по запросу) доступны только на сервере, и для этого потребуется запрос этой информации.
После поднятия PTR (обычно через некоторое время после выпуска сборки) я захожу на PTR, захожу в world и затем снова выхожу из игры, чтобы загрузить файл DBCache.bin в WoW.tools.
Основные сайты по обработке данных WoW идут дальше, используя инструменты, которые в значительной степени рассылают спам серверу на передачу его секретов, я не делаю этого, поскольку это пересекает черту того, как далеко я хочу пойти, так что это, как правило, там, где они будут иметь информация, которая не будет на WoW.tools. Обычно это такие вещи, как BroadcastText и тому подобное.
Больше?Существует множество инструментов/улучшений, над которыми мы работаем, что облегчает анализ новых сборок. Например, Maku собрал страницу, которая сравнивает все DB2 с текстом в них на одной странице (так как они, как правило, самые интересные).
Эта страница все еще проходит тестирование и еще не готова к прайм-тайму, но вот скриншот:
ИтогВ данной статьи указаны общая информация как по поиску файлов, так и ссылки на те или иные инструменты. Сообщество датамайнеров очень узкое и каждый друг с другом сотрудничает в той или иной форме, тем самым помогая остальным. И даже если вам не интересны инструменты поиска новой информации, возможно вы хотите вытащить какую то информацию для себя (картинки или же озвучку персонажа), вы узнаете как это сделать. Конечно же, Blizzard позволяют это и в один прекрасный момент могут сказать "стоп" заблокировав многие возможности, но надеюсь, этого никогда не случится, поскольку мы лишимся огромного количество полезных фич, даже банальных аддонов, а как известно, то что делают мододелы, в итоге воплощается самим разработчиком. Всем спасибо за внимание.
Данная статья появилось благодаря Marlamin, оригинал находится здесь. А источниками информации являются wowdev.wiki и wow.tools.