VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Common/Volumes.h
blob: 08776711098d6381c614ca4918e1de6cc4c6da4b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
/*
 Legal Notice: Some portions of the source code contained in this file were
 derived from the source code of TrueCrypt 7.1a, which is 
 Copyright (c) 2003-2012 TrueCrypt Developers Association and which is 
 governed by the TrueCrypt License 3.0, also from the source code of
 Encryption for the Masses 2.02a, which is Copyright (c) 1998-2000 Paul Le Roux
 and which is governed by the 'License Agreement for Encryption for the Masses' 
 Modifications and additions to the original source code (contained in this file) 
 and all other portions of this file are Copyright (c) 2013-2017 IDRIX
 and are governed by the Apache License 2.0 the full text of which is
 contained in the file License.txt included in VeraCrypt binary and source
 code distribution packages. */

#ifndef TC_HEADER_Common_Volumes
#define TC_HEADER_Common_Volumes

#ifdef __cplusplus
extern "C" {
#endif

// Volume header version
#define VOLUME_HEADER_VERSION					0x0005 

// Version number written to volume header during format;
// specifies the minimum program version required to mount the volume
#define TC_VOLUME_MIN_REQUIRED_PROGRAM_VERSION	0x010b

// Version number written (encrypted) to the key data area of an encrypted system partition/drive;
// specifies the minimum program version required to decrypt the system partition/drive
#define TC_SYSENC_KEYSCOPE_MIN_REQ_PROG_VERSION	0x010b

// Current volume format version (created by TrueCrypt 6.0+)
#define TC_VOLUME_FORMAT_VERSION				2

// Version number of volume format created by TrueCrypt 1.0-5.1a
#define TC_VOLUME_FORMAT_VERSION_PRE_6_0		1

// Volume header sizes
#define TC_VOLUME_HEADER_SIZE					(64 * 1024L)
#define TC_VOLUME_HEADER_EFFECTIVE_SIZE			512
#define TC_BOOT_ENCRYPTION_VOLUME_HEADER_SIZE	512
#define TC_VOLUME_HEADER_SIZE_LEGACY			512

#define TC_VOLUME_HEADER_GROUP_SIZE				(2 * TC_VOLUME_HEADER_SIZE)
#define TC_TOTAL_VOLUME_HEADERS_SIZE			(4 * TC_VOLUME_HEADER_SIZE)

// Volume offsets
#define TC_VOLUME_HEADER_OFFSET					0
#define TC_HIDDEN_VOLUME_HEADER_OFFSET			TC_VOLUME_HEADER_SIZE

// Sector sizes
#define TC_MIN_VOLUME_SECTOR_SIZE				512
#define TC_MAX_VOLUME_SECTOR_SIZE				4096
#define TC_SECTOR_SIZE_FILE_HOSTED_VOLUME		512
#define TC_SECTOR_SIZE_LEGACY					512

// Sector size which can be safely assumed to be supported by all BIOSes
#define TC_SECTOR_SIZE_BIOS						512

#define TC_VOLUME_SMALL_SIZE_THRESHOLD			(2 * BYTES_PER_MB)		// Volume sizes below this threshold are considered small

#define TC_HIDDEN_VOLUME_HOST_FS_RESERVED_END_AREA_SIZE			TC_MAX_VOLUME_SECTOR_SIZE	// FAT file system fills the last sector with zeroes (marked as free; observed when quick format was performed using the OS format tool).
#define	TC_HIDDEN_VOLUME_HOST_FS_RESERVED_END_AREA_SIZE_HIGH	TC_VOLUME_HEADER_GROUP_SIZE	// Reserved area size used for hidden volumes larger than TC_VOLUME_SMALL_SIZE_THRESHOLD

#define TC_VOLUME_DATA_OFFSET					TC_VOLUME_HEADER_GROUP_SIZE

// The offset, in bytes, of the legacy hidden volume header position from the end of the file (a positive value).
#define TC_HIDDEN_VOLUME_HEADER_OFFSET_LEGACY	(TC_VOLUME_HEADER_SIZE_LEGACY + TC_SECTOR_SIZE_LEGACY * 2)

#define TC_MAX_128BIT_BLOCK_VOLUME_SIZE	BYTES_PER_PB			// Security bound (128-bit block XTS mode)

// Filesystem size limits
#define TC_MIN_FAT_FS_SIZE				(9 * TC_MAX_VOLUME_SECTOR_SIZE)
#define TC_MAX_FAT_SECTOR_COUNT			0x100000000ULL
#define TC_MIN_NTFS_FS_SIZE				(884 * TC_MAX_VOLUME_SECTOR_SIZE)
#define TC_MAX_NTFS_FS_SIZE				(128LL * BYTES_PER_TB)	// NTFS volume can theoretically be up to 16 exabytes, but Windows XP and 2003 limit the size to that addressable with 32-bit clusters, i.e. max size is 128 TB (if 64-KB clusters are used).
#define TC_MAX_FAT_CLUSTER_SIZE			(256 * BYTES_PER_KB)	// Windows XP/Vista may crash when writing to a filesystem using clusters larger than 256 KB
#define TC_MIN_EXFAT_FS_SIZE			(42 * TC_MAX_VOLUME_SECTOR_SIZE)
#define TC_MAX_EXFAT_FS_SIZE			(128LL * BYTES_PER_PB)
#define TC_MIN_REFS_FS_SIZE				(641 * BYTES_PER_MB) // minimal allowed volume size with 4KiB clusters. Determined empirically.
#define TC_MAX_REFS_FS_SIZE				(0xFFFFFFFFFFFFFFFFULL) // real limit is 1 Yobibyte but it's too large for 64-bit integer

// Volume size limits
#define TC_MIN_VOLUME_SIZE				(TC_TOTAL_VOLUME_HEADERS_SIZE + TC_MIN_FAT_FS_SIZE)
#define TC_MIN_VOLUME_SIZE_LEGACY		(37 * TC_SECTOR_SIZE_LEGACY)
#define TC_MAX_VOLUME_SIZE_GENERAL		0x7fffFFFFffffFFFFLL	// Signed 64-bit integer file offset values
#define TC_MAX_VOLUME_SIZE				TC_MAX_128BIT_BLOCK_VOLUME_SIZE

#define TC_MIN_HIDDEN_VOLUME_SIZE		(TC_MIN_FAT_FS_SIZE + TC_HIDDEN_VOLUME_HOST_FS_RESERVED_END_AREA_SIZE)

#define TC_MIN_HIDDEN_VOLUME_HOST_SIZE	(TC_MIN_VOLUME_SIZE + TC_MIN_HIDDEN_VOLUME_SIZE + 2 * TC_MAX_VOLUME_SECTOR_SIZE)
#define TC_MAX_HIDDEN_VOLUME_HOST_SIZE	(TC_MAX_NTFS_FS_SIZE - TC_TOTAL_VOLUME_HEADERS_SIZE)

#ifndef TC_NO_COMPILER_INT64
#	if TC_MAX_VOLUME_SIZE > TC_MAX_VOLUME_SIZE_GENERAL
#		error TC_MAX_VOLUME_SIZE > TC_MAX_VOLUME_SIZE_GENERAL
#	endif
#endif

#define HEADER_ENCRYPTED_DATA_SIZE			(TC_VOLUME_HEADER_EFFECTIVE_SIZE - HEADER_ENCRYPTED_DATA_OFFSET)

// Volume header field offsets
#define	HEADER_SALT_OFFSET					0
#define HEADER_ENCRYPTED_DATA_OFFSET		PKCS5_SALT_SIZE
#define	HEADER_MASTER_KEYDATA_OFFSET		256
	
#define TC_HEADER_OFFSET_MAGIC					64
#define TC_HEADER_OFFSET_VERSION				68
#define TC_HEADER_OFFSET_REQUIRED_VERSION		70
#define TC_HEADER_OFFSET_KEY_AREA_CRC			72
#define TC_HEADER_OFFSET_VOLUME_CREATION_TIME	76
#define TC_HEADER_OFFSET_MODIFICATION_TIME		84
#define TC_HEADER_OFFSET_HIDDEN_VOLUME_SIZE		92
#define TC_HEADER_OFFSET_VOLUME_SIZE			100
#define TC_HEADER_OFFSET_ENCRYPTED_AREA_START	108
#define TC_HEADER_OFFSET_ENCRYPTED_AREA_LENGTH	116
#define TC_HEADER_OFFSET_FLAGS					124
#define TC_HEADER_OFFSET_SECTOR_SIZE			128
#define TC_HEADER_OFFSET_HEADER_CRC				252

// Volume header flags
#define TC_HEADER_FLAG_ENCRYPTED_SYSTEM			0x1
#define TC_HEADER_FLAG_NONSYS_INPLACE_ENC		0x2		// The volume has been created (or is being encrypted/decrypted) using non-system in-place encryption


#ifndef TC_HEADER_Volume_VolumeHeader

#include "Password.h"

extern BOOL ReadVolumeHeaderRecoveryMode;

uint16 GetHeaderField16 (byte *header, int offset);
uint32 GetHeaderField32 (byte *header, int offset);
UINT64_STRUCT GetHeaderField64 (byte *header, int offset);
#if defined(TC_WINDOWS_BOOT)
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int pim, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
#elif defined(_UEFI)
int ReadVolumeHeader(BOOL bBoot, char *encryptedHeader, Password *password, int pkcs5_prf, int pim, BOOL truecryptMode, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
int CreateVolumeHeaderInMemory(BOOL bBoot, char *encryptedHeader, int ea, int mode, Password *password, int pkcs5_prf, int pim, char *masterKeydata, PCRYPTO_INFO *retInfo, unsigned __int64 volumeSize, unsigned __int64 hiddenVolumeSize, unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode);
BOOL RandgetBytes(unsigned char *buf, int len, BOOL forceSlowPoll);
#else
int ReadVolumeHeader (BOOL bBoot, char *encryptedHeader, Password *password, int pkcs5_prf, int pim, BOOL truecryptMode, PCRYPTO_INFO *retInfo, CRYPTO_INFO *retHeaderCryptoInfo);
#if defined(_WIN32) && !defined(_UEFI)
void ComputeBootloaderFingerprint (byte *bootLoaderBuf, unsigned int bootLoaderSize, byte* fingerprint);
#endif
#endif

#if !defined (DEVICE_DRIVER) && !defined (TC_WINDOWS_BOOT) && !defined(_UEFI)
int CreateVolumeHeaderInMemory (HWND hwndDlg, BOOL bBoot, char *encryptedHeader, int ea, int mode, Password *password, int pkcs5_prf, int pim, char *masterKeydata, PCRYPTO_INFO *retInfo, unsigned __int64 volumeSize, unsigned __int64 hiddenVolumeSize, unsigned __int64 encryptedAreaStart, unsigned __int64 encryptedAreaLength, uint16 requiredProgramVersion, uint32 headerFlags, uint32 sectorSize, BOOL bWipeMode);
BOOL ReadEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header, DWORD *bytesRead);
BOOL WriteEffectiveVolumeHeader (BOOL device, HANDLE fileHandle, byte *header);
int WriteRandomDataToReservedHeaderAreas (HWND hwndDlg, HANDLE dev, CRYPTO_INFO *cryptoInfo, uint64 dataAreaSize, BOOL bPrimaryOnly, BOOL bBackupOnly);
#endif

#endif // !TC_HEADER_Volume_VolumeHeader

#ifdef __cplusplus
}
#endif

