А используется ли management table вообще?

61 views
Skip to first unread message

mrz

unread,
Jun 28, 2007, 1:04:41 PM6/28/07
to navirev
Новость ни очень приятная, для тех, кто пытается раскурочить DVD.

Решил я проэкспериментировать с записями [5.2 Management Header
Table].
Для начала установил адрес:размер=FFFFFFFF:0000 для двух
недокументированных записей [ 20 и 27]. Сделал болванку, засунул в
навигацию - изменений нет. Впрочем я предполагал, что такое может
быть, хорошо.

Тогда я в [5.1 Data Volume] установил бит флага 416:13 [Data
Contents.Index Data] в 0, и аналогичным образом обнулил запись 3
[Index Data Management] в [5.2 Management Header Table]. Ранее эта
запись у меня указывала на 0:3 INDEXDAT.KWI (В других системах этот
файл может называться POIDAT.KWI и.т.п).
После моих действий система должна была считать, что диск не содержит
POI информации.

Ожидал чего угодно, но... Как будто ничего не было, навигация
продолжает находить POI информацию. Полазил по LOADING.KWI (у меня
файл загрузки), и нашел две ссылки:


14162480 00 56 65 72 73 69 6F 6E
2E .Version.
14162496 54 58 54 00 41 4C 4C 44 41 54 41 2E 4B 57 49 00
TXT.ALLDATA.KWI.
14162512 41 4C 4C 44 41 54 41 2E 4B 57 49 00 4C 4F 41 44
ALLDATA.KWI.LOAD
14162528 49 4E 47 2E 4B 57 49 00 49 4E 44 45 58 44 41 54
ING.KWI.INDEXDAT
14162544 2E 4B 57 49 00 00 .KWI..

и

Offset 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

16247072 00 00 00 00 00 00 00 49 4E 44 45 58 44 41
54 .......INDEXDAT
16247088 2E 4B 57 49 .KWI

Резюме: Автонавигация не использует ту структуру данных, которая
описана в документации по KIWI, и так легко подменить карту не
получиться. Если в файле загрузки дублируется только структура диска,
не все потеряно, данные можно вставлять по тем же адресам, а вот если
там прописаны и основные координаты... Тогда увы...

IL

unread,
Jun 29, 2007, 12:41:32 AM6/29/07
to nav...@googlegroups.com
mrz wrote:
> Новость ни очень приятная, для тех, кто пытается раскурочить DVD.
>
> Решил я проэкспериментировать с записями [5.2 Management Header
> Table].
>
>
Система скорее всего игнорирует верхнеуровневые структуры и разные
флаги, очень может быть что в коде явно прописано какие файлики читать.
Они просто прохалявили немного, им особая универсальность(чтобы любой
диск подходил) и не нужна. Но ниже все равно все будет использоваться
KWI'шное, т.к. другого места для хранения то нет. Хочется убрать POI,
просто файлик с диска уберите, может поможет.


mrz

unread,
Jun 29, 2007, 4:40:10 AM6/29/07
to navirev
Удалил ссылку на Автороутинг (в [5.2 Management Header Table] запись
2, у меня ссылается на сектор 0 в STDKIR.KWI, в японских системах
лежит в ALLDATA.KWI сразу за основными картами).

Результат положительный, изменения малозначительные, но есть: при
задании конечной точки маршрута система выкидывает сообщения
"Голосовые команды управления недоступны для данного региона". Т.е
разработчики зачем-то прописали только INDEXDAT.KWI в загрузчик,
непонятно для чего, если таблицу они все равно читают.

Главное, чтобы они не прописали в загрузчик координаты региона,
которые находятся в [5.1 Data Volume], и дублируются в [6.1 Parcel
Data Management Distribution Header]. Проверить не просто - каждый
сегмент MainMap содержит координаты, чтобы "подвинуть" регион, надо
изменить их все.

Удалять INDEXDAT.KWI в лоб наверное не стоит - это один из основных
Management Distribution Header, проще чуть чуть его прочитать и просто
обнулить ссылки на данные.

mrz

