Skip to content

Conversation

@DavidXanatos
Copy link

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

Alex Kolotnikov:

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

  • Fied memory leek in VCCONFIG_ALLOC

@DavidXanatos DavidXanatos requested a review from idrassi February 2, 2020 10:09
@TheSorrow1
Copy link

I think this is a great idea! @idrassi please have a look at this and eventually merge it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants