{"action":"opened","issue":{"url":"https://api.github.com/repos/libyal/libfvde/issues/3","labels_url":"https://api.github.com/repos/libyal/libfvde/issues/3/labels{/name}","comments_url":"https://api.github.com/repos/libyal/libfvde/issues/3/comments","events_url":"https://api.github.com/repos/libyal/libfvde/issues/3/events","html_url":"https://github.com/libyal/libfvde/issues/3","id":66258725,"number":3,"title":"Data Recovery with libfvde?","user":{"login":"erisler-myntpartners","id":660351,"avatar_url":"https://avatars.githubusercontent.com/u/660351?v=3","gravatar_id":"","url":"https://api.github.com/users/erisler-myntpartners","html_url":"https://github.com/erisler-myntpartners","followers_url":"https://api.github.com/users/erisler-myntpartners/followers","following_url":"https://api.github.com/users/erisler-myntpartners/following{/other_user}","gists_url":"https://api.github.com/users/erisler-myntpartners/gists{/gist_id}","starred_url":"https://api.github.com/users/erisler-myntpartners/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/erisler-myntpartners/subscriptions","organizations_url":"https://api.github.com/users/erisler-myntpartners/orgs","repos_url":"https://api.github.com/users/erisler-myntpartners/repos","events_url":"https://api.github.com/users/erisler-myntpartners/events{/privacy}","received_events_url":"https://api.github.com/users/erisler-myntpartners/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-04-04T01:07:46Z","updated_at":"2015-04-04T01:07:46Z","closed_at":null,"body":"Hi, I hope this isn't out of line posting here...I have a situation where my Macbook Filevault 2 drive had a problem while attempting to decrypt using Diskutil. The drive will no longer mount and the output of `diskutil cs list` is incomplete. It appears the encrypted drive's metadata is corrupt (`libfvde_metadata_block_read: mismatch in checksum ( 0xe9241b07 != 0xbd0b4724 ).`). \r\n\r\nMy question: can libfvde be forced to ignore the metadata checksum check and try to generate the decryption key and attempt a decrypt?\r\n\r\nBelow are program outputs.\r\n\r\nThank you.\r\n\r\nDiskutil output:\r\n```\r\nLogical Volume Group C598ABC1-0B61-4F00-916F-4F8E8210F32A\r\n    =========================================================\r\n    Name:         Macintosh HD\r\n    Status:       Offline\r\n    Size:         0 B (0 B)\r\n    Free Space:   -none-\r\n    |\r\n    +-< Physical Volume 6CDD893A-FECD-41E5-ABED-CC8842E6BCB5\r\n        ----------------------------------------------------\r\n        Index:    0\r\n        Disk:     disk2s2\r\n        Status:   Checking\r\n        Size:     999345127424 B (999.3 GB)\r\n```\r\n\r\nOutput of `sudo fvdeinfo -v /dev/disk2s2`:\r\n\r\n```\r\nfvdeinfo 20140907\r\n\r\nlibcfile_file_get_size: block size: 512 block count: 1951845952 libcfile_file_get_size: device media size: 999345127424\r\nReading volume header:\r\nlibfvde_io_handle_read_volume_header: reading volume header at offset: 0 (0x00000000)\r\nlibfvde_io_handle_read_volume_header: volume header data:\r\n00000000: 93 0a b2 50 ff ff ff ff  01 00 10 00 06 14 d7 01   ...P.... ........\r\n00000010: 01 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000030: 00 02 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000040: 00 80 9c ad e8 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000050: 00 00 00 00 00 00 00 00  43 53 01 00 00 00 04 00   ........ CS......\r\n00000060: 00 10 00 00 00 00 40 00  c7 c9 8a 0e 00 00 00 00   ......@. ........\r\n00000070: c7 cd 8a 0e 00 00 00 00  c7 d1 8a 0e 00 00 00 00   ........ ........\r\n00000080: c7 d5 8a 0e 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000090: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n000000a0: 00 00 00 00 00 00 00 00  10 00 00 00 02 00 00 00   ........ ........\r\n000000b0: 45 7e 96 64 c6 c7 9e 98  70 db 35 fe 7d 03 13 71   E~.d.... p.5.}..q\r\n000000c0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n...\r\n00000120: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000130: 6c dd 89 3a fe cd 41 e5  ab ed cc 88 42 e6 bc b5   l..:..A. ....B...\r\n00000140: c5 98 ab c1 0b 61 4f 00  91 6f 4f 8e 82 10 f3 2a   .....aO. .oO....*\r\n00000150: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n...\r\n000001f0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n\r\nlibfvde_io_handle_read_volume_header: checksum\t\t\t\t: 0x50b20a93\r\nlibfvde_io_handle_read_volume_header: initial value\t\t\t: 0xffffffff\r\nlibfvde_io_handle_read_volume_header: version\t\t\t\t: 1\r\nlibfvde_io_handle_read_volume_header: block type\t\t\t: 0x0010\r\nlibfvde_io_handle_read_volume_header: serial number\t\t\t: 0x01d71406\r\nlibfvde_io_handle_read_volume_header: unknown2\t\t\t\t: 0x00000001\r\nlibfvde_io_handle_read_volume_header: unknown3a\t\t\t\t: 0x00000000\r\nlibfvde_io_handle_read_volume_header: unknown3b\t\t\t\t: 0x00000000\r\nlibfvde_io_handle_read_volume_header: unknown3c\t\t\t\t: 0x00000000\r\nlibfvde_io_handle_read_volume_header: bytes per sector\t\t\t: 512\r\nlibfvde_io_handle_read_volume_header: unknown4a\t\t\t\t: 0x00000000\r\nlibfvde_io_handle_read_volume_header: unknown4b\t\t\t\t: 0x00000000\r\nlibfvde_io_handle_read_volume_header: physical volume size\t\t: 999345127424\r\nlibfvde_io_handle_read_volume_header: unknown5:\r\n00000000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n\r\nlibfvde_io_handle_read_volume_header: core storage signature\t\t: CS\r\nlibfvde_io_handle_read_volume_header: checksum algorithm\t\t: 1\r\nlibfvde_io_handle_read_volume_header: unknown6\t\t\t\t: 0x0004\r\nlibfvde_io_handle_read_volume_header: block size\t\t\t: 4096\r\nlibfvde_io_handle_read_volume_header: metadata size\t\t\t: 4194304\r\nlibfvde_io_handle_read_volume_header: first metadata block number\t: 243976647\r\nlibfvde_io_handle_read_volume_header: second metadata block number\t: 243977671\r\nlibfvde_io_handle_read_volume_header: third metadata block number\t: 243978695\r\nlibfvde_io_handle_read_volume_header: fourth metadata block number\t: 243979719\r\nlibfvde_io_handle_read_volume_header: unknown7:\r\n00000000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n\r\nlibfvde_io_handle_read_volume_header: encryption method\t\t\t: 2\r\nlibfvde_io_handle_read_volume_header: key data:\r\n00000000: 45 7e 96 64 c6 c7 9e 98  70 db 35 fe 7d 03 13 71   E~.d.... p.5.}..q\r\n00000010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n...\r\n00000070: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n\r\nlibfvde_io_handle_read_volume_header: physical volume identifier\t: 6cdd893a-fecd-41e5-abed-cc8842e6bcb5\r\nlibfvde_io_handle_read_volume_header: logical volume group identifier\t: c598abc1-0b61-4f00-916f-4f8e8210f32a\r\nlibfvde_io_handle_read_volume_header: unknown8:\r\n00000000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n...\r\n000000a0: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n\r\nReading primary metadata:\r\nlibfvde_metadata_read: reading metadata at offset: 999328346112 (0xe8ac9c7000)\r\nlibfvde_metadata_block_read: header data:\r\n00000000: 07 1b 24 e9 ff ff ff ff  01 00 11 00 06 14 d7 01   ..$..... ........\r\n00000010: 92 2a 00 00 00 00 00 00  00 00 00 00 00 00 00 00   .*...... ........\r\n00000020: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00   ........ ........\r\n00000030: 00 20 00 00 00 00 00 00  00 00 00 00 00 00 00 00   . ...... ........\r\n\r\nlibfvde_metadata_block_read: checksum\t\t\t\t\t: 0xe9241b07\r\nlibfvde_metadata_block_read: initial value\t\t\t\t: 0xffffffff\r\nlibfvde_metadata_block_read: version\t\t\t\t\t: 1\r\nlibfvde_metadata_block_read: type\t\t\t\t\t: 0x0011\r\nlibfvde_metadata_block_read: serial number\t\t\t\t: 0x01d71406\r\nlibfvde_metadata_block_read: unknown2\t\t\t\t\t: 0x00002a92\r\nlibfvde_metadata_block_read: unknown3\t\t\t\t\t: 0x00000000\r\nlibfvde_metadata_block_read: number\t\t\t\t\t: 0\r\nlibfvde_metadata_block_read: unknown5\t\t\t\t\t: 0x00000000\r\nlibfvde_metadata_block_read: size\t\t\t\t\t: 8192\r\nlibfvde_metadata_block_read: unknown6\t\t\t\t\t: 0x00000000\r\nlibfvde_metadata_block_read: unknown7\t\t\t\t\t: 0x00000000\r\n\r\nUnable to open: /dev/disk2s2.\r\nlibfvde_metadata_block_read: mismatch in checksum ( 0xe9241b07 != 0xbd0b4724 ).\r\nlibfvde_metadata_read: unable to read metadata block.\r\nlibfvde_volume_open_read: unable to read primary metadata.\r\nlibfvde_volume_open_file_io_handle: unable to read from volume handle.\r\ninfo_handle_open_input: unable to open input volume.\r\n```\r\n\r\n"}}