DAT структура с дампа

MrKirill1232

Прославленный
Проверенный
Победитель в номинации 2023
Мастер реакций
Неукротимое пламя
Медаль Благодарности
Победитель в номинации 2022
Старожил I степени
Сообщения
1 814
Розыгрыши
0
Решения
35
Репутация
1 062
Реакции
1 429
Баллы
1 408
Привет!
Недавно спрашивал как достать структуру с дампа для серверных\клиентских пакетов.
Вроде получилось, но все еще не понятно...
Вопрос в другом. На руках опять же дамп. Хочу немного структуры для DAT Editor достать, но при сравнении с тем, что уже прописано (сравнивал структуру по поиску с уже написаными) я вхожу в недоумение...
Смотрел на Clan_Name - там вообще F. Струткуры совсем разные.
Сейчас пытаюсь собрать dyepotential
Решил от балды сначало (когда не было дампа) сделать пакет.
Удивительно - но это получилось немного :0
1637493923830.png с вот такой вот струкрутой эдитора
XML:
<file pattern="master_class" isSafePackage="true">
        <node name="data" reader="UINT" />
        <for name="dyepotential" size="#data" hidden="false">
            <node name="unknown_1" reader="UINT" />
            <node name="skill_id" reader="UINT" />
            <node name="unknown_2" reader="UINT" />
        </for>
    </file>
Но дальше не продвинулся я...
Поискал я по скилл ид - да, это новые скиллы для красок оказались :0
Получил дамп - теперь сижу колдую...
Структуру примерно с дампа выписал, остается только типы данных правильно описать...
XML:
<file pattern="master_class" isSafePackage="true">
        <node name="data" reader="UINT" />
        <for name="dyepotential" size="#data" hidden="false">
            <node name="dyepotential_id" reader="UCHAR" />
            <node name="dye_slot_id" reader="UCHAR" />
            <node name="effect_name" reader="ASCF" />
            <node name="skill_id" reader="UINT" />
            <node name="max_skill_level" reader="UCHAR" />
        </for>
    </file>