#endif // TC_HEADER_Common_Volumes
'#n873'>873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PACKAGES</key>
	<array>
		<dict>
			<key>PACKAGE_FILES</key>
			<dict>
				<key>DEFAULT_INSTALL_LOCATION</key>
				<string>/</string>
				<key>HIERARCHY</key>
				<dict>
					<key>CHILDREN</key>
					<array>
						<dict>
							<key>CHILDREN</key>
							<array>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>80</integer>
									<key>PATH</key>
									<string>Utilities</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>BUNDLE_CAN_DOWNGRADE</key>
									<true/>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>80</integer>
									<key>PATH</key>
									<string>../../Main/VeraCrypt.app</string>
									<key>PATH_TYPE</key>
									<integer>1</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>3</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
							</array>
							<key>GID</key>
							<integer>80</integer>
							<key>PATH</key>
							<string>Applications</string>
							<key>PATH_TYPE</key>
							<integer>0</integer>
							<key>PERMISSIONS</key>
							<integer>509</integer>
							<key>TYPE</key>
							<integer>1</integer>
							<key>UID</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>CHILDREN</key>
							<array>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>80</integer>
									<key>PATH</key>
									<string>Application Support</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Documentation</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Filesystems</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Frameworks</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Input Methods</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Internet Plug-Ins</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>LaunchAgents</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>LaunchDaemons</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>PreferencePanes</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Preferences</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>80</integer>
									<key>PATH</key>
									<string>Printers</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>PrivilegedHelperTools</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>QuickLook</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>QuickTime</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Screen Savers</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Scripts</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Services</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Widgets</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
							</array>
							<key>GID</key>
							<integer>0</integer>
							<key>PATH</key>
							<string>Library</string>
							<key>PATH_TYPE</key>
							<integer>0</integer>
							<key>PERMISSIONS</key>
							<integer>493</integer>
							<key>TYPE</key>
							<integer>1</integer>
							<key>UID</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>CHILDREN</key>
							<array>
								<dict>
									<key>CHILDREN</key>
									<array>
										<dict>
											<key>CHILDREN</key>
											<array/>
											<key>GID</key>
											<integer>0</integer>
											<key>PATH</key>
											<string>Extensions</string>
											<key>PATH_TYPE</key>
											<integer>0</integer>
											<key>PERMISSIONS</key>
											<integer>493</integer>
											<key>TYPE</key>
											<integer>1</integer>
											<key>UID</key>
											<integer>0</integer>
										</dict>
									</array>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Library</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>493</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
							</array>
							<key>GID</key>
							<integer>0</integer>
							<key>PATH</key>
							<string>System</string>
							<key>PATH_TYPE</key>
							<integer>0</integer>
							<key>PERMISSIONS</key>
							<integer>493</integer>
							<key>TYPE</key>
							<integer>1</integer>
							<key>UID</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>CHILDREN</key>
							<array>
								<dict>
									<key>CHILDREN</key>
									<array/>
									<key>GID</key>
									<integer>0</integer>
									<key>PATH</key>
									<string>Shared</string>
									<key>PATH_TYPE</key>
									<integer>0</integer>
									<key>PERMISSIONS</key>
									<integer>1023</integer>
									<key>TYPE</key>
									<integer>1</integer>
									<key>UID</key>
									<integer>0</integer>
								</dict>
							</array>
							<key>GID</key>
							<integer>80</integer>
							<key>PATH</key>
							<string>Users</string>
							<key>PATH_TYPE</key>
							<integer>0</integer>
							<key>PERMISSIONS</key>
							<integer>493</integer>
							<key>TYPE</key>
							<integer>1</integer>
							<key>UID</key>
							<integer>0</integer>
						</dict>
					</array>
					<key>GID</key>
					<integer>0</integer>
					<key>PATH</key>
					<string>/</string>
					<key>PATH_TYPE</key>
					<integer>0</integer>
					<key>PERMISSIONS</key>
					<integer>493</integer>
					<key>TYPE</key>
					<integer>1</integer>
					<key>UID</key>
					<integer>0</integer>
				</dict>
				<key>PAYLOAD_TYPE</key>
				<integer>0</integer>
				<key>VERSION</key>
				<integer>2</integer>
			</dict>
			<key>PACKAGE_SCRIPTS</key>
			<dict>
				<key>POSTINSTALL_PATH</key>
				<dict/>
				<key>PREINSTALL_PATH</key>
				<dict/>
				<key>RESOURCES</key>
				<array/>
			</dict>
			<key>PACKAGE_SETTINGS</key>
			<dict>
				<key>AUTHENTICATION</key>
				<integer>1</integer>
				<key>CONCLUSION_ACTION</key>
				<integer>0</integer>
				<key>IDENTIFIER</key>
				<string>com.idrix.pkg.veracrypt</string>
				<key>LOCATION</key>
				<integer>0</integer>
				<key>NAME</key>
				<string>veracrypt</string>
				<key>OVERWRITE_PERMISSIONS</key>
				<false/>
				<key>VERSION</key>
				<string>1.17.22</string>
			</dict>
			<key>UUID</key>
			<string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string>
		</dict>
	</array>
	<key>PROJECT</key>
	<dict>
		<key>PROJECT_COMMENTS</key>
		<dict>
			<key>NOTES</key>
			<data>
			PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1M
			IDQuMDEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvaHRtbDQv
			c3RyaWN0LmR0ZCI+CjxodG1sPgo8aGVhZD4KPG1ldGEgaHR0cC1l
			cXVpdj0iQ29udGVudC1UeXBlIiBjb250ZW50PSJ0ZXh0L2h0bWw7
			IGNoYXJzZXQ9VVRGLTgiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250
			ZW50LVN0eWxlLVR5cGUiIGNvbnRlbnQ9InRleHQvY3NzIj4KPHRp
			dGxlPjwvdGl0bGU+CjxtZXRhIG5hbWU9IkdlbmVyYXRvciIgY29u
			dGVudD0iQ29jb2EgSFRNTCBXcml0ZXIiPgo8bWV0YSBuYW1lPSJD
			b2NvYVZlcnNpb24iIGNvbnRlbnQ9IjExMzguNTEiPgo8c3R5bGUg
			dHlwZT0idGV4dC9jc3MiPgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5
			Pgo8L2JvZHk+CjwvaHRtbD4K
			</data>
		</dict>
		<key>PROJECT_PRESENTATION</key>
		<dict>
			<key>BACKGROUND</key>
			<dict>
				<key>ALIGNMENT</key>
				<integer>4</integer>
				<key>BACKGROUND_PATH</key>
				<dict/>
				<key>CUSTOM</key>
				<false/>
				<key>SCALING</key>
				<integer>0</integer>
			</dict>
			<key>INSTALLATION TYPE</key>
			<dict>
				<key>HIERARCHIES</key>
				<dict>
					<key>INSTALLER</key>
					<dict>
						<key>LIST</key>
						<array>
							<dict>
								<key>DESCRIPTION</key>
								<array/>
								<key>OPTIONS</key>
								<dict>
									<key>HIDDEN</key>
									<false/>
									<key>STATE</key>
									<integer>1</integer>
								</dict>
								<key>PACKAGE_UUID</key>
								<string>B14381D9-EC5F-43E4-B971-82AB3D132A64</string>
								<key>TITLE</key>
								<array/>
								<key>TOOLTIP</key>
								<array/>
								<key>TYPE</key>
								<integer>0</integer>
								<key>UUID</key>
								<string>4F1ACCF7-AA2A-4C80-A42F-274D410A13D1</string>
							</dict>
						</array>
						<key>REMOVED</key>
						<dict/>
					</dict>
				</dict>
				<key>INSTALLATION TYPE</key>
				<integer>0</integer>
			</dict>
			<key>INSTALLATION_STEPS</key>
			<array>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewIntroductionController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>Introduction</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewReadMeController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>ReadMe</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewLicenseController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>License</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewDestinationSelectController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>TargetSelect</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewInstallationTypeController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>PackageSelection</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewInstallationController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>Install</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
				<dict>
					<key>ICPRESENTATION_CHAPTER_VIEW_CONTROLLER_CLASS</key>
					<string>ICPresentationViewSummaryController</string>
					<key>INSTALLER_PLUGIN</key>
					<string>Summary</string>
					<key>LIST_TITLE_KEY</key>
					<string>InstallerSectionTitle</string>
				</dict>
			</array>
			<key>INTRODUCTION</key>
			<dict>
				<key>LOCALIZATIONS</key>
				<array/>
			</dict>
			<key>LICENSE</key>
			<dict>
				<key>KEYWORDS</key>
				<dict/>
				<key>LOCALIZATIONS</key>
				<array>
					<dict>
						<key>LANGUAGE</key>
						<string>English</string>
						<key>VALUE</key>
						<dict>
							<key>PATH</key>
							<string>../../Release/Setup Files/License.txt</string>
							<key>PATH_TYPE</key>
							<integer>1</integer>
						</dict>
					</dict>
				</array>
				<key>MODE</key>
				<integer>0</integer>
			</dict>
			<key>README</key>
			<dict>
				<key>LOCALIZATIONS</key>
				<array/>
			</dict>
			<key>SUMMARY</key>
			<dict>
				<key>LOCALIZATIONS</key>
				<array/>
			</dict>
			<key>TITLE</key>
			<dict>
				<key>LOCALIZATIONS</key>
				<array>
					<dict>
						<key>LANGUAGE</key>
						<string>French</string>
						<key>VALUE</key>
						<string></string>
					</dict>
				</array>
			</dict>
		</dict>
		<key>PROJECT_REQUIREMENTS</key>
		<dict>
			<key>LIST</key>
			<array>
				<dict>
					<key>BEHAVIOR</key>
					<integer>3</integer>
					<key>DICTIONARY</key>
					<dict>
						<key>IC_REQUIREMENT_CPU_ARCHITECTURE_FAMILY</key>
						<integer>2</integer>
						<key>IC_REQUIREMENT_CPU_INTEL_ARCHITECTURE_TYPE</key>
						<integer>0</integer>
						<key>IC_REQUIREMENT_CPU_MINIMUM_CPU_CORES_COUNT</key>
						<integer>1</integer>
						<key>IC_REQUIREMENT_CPU_MINIMUM_FREQUENCY</key>
						<integer>866666</integer>
						<key>IC_REQUIREMENT_CPU_POWERPC_ARCHITECTURE_TYPE</key>
						<integer>0</integer>
					</dict>
					<key>IC_REQUIREMENT_CHECK_TYPE</key>
					<integer>0</integer>
					<key>IDENTIFIER</key>
					<string>fr.whitebox.Packages.requirement.cpu</string>
					<key>MESSAGE</key>
					<array>
						<dict>
							<key>LANGUAGE</key>
							<string>English</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>VeraCrypt runs only on Intel platforms.</string>
						</dict>
						<dict>
							<key>LANGUAGE</key>
							<string>French</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>VeraCrypt supporte seulement les platformes Intel.</string>
						</dict>
					</array>
					<key>NAME</key>
					<string>Processor</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>BEHAVIOR</key>
					<integer>3</integer>
					<key>DICTIONARY</key>
					<dict>
						<key>IC_REQUIREMENT_OS_DISK_TYPE</key>
						<integer>1</integer>
						<key>IC_REQUIREMENT_OS_DISTRIBUTION_TYPE</key>
						<integer>0</integer>
						<key>IC_REQUIREMENT_OS_MINIMUM_VERSION</key>
						<integer>100601</integer>
					</dict>
					<key>IC_REQUIREMENT_CHECK_TYPE</key>
					<integer>0</integer>
					<key>IDENTIFIER</key>
					<string>fr.whitebox.Packages.requirement.os</string>
					<key>MESSAGE</key>
					<array>
						<dict>
							<key>LANGUAGE</key>
							<string>English</string>
							<key>VALUE</key>
							<string>VeraCrypt requires MacOSX 10.6.1 and above.</string>
						</dict>
						<dict>
							<key>LANGUAGE</key>
							<string>French</string>
							<key>VALUE</key>
							<string>VeraCrypt nécessite MacOSX 10.6.1 et supérieur.</string>
						</dict>
					</array>
					<key>NAME</key>
					<string>Operating System</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>BEHAVIOR</key>
					<integer>3</integer>
					<key>DICTIONARY</key>
					<dict>
						<key>IC_REQUIREMENT_FILES_CONDITION</key>
						<integer>0</integer>
						<key>IC_REQUIREMENT_FILES_DISK_TYPE</key>
						<integer>1</integer>
						<key>IC_REQUIREMENT_FILES_LIST</key>
						<array>
							<string>/usr/local/lib/libosxfuse_i64.2.dylib</string>
						</array>
						<key>IC_REQUIREMENT_FILES_SELECTOR</key>
						<integer>0</integer>
					</dict>
					<key>IC_REQUIREMENT_CHECK_TYPE</key>
					<integer>0</integer>
					<key>IDENTIFIER</key>
					<string>fr.whitebox.Packages.requirement.files</string>
					<key>MESSAGE</key>
					<array>
						<dict>
							<key>LANGUAGE</key>
							<string>English</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>OSXFuse seems to be missing on your machine. VeraCrypt requires OSXFuse 2.3 or above.
