Японская картография в магнитолах на HDD
- bellic
- Сообщения: 1490
- Зарегистрирован: 11 мар 2017, 07:47
- Откуда: Rostov-on-Don
- Контактная информация:
Японская картография в магнитолах на HDD
Японская картография в магнитолах на HDD...
Японская картография в магнитолах на HDD
Начнем.
На примере магнитолы NHDT-W59.
Распределение пространства на HDD на фото: Кстати - среди видимых разделов имеются в формате не только FAT32, но и FAT16 и даже FAT12...
Раздел который Windows называет RAW мы и будем исследовать.
Причины создания такого раздела с нестандартной файловой системой на мой взгляд следующие:
По крайней мере код "53 46 50 4D" (SFPM) можно использовать как "сигнатуру"
Красным - размер файловой таблицы в байтах (037010h (225296 dec)); - ПРОВЕРИТЬ!
Зеленым - размер всего раздела в секторах (015248h * 10000h = 152480000h (5675417600 dec) байт);
Синим - размер сектора в 2-байтных словах (в данном случае размер сектора получается 64кбайт): 8000h * 2 = 10000h (65536) байт;
С адреса 200h начинается то, что вероятно называется Partition Table. При этом 10h байт выделено под заголовок. FNIF-вероятно определение (название) таблицы.
Следующие 4 байта (выделенные розовым) контрольная сумма.
С адреса 210h идет таблица используемых секторов, где каждый бит - это сектор. Размер таблицы 5000h байт.
С адреса 5210h начинается таблица файлов.
На примере магнитолы NHDT-W59.
Распределение пространства на HDD на фото: Кстати - среди видимых разделов имеются в формате не только FAT32, но и FAT16 и даже FAT12...
Раздел который Windows называет RAW мы и будем исследовать.
Причины создания такого раздела с нестандартной файловой системой на мой взгляд следующие:
- максимально ускорить загрузку и работу с картами;
- защитить от несанкционированного доступа и модификации.
По крайней мере код "53 46 50 4D" (SFPM) можно использовать как "сигнатуру"
Красным - размер файловой таблицы в байтах (037010h (225296 dec)); - ПРОВЕРИТЬ!
Зеленым - размер всего раздела в секторах (015248h * 10000h = 152480000h (5675417600 dec) байт);
Синим - размер сектора в 2-байтных словах (в данном случае размер сектора получается 64кбайт): 8000h * 2 = 10000h (65536) байт;
С адреса 200h начинается то, что вероятно называется Partition Table. При этом 10h байт выделено под заголовок. FNIF-вероятно определение (название) таблицы.
Следующие 4 байта (выделенные розовым) контрольная сумма.
С адреса 210h идет таблица используемых секторов, где каждый бит - это сектор. Размер таблицы 5000h байт.
С адреса 5210h начинается таблица файлов.
Японская картография в магнитолах на HDD
Рассмотрим начало "Файловой таблицы" поближе:
Адрес 0521Dh - 1 байт - значение "01 - порядковый номер или вероятнее всего - количество разделов в файловой системе.
"Файловая таблица" содержит 2800h записей (в FAT32 именуется "Файловой записью")размером 14h байт.
8 байт - имя файла или каталога(если имя короче 8 символов - концовка заполнена нулевыми байтами);
3 байта - расширение (у каталогов - заполнено нулями(хотя возможно это не всегда так));
1 байт - флаг (вероятно пустой директории) - нормальное значение "00", у пустых каталогов - "FF";
2 байта - смещение (в случае файла смещение на его начало, а в случае с директорией - на первый элемент директории) в секторах от начала Данных. У пустых директорий данное поле - "FF FF";
2 байта - номер элемента (файла или директории). У последнего элемента директории - FF FF;
4 байта - размер файла в байтах (У директории данное поле - "FF FF FF FF");
Все элементы (файлы или директории), находящиеся в в каталогах - сортируются и располагаются в "Файловой таблице" по возрастанию по полю "Имени"!
С адреса 37400h вторая копия таблицы.
С адреса 05210h идет название корневого каталога (HD0) или возможно это "Имя раздела"Адрес 0521Dh - 1 байт - значение "01 - порядковый номер или вероятнее всего - количество разделов в файловой системе.
"Файловая таблица" содержит 2800h записей (в FAT32 именуется "Файловой записью")размером 14h байт.
8 байт - имя файла или каталога(если имя короче 8 символов - концовка заполнена нулевыми байтами);
3 байта - расширение (у каталогов - заполнено нулями(хотя возможно это не всегда так));
1 байт - флаг (вероятно пустой директории) - нормальное значение "00", у пустых каталогов - "FF";
2 байта - смещение (в случае файла смещение на его начало, а в случае с директорией - на первый элемент директории) в секторах от начала Данных. У пустых директорий данное поле - "FF FF";
2 байта - номер элемента (файла или директории). У последнего элемента директории - FF FF;
4 байта - размер файла в байтах (У директории данное поле - "FF FF FF FF");
Все элементы (файлы или директории), находящиеся в в каталогах - сортируются и располагаются в "Файловой таблице" по возрастанию по полю "Имени"!
С адреса 37400h вторая копия таблицы.
Японская картография в магнитолах на HDD
С адреса 6E600h начинаются собственно данные.
Пример расчета расположения файла:
Смещение задано в секторах. Размер сектора в байтах 10000h байт.
Чтоб попасть на начало файла нужно прибавить 6E600h.
Смещение 0001 --- 10000h+6e600h = 7e600h.
Что получилось на выходе:
Пример расчета расположения файла:
Смещение задано в секторах. Размер сектора в байтах 10000h байт.
Чтоб попасть на начало файла нужно прибавить 6E600h.
Смещение 0001 --- 10000h+6e600h = 7e600h.
Что получилось на выходе:
- bellic
- Сообщения: 1490
- Зарегистрирован: 11 мар 2017, 07:47
- Откуда: Rostov-on-Don
- Контактная информация:
Японская картография в магнитолах на HDD
edwardy, молодец, классно все расписал!!!
Теперь бы кто программу написал для выгрузки и обратной загрузки (чтения-записи) файлов в этой файловой системе!?
Сам может займусь, но только после победы на поле Локализации!..)))
Теперь бы кто программу написал для выгрузки и обратной загрузки (чтения-записи) файлов в этой файловой системе!?
Сам может займусь, но только после победы на поле Локализации!..)))
- vitecd
- Сообщения: 175
- Зарегистрирован: 12 июл 2017, 06:29
- Откуда: Auckland, NZ
- Контактная информация:
Японская картография в магнитолах на HDD
занятно.... сколько я видел магнитол с "лишним", разделом, он был пустой и маленький. Надо поискать такую бошку
Японская картография в магнитолах на HDD
edwardy, подскажи пожалуйста, как у тебя получилось создать структуру этого "не размеченного" раздела, если это делалось вручную,
то как определить конец и начало файла?
И наверное слишком банальный вопрос(уж простите дилетанта), что если просто подменить ALLDATA, на европейский ALLDATA1, понимаю что вряд ли все так просто, но мало ли кто то пробовал, уж больно начало у них похоже?
то как определить конец и начало файла?
И наверное слишком банальный вопрос(уж простите дилетанта), что если просто подменить ALLDATA, на европейский ALLDATA1, понимаю что вряд ли все так просто, но мало ли кто то пробовал, уж больно начало у них похоже?
Японская картография в магнитолах на HDD
Я ничего не создавал. У RAW раздела своя собственная файловая система. Начало и размер определены в файловой таблице. Как, в третьем сообщении, вроде, весьма подробно написано.
Все карты формата KIWI01-22-00 похожи, однако внутренняя структура, типы объектов, парселей, то на что обращает внимание загрузчик, могут довольно сильно отличаться. Поэтому просто заменить не получится.
Японская картография в магнитолах на HDD
подробно, но не для меня. Я извиняюсь но не будет ли вам так сложно пояснить куда и с помощью каких инструментов засунуть данные "файловой таблицы" что бы получить "удобоваримый вид" как в 4-м сообщении?
Спасибо!
- bellic
- Сообщения: 1490
- Зарегистрирован: 11 мар 2017, 07:47
- Откуда: Rostov-on-Don
- Контактная информация:
Японская картография в магнитолах на HDD
Я пожалуй попробую ответить нашему новому пытливому форумчанину на его вопрос...
...
На основании вышеизложенного Edwardy формата "файловой системы", находящейся в RAW-разделе, берем и ручками "выдираем" каталоги и файлы, используя все тот же "WinHex" или другой редактор...
...
Edwardy, я правильно ответил?
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 58 гостей