Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Загальний огляд розділів Apple

Поиск

Розділи Apple описуються спеціальною структурою даних – картою розділів (partition map), що знаходиться на початку диска. Обробка цієї структури реалізована на рівні "прошивок" (вбудованого коду), тому карта не містить завантажувальний, як в схемі розділів DOS. Кожен запис карти розділів визначає початковий сектор розділу, розмір, тип і ім'я тому. Структура даних також містить інформацію про дані, що зберігаються в розділі, – зокрема, місцерозташування області даних і завантажувального коду.

Перший запис зазвичай визначає максимальний розмір карти розділів. На комп'ютерах Apple створюються розділи для зберігання драйверів обладнання, тому головний диск системи Apple містить безліч розділів з драйверами і іншим вмістом, що не має прямого відношення до файлової системи. На рис. 4.1 показаний приклад структури диска Apple з трьома розділами файлової системи і одним розділом, в якому зберігається карта розділів.

Як буде показано далі, в системах BSD використовується інша структура розділів, названа розміткою диска. Незважаючи на те, що Mac OS X базується на ядрі BSD, в цій системі використовується карта розділів Apple, а не розмітки диска.

 

Структури даних

Від знайомства з базовими концепціями розділів Apple можна переходити до розгляду структур даних.

Запис карти розділів.

Карта розділів Apple містить декілька 512-байтових структур даних, кожна з яких представляє один розділ. Карта розділів починається з другого сектора диска і триває до тих пір, поки не будуть описані усі розділи. Структури цих розділів зберігаються в суміжних секторах, і в кожному записі є присутньою загальна кількість розділів. Структура запису карти розділів показана в таблиці 4.1.

 

Таблиця 4.1 – Структура цих записів розділів Apple

Діапазон байт Опис Необхідність
0-1 Сигнатура (0x504D) Ні
2-3 Зарезервовано Ні
4-7 Загальна кількість розділів Так
8-11 Початковий сектор розділу Так
12-15 Розмір розділу в секторах Так
16-47 Ім'я розділу в кодуванні ASCII Ні
48-79 Тип розділу в кодуванні ASCII Ні
80-83 Початковий сектор області даних в розділі Ні
84-87 Розмір області даних в секторах Ні
88-91 Стан розділу (див. таблицю 1.8) Ні
92-95 Початковий сектор завантажувального коду Ні
96-99 Розмір завантажувального коду в секторах Ні
100-103 Адреса коду завантажувача Ні
104-107 Зарезервовано Ні
108-111 Точка входу в завантажувальний код Ні
112-115 Зарезервовано Ні
116-119 Контрольна сума завантажувального коду Ні
120-135 Тип процесора Ні
136-511 Зарезервовано Ні

 

Тип розділу задається в кодуванні ASCII, а не цілочисельним кодом, як в інших схемах. Коди стану кожного розділу застосовні як до A/UX (стара операційна система Apple), так і до сучасних систем Macintosh. Поле стану містить одне зі значень, перерахованих в таблиці 4.2.

 

Таблиця 4.2 – Коди стану розділів Apple

Тип Опис
0x00000001 Запис дійсний (тільки A/UX)
0x00000002 Запис виділений (тільки A/UX)
0x00000004 Запис використовується (тільки A/UX)
0x00000008 Запис містить завантажувальну інформацію (тільки A/UX)
0x00000010 Запис доступний для читання (тільки A/UX)
0x00000020 Запис доступний для зміни (Macintosh і A/UX)
0x00000040 Завантажувальний код є незалежним (тільки A/UX)
0x00000100 Розділ містить ланцюгово-сумісний драйвер (тільки Macintosh)
0x00000200 Розділ містить справжній драйвер (тільки Macintosh)
0x00000400 Розділ містить ланцюговий драйвер (тільки Macintosh)
0x40000000 Автоматичне монтування при запуску (тільки Macintosh)
0x80000000 Стартовий розділ (тільки Macintosh)

 

Поля області даних використовуються для файлових систем з областю даних, початок якої не співпадає з початком диска. Поля завантажувального коду призначені для пошуку завантажувального коду при запуску системи.

Щоб ідентифікувати розділи на диску Apple, програма (чи людина) читає структуру даних з другого сектора. Обробка структури дає загальну кількість розділів, після чого витягається інша інформація про розділи. Звичайно перший запис відноситься до самої карти розділів. Потім читається наступний сектор, і процес триває до тих пір, поки не будуть прочитані усі розділи. От як виглядає вміст першого запису карти розділів:

# dd if=mac - disk.dd bs=512 skiр=1 | xxd

00000000000000: 504d 0000 0000 000a 0000 0001 0000 003f PM?

000000000016: 4170 706c 6500 0000. 0000 0000 0000 0000 Apple

0000032: 0000 0000 0000 0000......... 0000 0000 0000 0000

000000000048: 4170 706c 655f 7061 7274 6974 696f 6e5f Apple_partition_

000000000064: 6d61 7000 0000 0000. 0000 0000 0000 0000 map

000000000080: 0000 0000 0000 003f 0000 0000 0000 0000?

0000096: 0000 0000 0000 0000 0000 0000 0000 0000

[..]

На комп'ютерах Apple використовуються процесори Motorola PowerPC, тому дані на них зберігаються із зворотним порядком байтів. В результаті відпадає необхідність в перестановці байт, як в розділах DOS. У байтах 0-1 видно сигнатура 0x504d, а в байтах 4-7 - кількість розділів, рівна 10 (0x0000000а). Байти 8-11 показують, що перший сектор диска є початковим сектором розділу, а розмір розділу складає 63 сектори (0x3f). Розділу присвоєно ім'я "Apple", а тип розділу позначається рядком "Apple_partition_map". З байт 88-91 видно, що прапори для розділу не встановлені. В інших записів, які відносяться до конкретних розділів, задані коди стану.