effect_name 100% должен быть текстывом, так как файл имеет приписку "-eu", что означает локализацию (наверное)
когда Едитор пытается его открыть - первый проход (так как циклом открывает) показывает примерно правильную информацию, но не полностью и дальше вообще пошло что-то не по плану...
Bash:
[2021-11-21 13:29:44] INFO Open file: dyepotential_ClassicAden-eu.dat
[2021-11-21 13:29:44] INFO File dyepotential_ClassicAden-eu.dat encrypted. Lineage2Ver413 decrypt ...
[2021-11-21 13:29:44] INFO Decrypt successfully.
[2021-11-21 13:29:44] INFO Read the file structure ...
[2021-11-21 13:29:44] INFO pos: 4 data: 16
[2021-11-21 13:29:44] INFO pos: 5 dyepotential_id: 1
[2021-11-21 13:29:44] INFO pos: 6 dye_slot_id: 0
[2021-11-21 13:29:44] INFO pos: 8 effect_name:
[2021-11-21 13:29:44] INFO pos: 12 skill_id: 83001
[2021-11-21 13:29:44] INFO pos: 13 max_skill_level: -19
[2021-11-21 13:29:44] INFO pos: 14 dyepotential_id: -51
[2021-11-21 13:29:44] INFO pos: 15 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 16 effect_name:
[2021-11-21 13:29:44] INFO pos: 20 skill_id: 335609858
[2021-11-21 13:29:44] INFO pos: 21 max_skill_level: 58
[2021-11-21 13:29:44] INFO pos: 22 dyepotential_id: 68
[2021-11-21 13:29:44] INFO pos: 23 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 24 effect_name:
[2021-11-21 13:29:44] INFO pos: 28 skill_id: 118254
[2021-11-21 13:29:44] INFO pos: 29 max_skill_level: 3
[2021-11-21 13:29:44] INFO pos: 30 dyepotential_id: 0
[2021-11-21 13:29:44] INFO pos: 31 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 52 effect_name: ;D ??  <D ??
[2021-11-21 13:29:44] INFO pos: 56 skill_id: 335675397
[2021-11-21 13:29:44] INFO pos: 57 max_skill_level: 61
[2021-11-21 13:29:44] INFO pos: 58 dyepotential_id: 68
[2021-11-21 13:29:44] INFO pos: 59 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 60 effect_name:
[2021-11-21 13:29:44] INFO pos: 64 skill_id: 118257
[2021-11-21 13:29:44] INFO pos: 65 max_skill_level: 6
[2021-11-21 13:29:44] INFO pos: 66 dyepotential_id: 0
[2021-11-21 13:29:44] INFO pos: 67 dye_slot_id: 2
[2021-11-21 13:29:44] INFO pos: 88 effect_name: >D ??  ?D ??
[2021-11-21 13:29:44] INFO pos: 92 skill_id: 335740936
[2021-11-21 13:29:44] INFO pos: 93 max_skill_level: 64
[2021-11-21 13:29:44] INFO pos: 94 dyepotential_id: 68
[2021-11-21 13:29:44] INFO pos: 95 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 96 effect_name:
[2021-11-21 13:29:44] INFO pos: 100 skill_id: 118260
[2021-11-21 13:29:44] INFO pos: 101 max_skill_level: 9
[2021-11-21 13:29:44] INFO pos: 102 dyepotential_id: 0
[2021-11-21 13:29:44] INFO pos: 103 dye_slot_id: 3
[2021-11-21 13:29:44] INFO pos: 124 effect_name: AD ?? \n BD ??
[2021-11-21 13:29:44] INFO pos: 128 skill_id: 335740939
[2021-11-21 13:29:44] INFO pos: 129 max_skill_level: 67
[2021-11-21 13:29:44] INFO pos: 130 dyepotential_id: 68
[2021-11-21 13:29:44] INFO pos: 131 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 132 effect_name:
[2021-11-21 13:29:44] INFO pos: 136 skill_id: 118263
[2021-11-21 13:29:44] INFO pos: 137 max_skill_level: 12
[2021-11-21 13:29:44] INFO pos: 138 dyepotential_id: 0
[2021-11-21 13:29:44] INFO pos: 139 dye_slot_id: 4
 ED ??1 13:29:44] INFO pos: 160 effect_name: DD ??
[2021-11-21 13:29:44] INFO pos: 164 skill_id: 335806478
[2021-11-21 13:29:44] INFO pos: 165 max_skill_level: 70
[2021-11-21 13:29:44] INFO pos: 166 dyepotential_id: 68
[2021-11-21 13:29:44] INFO pos: 167 dye_slot_id: 1
[2021-11-21 13:29:44] INFO pos: 168 effect_name:
[2021-11-21 13:29:44] INFO pos: 172 skill_id: 118266
[2021-11-21 13:29:44] INFO pos: 173 max_skill_level: 15
[2021-11-21 13:29:44] INFO pos: 174 dyepotential_id: 0
[2021-11-21 13:29:44] INFO pos: 175 dye_slot_id: 4
[2021-11-21 13:29:44] INFO pos: 196 effect_name: GD ??  HD ??
[2021-11-21 13:29:44] INFO pos: 200 skill_id: 1717654284
[2021-11-21 13:29:44] INFO pos: 201 max_skill_level: 101
[2021-11-21 13:29:44] INFO pos: 202 dyepotential_id: 80
[2021-11-21 13:29:44] INFO pos: 203 dye_slot_id: 97
ышёЄ. 21, 2021 1:29:44 ╧╧ l2god.Boot openSelectFileWindow
SEVERE: null
java.nio.BufferUnderflowException
Ну подумал - значит я где-то близко... Но каждый раз страдать вот таким перебором не хочется...
Скрытое содержимое доступно для зарегистрированных пользователей!
 
