Dislocker ошибка сегментирования


Go to linuxquestions


r/linuxquestions


r/linuxquestions




Members





Online



by

soumyaranjanmahunt



Segmentation fault error in dislocker

I have tried using dislocker in Kali Linux, Ubuntu and Manjaro but when i type dislocker -r -V /dev/sda -upassword — /media/bitlocker/ to unlock my bitlocker drive it shows segmentation fault as output. Any help with how to unlock bitlocker drives??

I’m seeing the same issue — has there been a change in encryption method or something in the latest Win 10 release?

OS Name:                   Microsoft Windows 10 Pro
OS Version:                10.0.18362 N/A Build 18362

BDE status for the drive:

BitLocker Drive Encryption:
Volume D: [Data]
[Data Volume]

Size:                 583.37 GB
BitLocker Version:    2.0
Conversion Status:    Fully Encrypted
Percentage Encrypted: 100.0%
Encryption Method:    XTS-AES 128
Protection Status:    Protection On
Lock Status:          Unlocked
Identification Field: Unknown
Automatic Unlock:     Disabled
Key Protectors:
    External Key
    Numerical Password
    Password

Dislocker debug:

Mon Jul  8 15:01:37 2019 [DEBUG] Verbosity level to DEBUG (4) into 'stdout'
Mon Jul  8 15:01:37 2019 [INFO] dislocker by Romain Coltel, v0.7.1 (compiled for Linux/x86_64)
Mon Jul  8 15:01:37 2019 [DEBUG] --- Config...
Mon Jul  8 15:01:37 2019 [DEBUG]    Verbosity: 4
Mon Jul  8 15:01:37 2019 [DEBUG]    Trying to decrypt '/dev/sda1'
Mon Jul  8 15:01:37 2019 [DEBUG]    	using the recovery password method
Mon Jul  8 15:01:37 2019 [DEBUG]    	-> <redacted>
Mon Jul  8 15:01:37 2019 [DEBUG]    Using the first valid metadata block
Mon Jul  8 15:01:37 2019 [DEBUG] ... End config ---
Mon Jul  8 15:01:37 2019 [DEBUG] Trying to open '/dev/sda1'...
Mon Jul  8 15:01:37 2019 [DEBUG] Trying to open '/dev/sda1'...
Mon Jul  8 15:01:37 2019 [DEBUG] Opened (fd #3).
Mon Jul  8 15:01:37 2019 [DEBUG] Opened (fd #3).
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260e390 (0x18 bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260e3b0 (0x90 bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260b340 (0x200 bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG] Positioning #3 at offset 0 from 0
Mon Jul  8 15:01:37 2019 [DEBUG] Reading volume header...
Mon Jul  8 15:01:37 2019 [DEBUG] Reading 0x200 bytes from #3 into 0x55894260b340
Mon Jul  8 15:01:37 2019 [DEBUG] Volume header read
Mon Jul  8 15:01:37 2019 [DEBUG] =====[ Volume header informations ]=====
Mon Jul  8 15:01:37 2019 [DEBUG]   Signature: '-FVE-FS-'
Mon Jul  8 15:01:37 2019 [DEBUG]   Sector size: 0x0200 (512) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Sector per cluster: 0x08 (8) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Reserved clusters: 0x0000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Fat count: 0x00 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Root entries: 0x0000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Number of sectors (16 bits): 0x0000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Media descriptor: 0xf8 (248) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Sectors per fat: 0x0000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Hidden sectors: 0x0000003f (63) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Number of sectors (32 bits): 0x00000000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Number of sectors (64 bits): 0x0000000000000000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   MFT start cluster: 0x0000000000060001 (393217) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Metadata Lcn: 0x0000000000000000 (0) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]   Volume GUID: '4967D63B-2E29-4AD8-8399-F6A339E3D001'
Mon Jul  8 15:01:37 2019 [DEBUG]   First metadata header offset:  0x0000000006900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Second metadata header offset: 0x0000000046900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Third metadata header offset:  0x0000000086900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Boot Partition Identifier: '0xaa55'
Mon Jul  8 15:01:37 2019 [DEBUG] ========================================
Mon Jul  8 15:01:37 2019 [INFO] Volume GUID (INFORMATION OFFSET) supported
Mon Jul  8 15:01:37 2019 [DEBUG] Entering get_metadata_lazy_checked
Mon Jul  8 15:01:37 2019 [DEBUG] Positioning #3 at offset 110100480 from 0
Mon Jul  8 15:01:37 2019 [DEBUG] Reading bitlocker header at 0x6900000...
Mon Jul  8 15:01:37 2019 [DEBUG] Reading 0x70 bytes from #3 into 0x7ffddcd312f0
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260e450 (0x460 bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG] Reading data...
Mon Jul  8 15:01:37 2019 [DEBUG] Reading 0x3f0 bytes from #3 into 0x55894260e4c0
Mon Jul  8 15:01:37 2019 [DEBUG] End get_metadata.
Mon Jul  8 15:01:37 2019 [DEBUG] Reading validations data at offset 0x6900460.
Mon Jul  8 15:01:37 2019 [DEBUG] Positioning #3 at offset 110101600 from 0
Mon Jul  8 15:01:37 2019 [DEBUG] Reading 0x8 bytes from #3 into 0x7ffddcd313c8
Mon Jul  8 15:01:37 2019 [DEBUG] Looking if 0xc34e7f57 == 0xc34e7f57 for metadata validation
Mon Jul  8 15:01:37 2019 [DEBUG] We have a winner (n°1)!
Mon Jul  8 15:01:37 2019 [INFO] BitLocker metadata found and parsed.
Mon Jul  8 15:01:37 2019 [DEBUG] =====================[ BitLocker information structure ]=====================
Mon Jul  8 15:01:37 2019 [DEBUG]   Signature: '-FVE-FS-'
Mon Jul  8 15:01:37 2019 [DEBUG]   Total Size: 0x0460 (1120) bytes (including signature and data)
Mon Jul  8 15:01:37 2019 [DEBUG]   Version: 2
Mon Jul  8 15:01:37 2019 [DEBUG]   Current state: ENCRYPTED (4)
Mon Jul  8 15:01:37 2019 [DEBUG]   Next state: ENCRYPTED (4)
Mon Jul  8 15:01:37 2019 [DEBUG]   Encrypted volume size: 626387940864 bytes (0x91d7a17600), ~597370 MB
Mon Jul  8 15:01:37 2019 [DEBUG]   Size of convertion region: 0 (0)
Mon Jul  8 15:01:37 2019 [DEBUG]   Number of boot sectors backuped: 16 sectors (0x10)
Mon Jul  8 15:01:37 2019 [DEBUG]   First metadata header offset:  0x6900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Second metadata header offset: 0x46900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Third metadata header offset:  0x86900000
Mon Jul  8 15:01:37 2019 [DEBUG]   Boot sectors backup address:   0x6910000
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260e8c0 (0xc bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG]   ----------------------------{ Dataset header }----------------------------
Mon Jul  8 15:01:37 2019 [DEBUG]     Dataset size: 0x00000418 (1048) bytes (including data)
Mon Jul  8 15:01:37 2019 [DEBUG]     Unknown data: 0x00000001 (always 0x00000001)
Mon Jul  8 15:01:37 2019 [DEBUG]     Dataset header size: 0x00000030 (always 0x00000030)
Mon Jul  8 15:01:37 2019 [DEBUG]     Dataset copy size: 0x00000418 (1048) bytes
Mon Jul  8 15:01:37 2019 [DEBUG]     Dataset GUID: 'F7EEC279-35A5-4702-8824-8F650251FB84'
Mon Jul  8 15:01:37 2019 [DEBUG]     Next counter: 15
Mon Jul  8 15:01:37 2019 [DEBUG]     Encryption Type: AES-XTS-128 (0x8004)
Mon Jul  8 15:01:37 2019 [DEBUG]     Epoch Timestamp: 1560867437 sec, that to say Tue Jun 18 14:17:17 2019
Mon Jul  8 15:01:37 2019 [DEBUG]   --------------------------------------------------------------------------
Mon Jul  8 15:01:37 2019 [DEBUG] Freeing pointer at address 0x55894260e8c0
Mon Jul  8 15:01:37 2019 [DEBUG] =============================================================================
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0x48, 0x7, 0x2, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] 
Mon Jul  8 15:01:37 2019 [DEBUG] =======[ Datum n°1 informations ]=======
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x0048 (72) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 7
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 2
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> UNICODE -- Total size header: 8 -- Nested datum: no
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] New memory allocation at 0x55894260e910 (0x80 bytes allocated)
Mon Jul  8 15:01:37 2019 [DEBUG] UTF-16 string: 'DESKTOP-38AGPAE Data 18/06/2019'
Mon Jul  8 15:01:37 2019 [DEBUG] Freeing pointer at address 0x55894260e910
Mon Jul  8 15:01:37 2019 [DEBUG] =========================================
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0xd0, 0x2, 0x8, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] 
Mon Jul  8 15:01:37 2019 [DEBUG] =======[ Datum n°2 informations ]=======
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x00d0 (208) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 2
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE VMK
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 8
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> VMK -- Total size header: 36 -- Nested datum: yes
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Recovery Key GUID: 'DC25C333-3020-4791-AEF3-394FC511D805'
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] 50 1f b0 94 e0 25 d5 01 00 00 00 02 
Mon Jul  8 15:01:37 2019 [DEBUG]    ------ Nested datum(s) ------
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x005c (92) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 4
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> USE -- Total size header: 12 -- Nested datum: yes
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Algo: 0x2002
Mon Jul  8 15:01:37 2019 [DEBUG] Unknown: 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG]    ------ Nested datum ------
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x0050 (80) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 5
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> AES-CCM -- Total size header: 36 -- Nested datum: no
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] 00 d6 0c 90 e0 25 d5 01 04 00 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG] MAC: 
Mon Jul  8 15:01:37 2019 [DEBUG] fb 8c 96 98 98 37 ca c7 30 39 bf b4 31 63 ed ce 
Mon Jul  8 15:01:37 2019 [DEBUG] Payload:
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 68 09 29 a3 5b d7 3e a7-7c 43 99 d0 d1 29 eb fa 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000010 b4 b4 a5 d2 a1 22 68 55-9b 7f a6 7d 75 b6 ec c1 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000020 71 25 05 22 58 9c 85 18-ba 69 8b c7 
Mon Jul  8 15:01:37 2019 [DEBUG]    ---------------------------
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0x5c, 0, 0x4, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x0050 (80) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 5
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> AES-CCM -- Total size header: 36 -- Nested datum: no
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] 00 d6 0c 90 e0 25 d5 01 05 00 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG] MAC: 
Mon Jul  8 15:01:37 2019 [DEBUG] 61 8c 8b 8d 8b 9a 8d db 43 19 41 10 70 e0 92 08 
Mon Jul  8 15:01:37 2019 [DEBUG] Payload:
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 7f 10 53 b9 3d 1b ca 52-2f de df 6c b0 45 16 2e 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000010 7f ea 11 e4 bf a3 f8 8f-1b 7c b0 0b 97 aa ae 89 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000020 9a e4 c1 d6 02 e2 53 2a-75 c8 32 c0 
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0x50, 0, 0x5, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG]    ------------------------------
Mon Jul  8 15:01:37 2019 [DEBUG] =========================================
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0x13c, 0x2, 0x8, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] 
Mon Jul  8 15:01:37 2019 [DEBUG] =======[ Datum n°3 informations ]=======
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x013c (316) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 2
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE VMK
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 8
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> VMK -- Total size header: 36 -- Nested datum: yes
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Recovery Key GUID: '85B49295-E4F8-4DD6-9690-F7492AC4F2A2'
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] e0 64 5c 95 e0 25 d5 01 00 00 00 08 
Mon Jul  8 15:01:37 2019 [DEBUG]    ------ Nested datum(s) ------
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x00ac (172) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 3
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> STRETCH KEY -- Total size header: 28 -- Nested datum: yes
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Unkown: 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG] Algo: 0x1000
Mon Jul  8 15:01:37 2019 [DEBUG] Salt: 
Mon Jul  8 15:01:37 2019 [DEBUG] 21 b1 23 40 05 1e 4f 38 51 94 8d b8 4e f3 05 18 
Mon Jul  8 15:01:37 2019 [DEBUG]    ------ Nested datum ------
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x0040 (64) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 18
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 5
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> AES-CCM -- Total size header: 36 -- Nested datum: no
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] 00 d6 0c 90 e0 25 d5 01 06 00 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG] MAC: 
Mon Jul  8 15:01:37 2019 [DEBUG] 4c 0a 94 6c ba 2f b6 e1 fb c3 22 8d b1 ef 4f b1 
Mon Jul  8 15:01:37 2019 [DEBUG] Payload:
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 c8 01 29 43 62 76 b0 9b-22 68 a6 35 b5 11 62 36 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000010 73 b9 5b 6d 84 17 4e 42-7c fb 25 8d 
Mon Jul  8 15:01:37 2019 [DEBUG]    ---------------------------
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0xac, 0, 0x3, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x0050 (80) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 5
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> AES-CCM -- Total size header: 36 -- Nested datum: no
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] Nonce: 
Mon Jul  8 15:01:37 2019 [DEBUG] 00 d6 0c 90 e0 25 d5 01 08 00 00 00 
Mon Jul  8 15:01:37 2019 [DEBUG] MAC: 
Mon Jul  8 15:01:37 2019 [DEBUG] 97 d9 5d a9 e8 88 93 60 8f be 05 17 9b ae fb 10 
Mon Jul  8 15:01:37 2019 [DEBUG] Payload:
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000000 f7 70 f7 b6 1b 78 f5 64-b0 23 31 32 7c de 80 a7 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000010 d1 68 84 47 17 4d c4 8f-79 4e 84 73 77 66 f1 4f 
Mon Jul  8 15:01:37 2019 [DEBUG] 0x00000020 74 40 2b 10 97 54 57 b7-7b a3 e5 33 
Mon Jul  8 15:01:37 2019 [DEBUG] Header safe: 0x50, 0, 0x5, 0x1
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Mon Jul  8 15:01:37 2019 [DEBUG] Total datum size: 0x001c (28) bytes
Mon Jul  8 15:01:37 2019 [DEBUG] Datum entry type: 0
Mon Jul  8 15:01:37 2019 [DEBUG]    `--> ENTRY TYPE UNKNOWN 1
Mon Jul  8 15:01:37 2019 [DEBUG] Datum value type: 21
Mon Jul  8 15:01:37 2019 [DEBUG] Status: 0x1
Segmentation fault

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Pick a username
Email Address
Password

By clicking “Sign up for GitHub”, you agree to our terms of service and
privacy statement. We’ll occasionally send you account related emails.

Already on GitHub?
Sign in
to your account

Since there were no other comments I did the procedure listed at the URL link above and it went almost perfectly. I did

Code: Select all

sudo dislocker -V /dev/sde1 -umy_password -- /media/bitlocker

and there was no response, which is a good sign.

Then I did

Code: Select all

sudo mount -rw -o loop /media/bitlocker/dislocker-file /media/mount

Again, no response — another good sign.

Then I could open the drive just fine, but all the files and folders were owned by root.
When I try to copy another file to the drive I get:

error.png

So I tried

Code: Select all

sudo chown -Rc mike:mike /media/mount

and it just gave a bunch of these:

Code: Select all

chown: changing ownership of '/media/mount/a-ReadMe.txt': Operation not permitted
chown: changing ownership of '/media/mount/barndiour.txt': Operation not permitted
chown: changing ownership of '/media/mount/cemdiour.txt': Operation not permitted
chown: changing ownership of '/media/mount/encryption_procedure.txt': Operation not permitted

I guess that is not a huge surprise since the drive is mounted NTFS, but where to go from here?

Again, this used to work a year ago. Now I have a slight problem with permissions.

Now when I try to do the whole procedure again:

Code: Select all

sudo dislocker -V /dev/sde1 -umy_password -- /media/bitlocker

I get
Sat Nov 20 08:57:19 2021 [CRITICAL] Failed to open /dev/sde1: No such file or directory

And when I do it for sdf instead (since it is listed as sdf in Disks):

Code: Select all

sudo dislocker -V /dev/sdf1 -umy_password -- /media/bitlocker

I get:

Code: Select all

fuse: mountpoint is not empty
fuse: if you are sure this is safe, use the 'nonempty' mount option

So I guess I need to reboot, but I would rather figure out how to unmount dislocker instead so I can use it again.

Не всегда программы в Linux запускаются как положено. Иногда, в силу разных причин программа вместо нормальной работы выдает ошибку. Но нам не нужна ошибка, нам нужна программа, вернее, та функция, которую она должна выполнять. Сегодня мы поговорим об одной из самых серьезных и непонятных ошибок. Это ошибка сегментации Ubuntu. Если такая ошибка происходит только один раз, то на нее можно не обращать внимания, но если это регулярное явление нужно что-то делать.

Конечно, случается эта проблема не только в Ubuntu, а во всех Linux дистрибутивах, поэтому наша инструкция будет актуальна для них тоже. Но сосредоточимся мы в основном на Ubuntu. Рассмотрим что такое ошибка сегментирования linux, почему она возникает, а также как с этим бороться и что делать.

Что такое ошибка сегментации?

Ошибка сегментации, Segmentation fault, или Segfault, или SIGSEGV в Ubuntu и других Unix подобных дистрибутивах, означает ошибку работы с памятью. Когда вы получаете эту ошибку, это значит, что срабатывает системный механизм защиты памяти, потому что программа попыталась получить доступ или записать данные в ту часть памяти, к которой у нее нет прав обращаться.

Чтобы понять почему так происходит, давайте рассмотрим как устроена работа с памятью в Linux, я попытаюсь все упростить, но приблизительно так оно и работает.

Допустим, в вашей системе есть 6 Гигабайт оперативной памяти, каждой программе нужно выделить определенную область, куда будет записана она сама, ее данные и новые данные, которые она будет создавать. Чтобы дать возможность каждой из запущенных программ использовать все шесть гигабайт памяти был придуман механизм виртуального адресного пространства. Создается виртуальное пространство очень большого размера, а из него уже выделяется по 6 Гб для каждой программы. Если интересно, это адресное пространство можно найти в файле /proc/kcore, только не вздумайте никуда его копировать.

Выделенное адресное пространство для программы называется сегментом. Как только программа попытается записать или прочитать данные не из своего сегмента, ядро отправит ей сигнал SIGSEGV и программа завершится с нашей ошибкой. Более того, каждый сегмент поделен на секции, в некоторые из них запись невозможна, другие нельзя выполнять, если программа и тут попытается сделать что-то запрещенное, мы опять получим ошибку сегментации Ubuntu.

Почему возникает ошибка сегментации?

И зачем бы это порядочной программе лезть, куда ей не положено? Да в принципе, незачем. Это происходит из-за ошибки при написании программ или несовместимых версиях библиотек и ПО. Часто эта ошибка встречается в программах на Си или C++. В этом языке программисты могут вручную работать с памятью, а язык со своей стороны не контролирует, чтобы они это делали правильно, поэтому одно неверное обращение к памяти может обрушить программу.

Почему может возникать эта ошибка при несовместимости библиотек? По той же причине — неверному обращению к памяти. Представим, что у нас есть библиотека linux (набор функций), в которой есть функция, которая выполняет определенную задачу. Для работы нашей функции нужны данные, поэтому при вызове ей нужно передать строку. Наша старая версия библиотеки ожидает, что длина строки будет до 256 символов. Но программа была обновлена формат записи поменялся, и теперь она передает библиотеке строку размером 512 символов. Если обновить программу, но оставить старую версию библиотеки, то при передаче такой строки 256 символов запишутся нормально в подготовленное место, а вот вторые 256 перезапишут данные программы, и возможно, попытаются выйти за пределы сегмента, тогда и будет ошибка сегментирования linux.

Что делать если возникла ошибка сегментирования?

Если вы думаете, что это ошибка в программе, то вам остается только отправить отчет об ошибке разработчикам. Но вы все-таки еще можете попытаться что-то сделать.

Например, если падает с ошибкой сегментации неизвестная программа, то мы можем решить что это вина разработчиков, но если с такой ошибкой падает chrome или firefox при запуске возникает вопрос, может мы делаем что-то не так? Ведь это уже хорошо протестированные программы.

Первое, что нужно сделать — это обновить систему до самой последней версии, возможно, был баг и его уже исправили, а может у вас установлены старые версии библиотек и обновление решит проблему. В Ubuntu это делается так:

sudo apt update
sudo apt full-upgrade

Если это не помогло, нужно обнулить настройки программы до значений по умолчанию, возможно, удалить кэш. Настройки программ в Linux обычно содержатся в домашней папке, скрытых подкаталогах с именем программы. Также, настройки и кэш могут содержаться в каталогах ~/.config и ~/.cache. Просто удалите папки программы и попробуйте снова ее запустить. Если и это не помогло, вы можете попробовать полностью удалить программу, а потом снова ее установить, возможно, какие-нибудь зависимости были повреждены:

sudo apt remove пакет_программы
sudo apt autoremove
sudo apt install пакет_программы

Если есть возможность, попробуйте установить программу из другого источника, например, не из PPA, а более старую версию, из официальных репозиториев.

Когда вы все это выполнили, скорее всего, проблема не в вашем дистрибутиве, а в самой программе. Нужно отправлять отчет разработчикам. В Ubuntu это можно сделать с помощью программы apport-bug. Обычно Ubuntu предлагает это сделать сразу, после того как программа завершилась с ошибкой сегментирования. Если же ошибка сегментирования Ubuntu встречается не в системной программе, то вам придется самим искать разработчиков и вручную описывать что произошло.

Чтобы помочь разработчикам решить проблему, недостаточно отправить им только сообщение что вы поймали Segmentation Fault, нужно подробно описать проблему, действия, которые вы выполняли перед этим, так чтобы разработчик мог их воспроизвести. Также, желательно прикрепить к отчету последние функции, которые вызывала программа (стек вызовов функций), это может очень сильно помочь разработчикам.

Рассмотрим, как его получить. Это не так уж сложно. Сначала запустите вашу программу, затем узнайте ее PID с помощью команды:

pgrep программа

Дальше запускаем отладчик gdb:

sudo gdb -q

Подключаемся к программе:

(gdb) attach ваш_pid

После подключения программа станет на паузу, продолжаем ее выполнение командой:

(gdb) continue

segfault

Затем вам осталось только вызвать ошибку:

segfault1

И набрать команду, которая выведет стек последних вызовов:

(gdb) backtrace

Вывод этой команды и нужно отправлять разработчикам. Чтобы отключиться от программы и выйти наберите:

(gdb) detach
(gdb) quit

Дальше остается отправить отчет и ждать исправления ошибки. Если вы не уверены, что ошибка в программе, можете поспрашивать на форумах. Когда у вас есть стек вызовов, уже можно попытаться, если не понять в чем проблема, то попытаться узнать, не сталкивался ли с подобной проблемой еще кто-то.

Выводы

Теперь у вас есть приблизительный план действий, что нужно делать, когда появляется ошибка сегментирования сделан дамп памяти ubuntu. Если вы знаете другие способы решить эту проблему, напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Creative Commons License

Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

Понравилась статья? Поделить с друзьями:
  • Disconnected exception rust ошибка
  • Disco exe системная ошибка
  • Disco elysium ошибка unity
  • Disciples 3 критическая ошибка при запуске
  • Disciples 3 reincarnation вылетает критическая ошибка