Please download the latest OSXFuse version from  : 
https://osxfuse.github.io/</string>
						</dict>
						<dict>
							<key>LANGUAGE</key>
							<string>French</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>OSXFuse semble ne pas être installé sur votre machine. VeraCrypt nécessite OSXFuse 2.3 ou supérieur.
Merci de télécharger la dernière version de OSXFuse à partir de :
https://osxfuse.github.io/

</string>
						</dict>
					</array>
					<key>NAME</key>
					<string>OSXFuse</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>BEHAVIOR</key>
					<integer>3</integer>
					<key>DICTIONARY</key>
					<dict>
						<key>IC_REQUIREMENT_FILES_CONDITION</key>
						<integer>0</integer>
						<key>IC_REQUIREMENT_FILES_DISK_TYPE</key>
						<integer>1</integer>
						<key>IC_REQUIREMENT_FILES_LIST</key>
						<array>
							<string>/Library/Frameworks/MacFUSE.framework/MacFUSE</string>
							<string>/usr/local/lib/libfuse.dylib</string>
						</array>
						<key>IC_REQUIREMENT_FILES_SELECTOR</key>
						<integer>1</integer>
					</dict>
					<key>IC_REQUIREMENT_CHECK_TYPE</key>
					<integer>0</integer>
					<key>IDENTIFIER</key>
					<string>fr.whitebox.Packages.requirement.files</string>
					<key>MESSAGE</key>
					<array>
						<dict>
							<key>LANGUAGE</key>
							<string>English</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>VeraCrypt needs OSXFUSE to be installed with MacFUSE compatibility layer enabled.
