有人可以帮我理解这个命令吗?

有人可以帮我理解这个命令吗?
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 ...其他东西,都是一个品味问题。

仅当密码模式和密钥正确时才会起作用。小心不要写入结果设备。

相关内容