使用 LBA 寻址读取文件

使用 LBA 寻址读取文件

是否可以使用 LBA 寻址而不是文件系统位置来读取/执行文件/程序?

例如,我可以/bin/sh使用通过 hdparm 获得的 LBA 扇区位置来执行吗?如果可以,那么该怎么做?

我正在尝试在 Linux Mint(版本 4.14.13+)上执行此操作。

答案1

是否可以使用 LBA 寻址而不是文件系统位置来读取/执行文件/程序

tmpfs您可以一次一个 LBA 地读取和存储数据到第二个文件(如果使用,则基于 RAM ),打开执行位,然后执行您存储的内容。

dd距离并不远,hdparm并且使用起来会更容易一些,如果你在诸如等dd原始块设备上使用,你实际上是在做同样的事情。/dev/sda

例如,我可以使用通过 hdparm 获得的 LBA 扇区位置来执行 /bin/sh 吗?

  • 您必须执行与底层文件系统相同的操作。对于 ext2/3/4,这意味着解析分区表、查找超级块、搜索 inode 表等。

  • 这通常不是一件小事。您必须确切了解文件系统的功能及其工作原理。您可以研究 Ext2/3/4 的源代码,或有关该主题的任何文本。对于 NTFS,有很多类似的信息,既由 Microsoft 提供,也通过逆向工程发现。

  • 如果您正在寻找“易于破解”的文件系统,请尝试 FAT(不是 FAT32)。它非常古老,因此文档齐全。

相关内容