Please re-install OSXFUSE and check the MacFUSE compatibility layer in the installer.</string>
						</dict>
						<dict>
							<key>LANGUAGE</key>
							<string>French</string>
							<key>SECONDARY_VALUE</key>
							<string></string>
							<key>VALUE</key>
							<string>VeraCrypt nécessite que OSXFUSE soit installé avec l'option "MacFUSE compatibility layer".
Merci de ré-installer OSXFUSE et de cocher l'option de compatibilité MacFUSE dans l'installeur.</string>
						</dict>
					</array>
					<key>NAME</key>
					<string>MacFUSE compatibility layer</string>
					<key>STATE</key>
					<true/>
				</dict>
			</array>
			<key>POSTINSTALL_PATH</key>
			<dict/>
			<key>PREINSTALL_PATH</key>
			<dict/>
			<key>RESOURCES</key>
			<array/>
			<key>ROOT_VOLUME_ONLY</key>
			<false/>
		</dict>
		<key>PROJECT_SETTINGS</key>
		<dict>
			<key>ADVANCED_OPTIONS</key>
			<dict/>
			<key>BUILD_FORMAT</key>
			<integer>0</integer>
			<key>BUILD_PATH</key>
			<dict>
				<key>PATH</key>
				<string>.</string>
				<key>PATH_TYPE</key>
				<integer>1</integer>
			</dict>
			<key>EXCLUDED_FILES</key>
			<array>
				<dict>
					<key>PATTERNS_ARRAY</key>
					<array>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.DS_Store</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
					</array>
					<key>PROTECTED</key>
					<true/>
					<key>PROXY_NAME</key>
					<string>Remove .DS_Store files</string>
					<key>PROXY_TOOLTIP</key>
					<string>Remove ".DS_Store" files created by the Finder.</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>PATTERNS_ARRAY</key>
					<array>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.pbdevelopment</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
					</array>
					<key>PROTECTED</key>
					<true/>
					<key>PROXY_NAME</key>
					<string>Remove .pbdevelopment files</string>
					<key>PROXY_TOOLTIP</key>
					<string>Remove ".pbdevelopment" files created by ProjectBuilder or Xcode.</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>PATTERNS_ARRAY</key>
					<array>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>CVS</string>
							<key>TYPE</key>
							<integer>1</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.cvsignore</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.cvspass</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.svn</string>
							<key>TYPE</key>
							<integer>1</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.git</string>
							<key>TYPE</key>
							<integer>1</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>.gitignore</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
					</array>
					<key>PROTECTED</key>
					<true/>
					<key>PROXY_NAME</key>
					<string>Remove SCM metadata</string>
					<key>PROXY_TOOLTIP</key>
					<string>Remove helper files and folders used by the CVS, SVN or Git Source Code Management systems.</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>PATTERNS_ARRAY</key>
					<array>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>classes.nib</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>designable.db</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>info.nib</string>
							<key>TYPE</key>
							<integer>0</integer>
						</dict>
					</array>
					<key>PROTECTED</key>
					<true/>
					<key>PROXY_NAME</key>
					<string>Optimize nib files</string>
					<key>PROXY_TOOLTIP</key>
					<string>Remove "classes.nib", "info.nib" and "designable.nib" files within .nib bundles.</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>PATTERNS_ARRAY</key>
					<array>
						<dict>
							<key>REGULAR_EXPRESSION</key>
							<false/>
							<key>STRING</key>
							<string>Resources Disabled</string>
							<key>TYPE</key>
							<integer>1</integer>
						</dict>
					</array>
					<key>PROTECTED</key>
					<true/>
					<key>PROXY_NAME</key>
					<string>Remove Resources Disabled folders</string>
					<key>PROXY_TOOLTIP</key>
					<string>Remove "Resources Disabled" folders.</string>
					<key>STATE</key>
					<true/>
				</dict>
				<dict>
					<key>SEPARATOR</key>
					<true/>
				</dict>
			</array>
			<key>NAME</key>
			<string>VeraCrypt 1.17</string>
		</dict>
	</dict>
	<key>SHARED_GLOBAL_DATA</key>
	<dict>
		<key>IC_REQUIREMENT_JAVASCRIPT_SHARED_SOURCE_CODE</key>
		<string></string>
	</dict>
	<key>TYPE</key>
	<integer>0</integer>
	<key>VERSION</key>
	<integer>2</integer>
</dict>
</plist>