unread,
Jul 20, 2007, 11:55:55 AM7/20/07
to navirev
Последовал совету IL, удалил INDEXDAT.KWI, а заодно директорий /IDX в
котором лежали вспомогательные файлы POI. При этом адрес LOADING и
ALLDATA а также порядок оставшихся файлов оставил без изменений.
Получил образ размером 4,85 Гб вместо 7.8 Гб. Карта работает, routig
тоже. Когда заходишь в меню и пытаешься выбрать пункт назначения из
POI, система просто игнорирует нажатие кнопки.
Опыт крайне удачный, японцы создавали soft c запасом, видимо сами
боялись глюков, чтобы создать первую карту не придется разбираться со
структурой POI, удаляем и все.

Headache

unread,
Jul 26, 2007, 4:23:55 PM7/26/07
to navirev
Маладца, моя мечта... К сожалению, в связи с рождением сына немного
это дело пришлось забросить, обязуюсь по осени заняться опять.

sja...@mail.ru

unread,
Jul 28, 2007, 10:01:34 AM7/28/07
to navirev
Подскажите чем и в каком виде редактируете данные, хочу тоже
попробоветь.
Редактируете прямо ISO или отдельно Alldata.kwi, а потом Iso
собираете.
P.S. Вопрос к mrz.

sja...@mail.ru

unread,
Jul 29, 2007, 10:22:13 AM7/29/07
to navirev
Проделал аналогичный фокус со своим Jap диском удалил POIDFM.KWI и
сделал вышеописанные изменения в ALLDATA.KWI
Полученный таким образом диск заработал в навигации. Диск получился
размером 3Гб.
Самое интересное, что диск не работал без дирректории Afteraw/ и файла
AI.bin в ней.

carnavigat

unread,
Aug 8, 2007, 2:42:03 AM8/8/07
to navirev
парни на какие болванки пишети "модифицированные" образы?

Headache

unread,
Aug 14, 2007, 9:43:52 AM8/14/07
to navirev
Работал с образом для Алпайна (который с хтмлями и т.п.).

Образ просто урезан до начала хтмлей (самих файлов), заголовок
оставлен.
Правда, по причине отсутствия болванки под руками писал на Verbatim
DVD-RW.

Результат отрицательный.

Миша, ты какими дисками пользовался, обычными +R?

Для carnavigat:
При работе с двуслойками пользовался Verbatim DVD+R DL 4x.
Насчет RW - однажды был удачный опыт, с RW прогрузилась прошивка,
затем загрузка застряла на этапе alldata... Поэтому, предполагаю, что
RW использовать можно, а у меня какой-то косяк....

mrz

unread,
Aug 14, 2007, 10:51:11 AM8/14/07
to navirev
Я все писал на DVD+R DL. На DVD-R писать не стоит, там вообще все по-
другому.
Читаются все записанные болванки, но на некоторых при смене уровня
карты происходит подвисания. От болванки не зависит пробовал на
разных, резалка хорошая (Plextor-760).
Видимо не совершенны сами двухслойные болванки.
Вторая проблема, которая может быть - нельзя менять физические адреса
файлов загрузки и, скорее всего, ALLDATA.KWI.
Я формировал iso своей программой.

Headache

unread,
Aug 14, 2007, 10:56:18 AM8/14/07
to navirev
И что на dvd-r по другому, если пишется образ целиком, вместе с
таблицей размещения и т.п.?

А насчет физических адресов - они и не меняются.

mrz

unread,
Aug 14, 2007, 11:09:38 AM8/14/07
to navirev
А чем ты удалил файлы и директории не перестраивая ISO?

> > Я формировал iso своей программой.- Скрыть цитируемый текст -
>
> - Показать цитируемый текст -

Headache

unread,
Aug 14, 2007, 11:20:13 AM8/14/07
to navirev
Чем-чем.... Тулзу написал и просто iso-файл обрезал до нужной
точки. :)
Положить для общего пользования?

> > - Показать цитируемый текст -- Скрыть цитируемый текст -

carnavigat

