📄 dos.c
字号:
snprintf(str, DESC_LEN, "AT&T MS-DOS 3.x Logically Sectored FAT. (0x56)"); break; case 0x5c: snprintf(str, DESC_LEN, "Priam EDisk (0x5c)"); break; case 0x70: snprintf(str, DESC_LEN, "DiskSecure Multi-Boot (0x70)"); break; case 0x74: snprintf(str, DESC_LEN, "Scramdisk (0x74)"); break; case 0x75: snprintf(str, DESC_LEN, "IBM PC/IX (0x75)"); break; /*case 0x77: snprintf(str, DESC_LEN, "M2FS/M2CS (0x77)"); break; */ case 0x77: snprintf(str, DESC_LEN, "VNDI (0x77)"); break; case 0x78: snprintf(str, DESC_LEN, "XOSL FS (0x78)"); break; case 0x80: snprintf(str, DESC_LEN, "MINIX <=v1.4a (0x80)"); break; case 0x81: snprintf(str, DESC_LEN, "MINIX >=v1.4b, Early Linux (0x81)"); break; /*case 0x81: snprintf(str, DESC_LEN, "Mitac Disk Manager (0x81)"); break; */ case 0x87: snprintf(str, DESC_LEN, "NTFS Volume Set (0x87)"); break; case 0x8a: snprintf(str, DESC_LEN, "Linux Kernel (0x8a)"); break; case 0x8b: snprintf(str, DESC_LEN, "Legacy Fault Tolerant FAT32 (0x8b)"); break; case 0x8c: snprintf(str, DESC_LEN, "Legacy Fault Tolerant FAT32 using BIOS extd INT 13h (0x8c)"); break; case 0x8d: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS FAT12 (0x8d)"); break; case 0x90: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS FAT16 (0x90)"); break; case 0x91: snprintf(str, DESC_LEN, "Free FDISK Hidden DOS Extended (0x91)"); break; case 0x92: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS Large FAT16 (0x92)"); break; case 0x94: snprintf(str, DESC_LEN, "Amoeba Bad Block Table (0x94)"); break; case 0x95: snprintf(str, DESC_LEN, "MIT EXOPC (0x95)"); break; case 0x97: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS FAT32 (0x97)"); break; case 0x98: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS FAT32 LBA (0x98)"); break; /*case 0x98: snprintf(str, DESC_LEN, "Datalight ROM-DOS Super-Boot (0x98)"); break; */ case 0x99: snprintf(str, DESC_LEN, "DCE376 Logical Drive (0x99)"); break; case 0x9a: snprintf(str, DESC_LEN, "Free FDISK Hidden Primary DOS FAT16 LBA (0x9a)"); break; case 0x9b: snprintf(str, DESC_LEN, "Free FDISK Hidden DOS Extended LBA (0x9b)"); break; case 0xa3: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xa3)"); break; case 0xa4: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xa4)"); break; case 0xaa: snprintf(str, DESC_LEN, "Olivetti Fat 12 1.44MB Service (0xaa)"); break; case 0xae: snprintf(str, DESC_LEN, "ShagOS Filesystem (0xae)"); break; case 0xaf: snprintf(str, DESC_LEN, "ShagOS swap (0xaf)"); break; case 0xb0: snprintf(str, DESC_LEN, "BootStar Dummy (0xb0)"); break; case 0xb1: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xb1)"); break; case 0xb3: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xb3)"); break; case 0xb4: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xb4)"); break; /*case 0xb6: snprintf(str, DESC_LEN, "HP Volume Expansion (SpeedStor Variant) (0xb6)"); break; */ case 0xb6: snprintf(str, DESC_LEN, "Corrupted Windows NT Mirror Set Master FAT16 (0xb6)"); break; case 0xbb: snprintf(str, DESC_LEN, "Boot Wizard Hidden (0xbb)"); break; /*case 0xc0: snprintf(str, DESC_LEN, "CTOS (0xc0)"); break; */ /*case 0xc0: snprintf(str, DESC_LEN, "REAL/32 Secure Small (0xc0)"); break; */ /*case 0xc0: snprintf(str, DESC_LEN, "NTFT (0xc0)"); break; */ case 0xc0: snprintf(str, DESC_LEN, "DR-DOS Secured (0xc0)"); break; case 0xc1: snprintf(str, DESC_LEN, "DR-DOS Secured FAT12 (0xc1)"); break; case 0xc4: snprintf(str, DESC_LEN, "DR-DOS Secured FAT16 <32M (0xc4)"); break; case 0xc5: snprintf(str, DESC_LEN, "DR-DOS Secured Extended (0xc5)"); break; case 0xc8: snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xc8)"); break; case 0xc9: snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xc9)"); break; case 0xca: snprintf(str, DESC_LEN, "Reserved for DR-DOS 8.0+ (0xca)"); break; case 0xcb: snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured FAT32 CHS (0xcb)"); break; case 0xcc: snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured FAT32 LBA (0xcc)"); break; case 0xcd: snprintf(str, DESC_LEN, "CTOS Memdump? (0xcd)"); break; case 0xce: snprintf(str, DESC_LEN, "DR-DOS 7.04+ FAT16X LBA (0xce)"); break; case 0xcf: snprintf(str, DESC_LEN, "DR-DOS 7.04+ Secured EXT DOS LBA (0xcf)"); break; /*case 0xd0: snprintf(str, DESC_LEN, "REAL/32 Secure Big (0xd0)"); break; */ case 0xd0: snprintf(str, DESC_LEN, "Multiuser DOS Secured (0xd0)"); break; case 0xd1: snprintf(str, DESC_LEN, "Old Multiuser DOS Secured FAT12 (0xd1)"); break; case 0xd4: snprintf(str, DESC_LEN, "Old Multiuser DOS Secured FAT16 <32M (0xd4)"); break; case 0xd5: snprintf(str, DESC_LEN, "Old Multiuser DOS Secured extended (0xd5)"); break; case 0xd6: snprintf(str, DESC_LEN, "Old Multiuser DOS Secured FAT16 >=32M (0xd6)"); break; case 0xd8: snprintf(str, DESC_LEN, "CP/M-86 (0xd8)"); break; case 0xda: snprintf(str, DESC_LEN, "Non-FS Data (0xda)"); break; case 0xdb: snprintf(str, DESC_LEN, "Digital Research CP/M, Concurrent CP/M, Concurrent DOS (0xdb)"); break; /*case 0xdb: snprintf(str, DESC_LEN, "Unisys CTOS (0xdb)"); break; */ /*case 0xdb: snprintf(str, DESC_LEN, "KDG Telemetry SCPU boot (0xdb)"); break; */ case 0xdd: snprintf(str, DESC_LEN, "Hidden CTOS Memdump? (0xdd)"); break; case 0xde: snprintf(str, DESC_LEN, "Dell Utilities FAT (0xde)"); break; /*case 0xdf: snprintf(str, DESC_LEN, "DG/UX Virtual Disk Manager (0xdf)"); break; */ /*case 0xdf: snprintf(str, DESC_LEN, "BootIt EMBRM (0xdf)"); break; */ case 0xe0: snprintf(str, DESC_LEN, "Reserved by STMicroelectronics for ST AVFS. (0xe0)"); break; case 0xe1: snprintf(str, DESC_LEN, "DOS Access or SpeedStor 12-bit FAT Extended (0xe1)"); break; case 0xe3: snprintf(str, DESC_LEN, "DOS R/O or SpeedStor (0xe3)"); break; case 0xe4: snprintf(str, DESC_LEN, "SpeedStor 16-bit FAT Extended <1024 cyl. (0xe4)"); break; case 0xe5: snprintf(str, DESC_LEN, "Tandy MS-DOS with Logically Sectored FAT (0xe5)"); break; case 0xe6: snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xe6)"); break; case 0xeb: snprintf(str, DESC_LEN, "BeOS BFS (0xeb)"); break; case 0xef: snprintf(str, DESC_LEN, "EFI File System (0xef)"); break; case 0xf0: snprintf(str, DESC_LEN, "Linux/PA-RISC Boot Loader (0xf0)"); break; case 0xf1: snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xf1)"); break; case 0xf2: snprintf(str, DESC_LEN, "DOS 3.3+ Secondary (0xf2)"); break; case 0xf4: snprintf(str, DESC_LEN, "SpeedStor Large (0xf4)"); break; /*case 0xf4: snprintf(str, DESC_LEN, "Prologue Single-Volume (0xf4)"); break; */ case 0xf5: snprintf(str, DESC_LEN, "Prologue Multi-Volume (0xf5)"); break; case 0xf6: snprintf(str, DESC_LEN, "Storage Dimensions SpeedStor (0xf6)"); break; case 0xf9: snprintf(str, DESC_LEN, "pCache (0xf9)"); break; case 0xfa: snprintf(str, DESC_LEN, "Bochs (0xfa)"); break; /*case 0xfe: snprintf(str, DESC_LEN, "SpeedStor >1024 cyl. (0xfe)"); break; */ /*case 0xfe: snprintf(str, DESC_LEN, "LANstep (0xfe)"); break; */ /*case 0xfe: snprintf(str, DESC_LEN, "IBM PS/2 IML (0xfe)"); break; */ case 0xfe: snprintf(str, DESC_LEN, "Windows NT Disk Administrator Hidden (0xfe)"); break; /*case 0xfe: snprintf(str, DESC_LEN, "Old Linux Logical Volume Manager (0xfe)"); break; */ case 0xff: snprintf(str, DESC_LEN, "Xenix Bad Block Table (0xff)"); break; default: snprintf(str, DESC_LEN, "Unknown Type (0x%.2X)", ptype); break; } return str;}/* * Load an extended partition table into the structure in TSK_VS_INFO. * * sect_cur: The sector where the extended table is located * sect_ext_base: The sector of the primary extended table (this does * not change for recursive calls) * table: a counter that identifies the table depth * (increases by 1 for each recursive call) * * For the primary extended table, sect_cur == sect_ext_base * * Return 1 on error and 0 on success * */static uint8_tdos_load_ext_table(TSK_VS_INFO * vs, TSK_DADDR_T sect_cur, TSK_DADDR_T sect_ext_base, int table){ dos_sect sect; int i; char *table_str; ssize_t cnt; TSK_DADDR_T max_addr = (vs->img_info->size - vs->offset) / vs->block_size; // max sector if (tsk_verbose) tsk_fprintf(stderr, "dos_load_ext: Table Sector: %" PRIuDADDR ", Primary Base Sector: %" PRIuDADDR "\n", sect_cur, sect_ext_base); /* Read the partition table sector */ cnt = tsk_vs_read_block(vs, sect_cur, (char *) §, sizeof(sect)); if (cnt != sizeof(sect)) { if (cnt >= 0) { tsk_error_reset(); tsk_errno = TSK_ERR_VS_READ; } snprintf(tsk_errstr2, TSK_ERRSTR_L, "Extended DOS table sector %" PRIuDADDR, sect_cur); return 1; }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -