Prerequisite

Install Dependencies

  1. Install FUSE for macOS (https://osxfuse.github.io/)
  2. Install cmake
    brew install cmake
  3. Install PolarSSL
    brew install PolarSSL
  4. Download Dislocker and unzip (assuming that you unzipped it into ~/Downloads/dislocker-master/ folder)
  5. Install Dislocker
    brew install ~/Downloads/dislocker-master/dislocker.rb

Load BitLocker Protected Drive

NTFS Filesystem

  • diskutil list
    • Use diskutil to find the identifier of your drive
  • mkdir -p /mnt/externalhdd
  • sudo dislocker-fuse -V /dev/<your_disk_identifier> -u<your_bitlocker_password> — /mnt/externalhdd/
  • sudo hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount /mnt/externalhdd/dislocker-file
    • The output of this line is the path to the virtual device – it would be something like /dev/disk3
  • mkdir -p ~/Desktop/externalhdd
  • mount -t ntfs -o rw,auto,nobrowse <path_to_virtual_device> ~/Desktop/externalhdd

Then your disk will be shown on your desktop

Non-NTFS Filesystem

  • diskutil list
    • Use diskutil to find the identifier of your drive
  • mkdir -p /mnt/externalhdd
  • sudo dislocker-fuse -V /dev/<your_disk_identifier> -u<your_bitlocker_password> — /mnt/externalhdd/
  • sudo hdiutil attach -imagekey diskimage-class=CRawDiskImage -nomount /mnt/externalhdd/dislocker-file

Then you will be able to see your device in your finder’s “Devices” section

Unload Drive

  • Eject your drive by either right click-eject or eject from your finder’s “Devices” section
    • Or eject with command line
      sudo hdiutil eject ~/Desktop/externalhdd
  • hdiutil detach /mnt/externalhdd
  • Then it’s safe to remove your external drive