unread,
Aug 17, 2007, 2:37:31 AM8/17/07
to navirev
Коллеги, нужна помощь в для начала анализа
STDVCE.KWI
Offset 0 1 2 3 4 5 6 7 8 9 A B C D E F
00000000 00 02 38 D4 00 0C 00 02 0F 61 3C 00 3C 35 7D 00
00000010 00 00 07 22 00 10 00 14 09 0E 00 00 00 B8 00 00

00 02 38 D4 Voice Distribution Header Size (SWS)
00 0C of General-purpose Voice Languages (N)

что за тип данных SWS (Short Word Size Type)?
run_decode.rb возвращает для этого поля значение - SWS:0x2b51510
000238D4 = 145620
02b51510 = 45421840
что это за поле такое...

в озвучке 12 языков?

3400122E.PDF
34.1 Voice Distribution Header
name [Voice Distribution Header]
No. Offset Data
length
Data type Item name Remarks Classification

1 0 ,S SWS Voice Distribution Header Size a
2 4 2 N Number of General-purpose Voice Languages a
3 6 B1 A Sequence of General-purpose Voice Offset
Management Tables
(1) c
4 O1 B2 General-purpose Voice Offset Information c
5 O2 4 LWS Proper Voice Real Data Size (2) a
(1) A Sequence of General-purpose Voice Offset Management Tables
As many tables as the "number of general-purpose voice languages" are
created.
(2) Proper Voice Real Data Size
The size of the entire proper voice real data sequence, from the
beginning of the proper voice real data sequence to
the end of the voice data frame, is indicated.

Headache

unread,
Aug 17, 2007, 4:30:20 AM8/17/07
to navirev
Смотрел я как-то голосовые куски нескольких дисков. Не занялся по
причине более интересных дел.

SWS - это слово беззнаковое. unsigned int.

В европейских дисках - 12 не видел, а 6 языков было.
В японских дисках - 1 язык, там даже таблица маппинга сообщений
отсутствует. Сразу сообщения идут.
Штатовский диск есть, но я его не смотрел.

Там вроде обычный восьмибитовый ADPCM кодер. Т.е., можно вроде
выдирать последовательность, прикручивать к обычному RIFF-WAV
заголовку и слушать. За этом кстати вроде и основан руби-скрипт -
посмотри ссылку в "о проекте", там прямо исходники лежат.

carnavigat

unread,
Aug 17, 2007, 9:59:06 AM8/17/07
to navirev
>SWS - это слово беззнаковое. unsigned int.
какой длины? 4 байта как в спецификации? порядок следования байтов?
Intel или Motorolla?
то есть какие реальные значения храняться в

00000000 00 02 38 D4 00 0C
ruby скрипты запускаю, но либо они по *nix работают по другому, либо
под другую версию формата файлов, успешно не выполняются, пытаюсь
понять где загвоздка.

щас смотрю начало двух войсов от Subaru и SAAB, они не отличаются
сильно.

IL

unread,
Aug 20, 2007, 12:44:37 AM8/20/07
to nav...@googlegroups.com
carnavigat wrote:
>> SWS - это слово беззнаковое. unsigned int.
>>
> какой длины? 4 байта как в спецификации? порядок следования байтов?
> Intel или Motorolla?
>
1.2.11 Short Word Size Type (SWS)
Value range: Represents a range of 0 to the maximum value that is
positive and determined by the field length.
Value unit: Short word (2 bytes)
(Example: The short word size type with a two-byte field can represent
from 0 to 65535. 0 (0000(16)) is assigned to "Null".
Therefore, up to 131070 bytes can be specified.)

Например вот здесь - 6.1 Parcel Data Management Distribution Header
Header Size SWS 2 байта

В твоем случае размер SWS - 4 байта.

00 02 38 D4 - 0x000238D4 * sizeof(Short Word) = 0x000471A8
00 0C - следующее поле(количество языков)

carnavigat

unread,
Aug 20, 2007, 6:25:57 AM8/20/07
to navirev
похоже голос в STDVCE.KWI хранить не в том формате, что описывается в
KIWI - доках,
по этому и ruby скрипты отдыхают
p.s. - 12 языков не может быть

Reply all
Reply to author
Forward
0 new messages