Фактори аналізу

Єдина унікальна особливість розділів Apple полягає в тому, що структура даних містить декілька невживаних полів, які можуть використовуватися для приховування невеликих об'ємів даних. Також дані можуть ховатися в секторах між структурою даних останнього розділу і кодом простору, виділеного для карти розділів. Як і в будь-якій іншій схемі, ім'я розділу і його тип ще нічого не гарантують - такий розділ може містити все, що завгодно.

Лекція 5 Змінні носії

Більшість змінних носіїв також містять розділи, але на них використовуються ті ж структури даних, що і на жорстких дисках. Виняток з правила становлять дискети, які відформатовані для системи FAT 12 в Windows і UNIX. Вони не мають таблиці розділів, а весь жорсткий диск розглядається як один розділ. Образ дискети можна безпосередньо проаналізувати як файлову систему. Деякі портативні флеш-диски USB не мають розділв і містять одну файлову систему, але інші мають розділи.

Змінні носії більшої місткості (скажімо, zip -диски Iomega) містять таблиці розділів. Структура таблиці розділів на zip-диску залежить від того, чи був диск відформатований для Мас або для PC. Відформатований диск для PC, містить таблицю розділів DOS, і по замовчуванню четвертий запис представляє тільки один розділ.

Карти пам'яті, часто використовувані в цифрових камерах, також зазвичай містять таблицю розділів. Більшість флеш-карт містять файлову систему FAT, а для їх аналізу можна скористатися звичайними програмами. Представимо вигляд таблиці розділів на базі DOS для 128-мегабайтной карти пам'яті:

# # mmls - t dos camera.dd

DOS Partition Table

Units are in 512 - byte sectors

Slot Start End Length Description

0000: 0000000000 0000000000 0000000001 Primary Table (#0)

001: 0000000001 0000000031 0000000031 Unallocated

002: 00:00 0000000032 0000251647 0000251616 DOS FAT16 (0x06)

Щоб створити образ карти пам'яті, досить вставити її в пристрій читання карт з інтерфейсом USB або FireWire і виконати в Linux команду dd.

З дисками CD - ROM справа йде складніше через велику кількість варіантів. Більшість компакт-дисків використовують формат ISO 9660, який підтримується багатьма операційними системами. Формат ISO 9660 встановлює жорсткі обмеження для імен файлів, тому були розроблені розширення цього формату (такі, як Joliet і Rock Ridge), що мають більшу гнучкість. Опис компакт-дисків ускладнюється тим, що один диск може містити дані в базовому форматі ISO 9660 і у форматі Joliet. А якщо компакт-диск є гібридним диском Apple, він також може містити дані у форматі Apple HFS+. Фактичний вміст файлів зберігається в одному екземплярі, але посилання на ці дані є присутніми в декількох різних місцях.

В записуваних компакт-дисків (CD - R) існує поняття сеансу. Диск CD - R може містити один або декілька сеансів, а сама концепція сеансу була розроблена для того, щоб дані до CD - R можна було додавати більше одного разу. При кожному записі даних на CD - R створюється новий сеанс. Залежно від операційної системи, в якій використовується диск, кожен сеанс може відображатися у вигляді розділу. Наприклад, я скористався застосуванням Apple OS X і створив компакт-диск з трьома сеансами. У системі OS X всі три сеанси монтувались як файлові системи. При використанні диска в системі Linux останній сеанс монтувався по замовчуванню, але два інші сеанси також можна було змонтувати, вказавши їх в команді mount. Для визначення кількості сеансів на диску можна скористатися утилітою readcd. Коли той же диск був відкритий в системі Microsoft Windows ХР, система заявила, що він містить неприпустиму інформацію, хоча програма SmartProject ISO Buster побачила усі три сеанси. Навіть якщо багатосеансовий диск створювався в Windows, можливі різні варіанти поведінки. Таким чином, при аналізі CD - R дуже важливо використовувати програму, що дозволяє проглянути вміст усіх сеансів, а не покладатися на стандартну поведінку тієї платформи, на якій здійснюється аналіз.

Деякі компакт-диски також містять розділи, специфічні для "рідної" операційної системи. Наприклад, гібридні CD поєднують формат ISO з форматом Apple - всередині сеансу використовується карта розділів Apple і файлова система HFS+. До таких дисків застосовані стандартні методи аналізу для платформи Apple. Наприклад, так виглядає результат запуску mmls для гібридного диска:

# # mmls - t mac cd - slice.dmg

MAC Partition Map

Units are in 512 - byte sectors

Slot Start End Length Description

0000: 0000000000 0000000000 0000000001 Unallocated

001: 00 0000000001 0000000002 0000000002 Apple_partition_map

002: -- 0000000001 0000000002 0000000002 Table

003: 0000000003 0000000103 0000000101 Unallocated

004: 01 0000000104 0000762559 0000762456 Apple_HFS

Більшість завантажувальних компакт-дисків теж містять систему розділів певної операційної системи. Завантажувальні диски Sparc Solaris містять структуру Volume Table of Contents в томі ISO, а на початку завантажувальних компакт-дисків Intel може знаходитися таблиця розділів DOS. Ці структури використовуються після завантаження операційної системи з компакт-диска, а код, необхідний для завантаження системи, зберігається у форматі ISO.



Поделиться:


Последнее изменение этой страницы: 2016-09-19; просмотров: 297; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.137.170.76 (0.01 с.)