DCS was a separate project (not part of VeraCrypt). DCS could support OPAL, DiskCryptor, LUKS or other encryption tools as PBA. It is general PBA for EFI.
I chose VeraCrypt because it looked like the most dynamic project and the most functional.
Howe ever in the mean time a lot of VeraCrypt specific code found its way into large portions of the project. So for my use I head to disentangle all that spaghetti code and her is the result.
The code is now structured such that VeraCrypt specific code is all contained in VeraCryptLib and DcsInt can support any arbitrary pre boot authentication, by providing an the appropriate library. The project now includes a DiskCryptorLib for obvious reasons.
I believe that it is beneficial to have a common code base and not have to merge improvements around all the time.
DCS 2.00 Changelog
Moved DcsConfig.h from VeraCryptLib to DcsCfgLib and using it to preset compile time options
-- DCS_CAPTION defines the loader name string as used in various places for display
-- DCS_DIRECTORY defines the sub folder inside the EFI folder into which DCS is being installed
-- DCS_VERSION defines the version as integer that for display is parsed like "%d.%02d%", DCS_VERSION / 100, DCS_VERSION % 100
-- See the file for more options...
Added Visual Studio project files for a more convenient editing
Added ability for a basic key remapping to support keyboards other than QWERTY, now supporting also QWERTZ and AZERTY
Added support for wchar passwords
Added new DcsProp value VerboseDebug enabling a lot of useful debut output
Addes support for wchar values in DcsProp ConfigReadStringW
Added option to display the letters in picture password but not the entered password to use the feature as on-screen keyboard
Separated VeraCrypt specific code from DcsInt into VeraCryptLib/DcsVeraCryptImpl.c
-- Split IO Hooking code into a separate library DcsIntlib
-- Moved Xml.c/h to DcsCfgLib
-- Added ability to hook more than one disk drive AddCryptoMount
-- Added support for DiskCryptor in DiskCryptorLib
-- Added mechanism to select Disk Encryption support modules VeraCrypt/DiskCryptor
Fixed data leak when HaltPrint gets triggered to clean bootParams in addition to all other sensitiv data
I needed UEFI support for DiskCryptor, so I thought of using DCS as a basis for that...
from: https://sourceforge.net/p/dc5/discussion/general/thread/6192c01b/?limit=25
Howe ever in the mean time a lot of VeraCrypt specific code found its way into large portions of the project. So for my use I head to disentangle all that spaghetti code and her is the result.
The code is now structured such that VeraCrypt specific code is all contained in VeraCryptLib and DcsInt can support any arbitrary pre boot authentication, by providing an the appropriate library. The project now includes a DiskCryptorLib for obvious reasons.
I believe that it is beneficial to have a common code base and not have to merge improvements around all the time.
DCS 2.00 Changelog
Moved DcsConfig.h from VeraCryptLib to DcsCfgLib and using it to preset compile time options -- DCS_CAPTION defines the loader name string as used in various places for display -- DCS_DIRECTORY defines the sub folder inside the EFI folder into which DCS is being installed -- DCS_VERSION defines the version as integer that for display is parsed like "%d.%02d%", DCS_VERSION / 100, DCS_VERSION % 100 -- See the file for more options...
Added Visual Studio project files for a more convenient editing
Added ability for a basic key remapping to support keyboards other than QWERTY, now supporting also QWERTZ and AZERTY
Added support for wchar passwords
Added new DcsProp value VerboseDebug enabling a lot of useful debut output
Addes support for wchar values in DcsProp ConfigReadStringW
Added option to display the letters in picture password but not the entered password to use the feature as on-screen keyboard
Separated VeraCrypt specific code from DcsInt into VeraCryptLib/DcsVeraCryptImpl.c -- Split IO Hooking code into a separate library DcsIntlib -- Moved Xml.c/h to DcsCfgLib -- Added ability to hook more than one disk drive AddCryptoMount -- Added support for DiskCryptor in DiskCryptorLib -- Added mechanism to select Disk Encryption support modules VeraCrypt/DiskCryptor
Fixed data leak when HaltPrint gets triggered to clean bootParams in addition to all other sensitiv data
Fied memory leek in VCCONFIG_ALLOC