dmsetup create crypt1 --table "0 `blockdev --getsize /dev/sdb2` crypt aes-cbc-essiv:sha256 <Put the 16-byte hex key here> 0 /dev/sdb2 0"
我从第一个答案的第6步得到的这里。
我正在尝试查看 Android 采用的 SD 卡上的文件。
该卡突然停止在我的手机上工作,我现在正在尝试检索我的文件,然后按“忘记”将其从手机上卸载并返回。正常使用手机的内部存储器。
答案1
它手动创建一个设备映射器目标。
这些参数的含义参见kernel.org 上的 DM-Crypt
<cipher> <key> <iv_offset> <device path> <offset> [<#opt_params> <opt_params>]
因此,在您的情况下,映射涵盖范围 0 到blockdev --getsize /dev/sdb2
(即整个设备)、 type crypt
、 cipher aes-cbc-essiv:sha256
、 key <Put the 16-byte hex key here>
、 IV offset 0
、 device path /dev/sdb2
、 offset 0
。
创建相同映射的非手动方法是cryptsetup
:
cryptsetup open \
--type plain \
--cipher aes-cbc-essiv:sha256 \
--key-size 128 \
--key-file your/binary/key \
/dev/loop0 \
crypt1
结果是:
# dmsetup table crypt1 --showkeys
0 134215680 crypt aes-cbc-essiv:sha256 08d827d5b10dc5816e5edddca6fe0e30 0 7:0 0
这就是这些设备映射器目标的样子。
无论你是用cryptsetup
它来创建它,还是使用dmsetup create ...
其他东西,都是一个品味问题。
仅当密码模式和密钥正确时才会起作用。小心不要写入结果设备。