Решение
можете тогда подскажать, где же можна найти структуры для dat файлов ?
с помощью дебаггера при запуске клиента)ловишь загрузку нужной тебе датки и смотришь функцию чтения.
П.С либо действительно методом тыка) так как структура для тхт != структуре датки.
<node name="max_skill_level" reader="UCHAR" /> попробуй UINT
где-то жмыхнуло его
Bash:
[2021-11-21 14:30:27] INFO ---------------------------------------
[2021-11-21 14:30:27] INFO Open file: dyepotential_ClassicAden-eu.dat
[2021-11-21 14:30:27] INFO File dyepotential_ClassicAden-eu.dat encrypted. Lineage2Ver413 decrypt ...
[2021-11-21 14:30:27] INFO Decrypt successfully.
[2021-11-21 14:30:27] INFO Read the file structure ...
[2021-11-21 14:30:27] INFO pos: 4 data: 16
[2021-11-21 14:30:27] INFO pos: 5 dyepotential_id: 1
[2021-11-21 14:30:27] INFO pos: 6 dye_slot_id: 0
[2021-11-21 14:30:27] INFO pos: 8 effect_name:
[2021-11-21 14:30:27] INFO pos: 12 skill_id: 83001
[2021-11-21 14:30:27] INFO pos: 16 max_skill_level: 118253
[2021-11-21 14:30:27] INFO pos: 17 dyepotential_id: 2
[2021-11-21 14:30:27] INFO pos: 18 dye_slot_id: 0
[2021-11-21 14:30:27] INFO pos: 20 effect_name:
[2021-11-21 14:30:27] INFO pos: 24 skill_id: 83002
[2021-11-21 14:30:27] INFO pos: 28 max_skill_level: 118254
[2021-11-21 14:30:27] INFO pos: 29 dyepotential_id: 3
[2021-11-21 14:30:27] INFO pos: 30 dye_slot_id: 0
[2021-11-21 14:30:27] INFO pos: 32 effect_name:
[2021-11-21 14:30:27] INFO pos: 36 skill_id: 83003
[2021-11-21 14:30:27] INFO pos: 40 max_skill_level: 118255
[2021-11-21 14:30:27] INFO pos: 41 dyepotential_id: 4
[2021-11-21 14:30:27] INFO pos: 42 dye_slot_id: 0
[2021-11-21 14:30:27] INFO pos: 45 effect_name: 
[2021-11-21 14:30:27] INFO pos: 49 skill_id: -268435132
[2021-11-21 14:30:27] INFO pos: 53 max_skill_level: 83886541
[2021-11-21 14:30:27] INFO pos: 54 dyepotential_id: 0
[2021-11-21 14:30:27] INFO pos: 55 dye_slot_id: 2
[2021-11-21 14:30:27] INFO pos: 76 effect_name: =D ??  >D ??
[2021-11-21 14:30:27] INFO pos: 80 skill_id: 335675399
[2021-11-21 14:30:27] INFO pos: 84 max_skill_level: 83007
[2021-11-21 14:30:27] INFO pos: 85 dyepotential_id: -13
[2021-11-21 14:30:27] INFO pos: 86 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 88 effect_name:
[2021-11-21 14:30:27] INFO pos: 92 skill_id: 335740936
[2021-11-21 14:30:27] INFO pos: 96 max_skill_level: 83008
[2021-11-21 14:30:27] INFO pos: 97 dyepotential_id: -12
[2021-11-21 14:30:27] INFO pos: 98 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 100 effect_name:
[2021-11-21 14:30:27] INFO pos: 104 skill_id: 335740937
[2021-11-21 14:30:27] INFO pos: 108 max_skill_level: 83009
[2021-11-21 14:30:27] INFO pos: 109 dyepotential_id: -11
[2021-11-21 14:30:27] INFO pos: 110 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 112 effect_name:
[2021-11-21 14:30:27] INFO pos: 116 skill_id: 335740938
[2021-11-21 14:30:27] INFO pos: 120 max_skill_level: 83010
[2021-11-21 14:30:27] INFO pos: 121 dyepotential_id: -10
[2021-11-21 14:30:27] INFO pos: 122 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 124 effect_name:
[2021-11-21 14:30:27] INFO pos: 128 skill_id: 335740939
[2021-11-21 14:30:27] INFO pos: 132 max_skill_level: 83011
[2021-11-21 14:30:27] INFO pos: 133 dyepotential_id: -9
[2021-11-21 14:30:27] INFO pos: 134 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 136 effect_name:
[2021-11-21 14:30:27] INFO pos: 140 skill_id: 335806476
[2021-11-21 14:30:27] INFO pos: 144 max_skill_level: 83012
[2021-11-21 14:30:27] INFO pos: 145 dyepotential_id: -8
[2021-11-21 14:30:27] INFO pos: 146 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 148 effect_name:
[2021-11-21 14:30:27] INFO pos: 152 skill_id: 335806477
[2021-11-21 14:30:27] INFO pos: 156 max_skill_level: 83013
[2021-11-21 14:30:27] INFO pos: 157 dyepotential_id: -7
[2021-11-21 14:30:27] INFO pos: 158 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 160 effect_name:
[2021-11-21 14:30:27] INFO pos: 164 skill_id: 335806478
[2021-11-21 14:30:27] INFO pos: 168 max_skill_level: 83014
[2021-11-21 14:30:27] INFO pos: 169 dyepotential_id: -6
[2021-11-21 14:30:27] INFO pos: 170 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 172 effect_name:
[2021-11-21 14:30:27] INFO pos: 176 skill_id: 335806479
[2021-11-21 14:30:27] INFO pos: 180 max_skill_level: 83015
[2021-11-21 14:30:27] INFO pos: 181 dyepotential_id: -5
[2021-11-21 14:30:27] INFO pos: 182 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 184 effect_name:
[2021-11-21 14:30:27] INFO pos: 188 skill_id: 335806480
[2021-11-21 14:30:27] INFO pos: 192 max_skill_level: 83016
[2021-11-21 14:30:27] INFO pos: 193 dyepotential_id: -4
[2021-11-21 14:30:27] INFO pos: 194 dye_slot_id: -51
[2021-11-21 14:30:27] INFO pos: 196 effect_name:
[2021-11-21 14:30:27] INFO pos: 200 skill_id: 1717654284
[2021-11-21 14:30:27] INFO pos: 204 max_skill_level: 1667321957
[2021-11-21 14:30:27] INFO pos: 205 dyepotential_id: 107
[2021-11-21 14:30:27] INFO pos: 206 dye_slot_id: 97
ышёЄ. 21, 2021 2:30:27 ╧╧ l2god.Boot openSelectFileWindow
SEVERE: null
java.nio.BufferUnderflowException

