|
|
1.1 root 1: /* 1.1.1.6 ! root 2: Copyright (c) 2008-2009 TrueCrypt Foundation. All rights reserved. 1.1 root 3: 1.1.1.5 root 4: Governed by the TrueCrypt License 2.6 the full text of which is contained 1.1 root 5: in the file License.txt included in TrueCrypt binary and source code 6: distribution packages. 7: */ 8: 1.1.1.3 root 9: #ifndef TC_HEADER_Boot_BootDefs 10: #define TC_HEADER_Boot_BootDefs 11: 1.1.1.2 root 12: // Total memory required (CODE + DATA + BSS + STACK + 0x100) in KBytes - determined from linker map. 13: #define TC__BOOT_MEMORY_REQUIRED 42 1.1 root 14: 1.1.1.3 root 15: #ifdef TC_WINDOWS_BOOT_SINGLE_CIPHER_MODE 16: # undef TC__BOOT_MEMORY_REQUIRED 17: 18: # ifdef TC_WINDOWS_BOOT_AES 1.1.1.4 root 19: # ifdef TC_WINDOWS_BOOT_RESCUE_DISK_MODE 1.1.1.5 root 20: # define TC__BOOT_MEMORY_REQUIRED 29 1.1.1.4 root 21: # else 22: # define TC__BOOT_MEMORY_REQUIRED 27 23: # endif 1.1.1.3 root 24: # elif defined (TC_WINDOWS_BOOT_SERPENT) 25: # define TC__BOOT_MEMORY_REQUIRED 32 26: # elif defined (TC_WINDOWS_BOOT_TWOFISH) 27: # define TC__BOOT_MEMORY_REQUIRED 40 28: # endif 29: 1.1.1.5 root 30: #if 0 31: # undef TC__BOOT_MEMORY_REQUIRED 32: # define TC__BOOT_MEMORY_REQUIRED 60 33: #endif 34: 1.1.1.3 root 35: #endif 36: 1.1 root 37: // Modifying this value can introduce incompatibility with previous versions 1.1.1.6 ! root 38: #define TC__BOOT_LOADER_SEGMENT TC_HEX (9000) // Memory reserved in the segment 8000 is always destroyed by Vista with no SP ! 39: ! 40: #if TC__BOOT_MEMORY_REQUIRED <= 32 ! 41: # define TC__BOOT_LOADER_SEGMENT_LOW (TC__BOOT_LOADER_SEGMENT - 32 * 1024 / 16) ! 42: #else ! 43: # define TC__BOOT_LOADER_SEGMENT_LOW (TC__BOOT_LOADER_SEGMENT - 64 * 1024 / 16) ! 44: #endif ! 45: ! 46: #define TC__COM_EXECUTABLE_OFFSET TC_HEX (100) 1.1 root 47: 1.1.1.6 ! root 48: #define TC__BOOT_LOADER_LOWMEM_SEGMENT TC_HEX (2000) ! 49: #define TC__BOOT_LOADER_BUFFER_SEGMENT TC_HEX (4000) ! 50: #define TC__BOOT_LOADER_ALT_SEGMENT TC_HEX (6000) 1.1 root 51: 1.1.1.3 root 52: #define TC__BOOT_LOADER_STACK_TOP (TC_BOOT_MEMORY_REQUIRED * TC_UNSIGNED (1024) - 4) 53: 54: #define TC__LB_SIZE 512 1.1 root 55: #define TC__BOOT_LOADER_AREA_SECTOR_COUNT 63 56: 1.1.1.5 root 57: #define TC__BOOT_SECTOR_VERSION_OFFSET 430 1.1.1.3 root 58: #define TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET 432 59: #define TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET 434 1.1.1.5 root 60: #define TC__BOOT_SECTOR_USER_CONFIG_OFFSET 438 1.1.1.4 root 61: #define TC__BOOT_SECTOR_CONFIG_OFFSET 439 // The last byte that is reserved for the boot loader 1.1 root 62: 1.1.1.5 root 63: #define TC__BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH 24 64: #define TC__BOOT_SECTOR_USER_MESSAGE_OFFSET (TC__BOOT_SECTOR_VERSION_OFFSET - TC__BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH) 65: 1.1.1.6 ! root 66: #define TC__BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_SIZE 4 1.1.1.5 root 67: #define TC__BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_OFFSET (TC__BOOT_SECTOR_USER_MESSAGE_OFFSET - TC__BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_SIZE) 68: 1.1.1.3 root 69: #define TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR 2 70: #define TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT 4 71: #define TC__BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE 32768 72: #define TC__BOOT_LOADER_COMPRESSED_BUFFER_OFFSET (TC_COM_EXECUTABLE_OFFSET + 3072) 73: 74: #define TC__BOOT_LOADER_START_SECTOR (TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR + TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT) 75: #define TC__MAX_BOOT_LOADER_SECTOR_COUNT (TC_BOOT_LOADER_AREA_SECTOR_COUNT - TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT - 2) 76: #define TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE ((TC_BOOT_LOADER_AREA_SECTOR_COUNT - 2) * TC_LB_SIZE) 77: 78: #define TC__BOOT_LOADER_BACKUP_SECTOR_COUNT 30 79: 80: #define TC__GZIP_HEADER_SIZE 10 81: 1.1.1.4 root 82: #define TC__BOOT_CFG_FLAG_AREA_SIZE 1 // In bytes 83: 84: // If you add more flags, revise TC__BOOT_CFG_FLAG_AREA_SIZE 1.1.1.3 root 85: #define TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE TC_HEX (02) 86: #define TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER TC_HEX (04) 87: #define TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER TC_HEX (20) 88: 1.1.1.4 root 89: #define TC__BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE (TC_HEX (40) + TC_HEX (80)) 90: 1.1.1.5 root 91: // Modifying the following values can introduce incompatibility with previous versions 92: #define TC__BOOT_USER_CFG_FLAG_SILENT_MODE TC_HEX (01) 93: #define TC__BOOT_USER_CFG_FLAG_DISABLE_ESC TC_HEX (02) 94: 1.1.1.4 root 95: // The following items are treated as a 2-bit value (apply TC_BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE to obtain the value) 96: #define TC__HIDDEN_OS_CREATION_PHASE_NONE 0 97: #define TC__HIDDEN_OS_CREATION_PHASE_CLONING TC_HEX (40) // The boot loader is to copy the content of the system partition to the hidden volume 1.1.1.5 root 98: #define TC__HIDDEN_OS_CREATION_PHASE_WIPING TC_HEX (80) // The boot loader has successfully copied the content of the system partition to the hidden volume. The original OS is to be wiped now. 99: #define TC__HIDDEN_OS_CREATION_PHASE_WIPED (TC_HEX (40) + TC_HEX (80)) // The original OS has been wiped. The user is required to install a new OS (decoy OS) on the system partition now. 1.1.1.4 root 100: 1.1.1.3 root 101: 1.1 root 102: #ifdef TC_ASM_PREPROCESS 103: 104: #define TC_HEX(N) 0##N##h 1.1.1.3 root 105: #define TC_UNSIGNED(N) N 1.1 root 106: 107: TC_BOOT_MEMORY_REQUIRED = TC__BOOT_MEMORY_REQUIRED 108: TC_BOOT_LOADER_SEGMENT = TC__BOOT_LOADER_SEGMENT 1.1.1.6 ! root 109: TC_BOOT_LOADER_SEGMENT_LOW = TC__BOOT_LOADER_SEGMENT_LOW 1.1.1.3 root 110: TC_COM_EXECUTABLE_OFFSET = TC__COM_EXECUTABLE_OFFSET 1.1 root 111: TC_BOOT_LOADER_LOWMEM_SEGMENT = TC__BOOT_LOADER_LOWMEM_SEGMENT 1.1.1.3 root 112: TC_BOOT_LOADER_BUFFER_SEGMENT = TC__BOOT_LOADER_BUFFER_SEGMENT 1.1.1.5 root 113: TC_BOOT_LOADER_ALT_SEGMENT = TC__BOOT_LOADER_ALT_SEGMENT 1.1.1.3 root 114: TC_BOOT_LOADER_STACK_TOP = TC__BOOT_LOADER_STACK_TOP 115: TC_LB_SIZE = TC__LB_SIZE 1.1 root 116: TC_BOOT_LOADER_AREA_SECTOR_COUNT = TC__BOOT_LOADER_AREA_SECTOR_COUNT 1.1.1.3 root 117: TC_BOOT_SECTOR_LOADER_LENGTH_OFFSET = TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET 118: TC_BOOT_SECTOR_LOADER_CHECKSUM_OFFSET = TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET 1.1 root 119: TC_BOOT_SECTOR_CONFIG_OFFSET = TC__BOOT_SECTOR_CONFIG_OFFSET 1.1.1.5 root 120: TC_BOOT_SECTOR_USER_CONFIG_OFFSET = TC__BOOT_SECTOR_USER_CONFIG_OFFSET 1.1.1.3 root 121: TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR = TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR 122: TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT = TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT 123: TC_BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE = TC__BOOT_LOADER_DECOMPRESSOR_MEMORY_SIZE 124: TC_BOOT_LOADER_COMPRESSED_BUFFER_OFFSET = TC__BOOT_LOADER_COMPRESSED_BUFFER_OFFSET 125: TC_BOOT_LOADER_START_SECTOR = TC__BOOT_LOADER_START_SECTOR 126: TC_MAX_BOOT_LOADER_SECTOR_COUNT = TC__MAX_BOOT_LOADER_SECTOR_COUNT 127: TC_MAX_BOOT_LOADER_DECOMPRESSED_SIZE = TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE 128: TC_BOOT_LOADER_BACKUP_SECTOR_COUNT = TC__BOOT_LOADER_BACKUP_SECTOR_COUNT 129: TC_GZIP_HEADER_SIZE = TC__GZIP_HEADER_SIZE 1.1.1.4 root 130: TC_BOOT_CFG_FLAG_AREA_SIZE = TC__BOOT_CFG_FLAG_AREA_SIZE 1.1.1.3 root 131: TC_BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE = TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE 132: TC_BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER = TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER 133: TC_BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER = TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER 1.1.1.4 root 134: TC_BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE = TC__BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE 1.1.1.5 root 135: TC_BOOT_USER_CFG_FLAG_SILENT_MODE = TC__BOOT_USER_CFG_FLAG_SILENT_MODE 1.1.1.4 root 136: TC_HIDDEN_OS_CREATION_PHASE_NONE = TC__HIDDEN_OS_CREATION_PHASE_NONE 137: TC_HIDDEN_OS_CREATION_PHASE_CLONING = TC__HIDDEN_OS_CREATION_PHASE_CLONING 1.1.1.5 root 138: TC_HIDDEN_OS_CREATION_PHASE_WIPING = TC__HIDDEN_OS_CREATION_PHASE_WIPING 139: TC_HIDDEN_OS_CREATION_PHASE_WIPED = TC__HIDDEN_OS_CREATION_PHASE_WIPED 1.1 root 140: 1.1.1.4 root 141: #else // TC_ASM_PREPROCESS 1.1 root 142: 143: #define TC_HEX(N) 0x##N 1.1.1.3 root 144: #define TC_UNSIGNED(N) N##U 1.1 root 145: 146: #define TC_BOOT_MEMORY_REQUIRED TC__BOOT_MEMORY_REQUIRED 147: #define TC_BOOT_LOADER_SEGMENT TC__BOOT_LOADER_SEGMENT 1.1.1.3 root 148: #define TC_COM_EXECUTABLE_OFFSET TC__COM_EXECUTABLE_OFFSET 1.1 root 149: #define TC_BOOT_LOADER_LOWMEM_SEGMENT TC__BOOT_LOADER_LOWMEM_SEGMENT 150: #define TC_BOOT_LOADER_BUFFER_SEGMENT TC__BOOT_LOADER_BUFFER_SEGMENT 1.1.1.5 root 151: #define TC_BOOT_LOADER_ALT_SEGMENT TC__BOOT_LOADER_ALT_SEGMENT 1.1.1.3 root 152: #define TC_BOOT_LOADER_STACK_TOP (TC__BOOT_LOADER_STACK_TOP) 1.1 root 153: #define TC_BOOT_LOADER_AREA_SECTOR_COUNT TC__BOOT_LOADER_AREA_SECTOR_COUNT 1.1.1.5 root 154: #define TC_BOOT_SECTOR_USER_MESSAGE_OFFSET TC__BOOT_SECTOR_USER_MESSAGE_OFFSET 155: #define TC_BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_SIZE TC__BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_SIZE 156: #define TC_BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_OFFSET TC__BOOT_SECTOR_OUTER_VOLUME_BAK_HEADER_CRC_OFFSET 157: #define TC_BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH TC__BOOT_SECTOR_USER_MESSAGE_MAX_LENGTH 158: #define TC_BOOT_SECTOR_VERSION_OFFSET TC__BOOT_SECTOR_VERSION_OFFSET 1.1.1.3 root 159: #define TC_BOOT_SECTOR_LOADER_LENGTH_OFFSET TC__BOOT_SECTOR_LOADER_LENGTH_OFFSET 160: #define TC_BOOT_SECTOR_LOADER_CHECKSUM_OFFSET TC__BOOT_SECTOR_LOADER_CHECKSUM_OFFSET 161: #define TC_BOOT_LOADER_DECOMPRESSOR_START_SECTOR TC__BOOT_LOADER_DECOMPRESSOR_START_SECTOR 162: #define TC_BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT TC__BOOT_LOADER_DECOMPRESSOR_SECTOR_COUNT 1.1 root 163: #define TC_BOOT_SECTOR_CONFIG_OFFSET TC__BOOT_SECTOR_CONFIG_OFFSET 1.1.1.5 root 164: #define TC_BOOT_SECTOR_USER_CONFIG_OFFSET TC__BOOT_SECTOR_USER_CONFIG_OFFSET 1.1.1.3 root 165: #define TC_BOOT_LOADER_START_SECTOR TC__BOOT_LOADER_START_SECTOR 166: #define TC_LB_SIZE TC__LB_SIZE 167: #define TC_MAX_BOOT_LOADER_SECTOR_COUNT TC__MAX_BOOT_LOADER_SECTOR_COUNT 168: #define TC_MAX_BOOT_LOADER_DECOMPRESSED_SIZE TC__MAX_BOOT_LOADER_DECOMPRESSED_SIZE 169: #define TC_BOOT_LOADER_BACKUP_SECTOR_COUNT TC__BOOT_LOADER_BACKUP_SECTOR_COUNT 170: #define TC_GZIP_HEADER_SIZE TC__GZIP_HEADER_SIZE 1.1.1.4 root 171: #define TC_BOOT_CFG_FLAG_AREA_SIZE TC__BOOT_CFG_FLAG_AREA_SIZE 1.1.1.3 root 172: #define TC_BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE TC__BOOT_CFG_FLAG_BACKUP_LOADER_AVAILABLE 173: #define TC_BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER TC__BOOT_CFG_FLAG_WINDOWS_VISTA_OR_LATER 174: #define TC_BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER TC__BOOT_CFG_FLAG_RESCUE_DISK_ORIG_SYS_LOADER 1.1.1.4 root 175: #define TC_BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE TC__BOOT_CFG_MASK_HIDDEN_OS_CREATION_PHASE 1.1.1.5 root 176: #define TC_BOOT_USER_CFG_FLAG_SILENT_MODE TC__BOOT_USER_CFG_FLAG_SILENT_MODE 177: #define TC_BOOT_USER_CFG_FLAG_DISABLE_ESC TC__BOOT_USER_CFG_FLAG_DISABLE_ESC 1.1.1.4 root 178: #define TC_HIDDEN_OS_CREATION_PHASE_NONE TC__HIDDEN_OS_CREATION_PHASE_NONE 179: #define TC_HIDDEN_OS_CREATION_PHASE_CLONING TC__HIDDEN_OS_CREATION_PHASE_CLONING 1.1.1.5 root 180: #define TC_HIDDEN_OS_CREATION_PHASE_WIPING TC__HIDDEN_OS_CREATION_PHASE_WIPING 181: #define TC_HIDDEN_OS_CREATION_PHASE_WIPED TC__HIDDEN_OS_CREATION_PHASE_WIPED 1.1 root 182: 1.1.1.4 root 183: #endif // TC_ASM_PREPROCESS 1.1.1.3 root 184: 185: #endif // TC_HEADER_Boot_BootDefs
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.