Meowbius написал(а):
you have to guess type and order
Вообщем закрываем тему.
Вперед рандом!
 
можете тогда подскажать, где же можна найти структуры для dat файлов ?
с помощью дебаггера при запуске клиента)ловишь загрузку нужной тебе датки и смотришь функцию чтения.
П.С либо действительно методом тыка) так как структура для тхт != структуре датки.
 
Решение
с помощью дебаггера при запуске клиента)ловишь загрузку нужной тебе датки и смотришь функцию чтения.
П.С либо действительно методом тыка) так как структура для тхт != структуре датки.
угу... и castle-name тому прекрасный пример.
Bash:
<for name="castle_name" size="#data" hidden="false">
            <node name="namber" reader="UINT" />
            <node name="tag" reader="UINT" />
            <node name="id" reader="UINT" />
            <node name="name" reader="ASCF" />
            <node name="loc" reader="ASCF" />
            <node name="desc" reader="ASCF" />
            <node name="mark" reader="MAP_INT" />
            <node name="markgray" reader="MAP_INT" />
            <node name="flagicon" reader="MAP_INT" />
            <node name="mercname" reader="ASCF" />
            <node name="regionid" reader="USHORT" />
        </for>
Код:
castle_name_begin
id
name
loc
desc
mark
markgray
flagicon
mercname
regionid
castle_name_end
 
Назад
Сверху Снизу