【问题标题】:How to delete exact file from filesystem passing OS features?如何从传递操作系统功能的文件系统中删除确切的文件?
【发布时间】:2012-06-28 22:28:19
【问题描述】:

我有:

  • 安装的操作系统带有一些文件系统作为 ext3 或 ntfs 或 smth else
  • 此文件系统上的确切文件,如 Ozzy.mp3

我想要:

  • 删除此文件传递操作系统及其功能,但仅删除此文件而不损坏其他内存

我该怎么做?

【问题讨论】:

  • “删除此文件传递操作系统及其功能”是什么意思?
  • 表示不使用操作系统内核端的syscalls/sysenters进行文件管理

标签: file memory system delete-file


【解决方案1】:

如果您想完全绕过操作系统擦除文件,您的程序将需要包含更新每个文件系统的目录结构所需的代码,对于您希望与之兼容的每个文件系统。

我想这可能是可行的,但远非易事,而且您最终会得到一个相当庞大的程序(如果您需要支持多个文件系统,则需要大量代码)。

【讨论】:

    【解决方案2】:

    如果您没有使用操作系统工具来做这些事情,您需要:

    • 作为具有使用 MMIO 或旧版 IO 端口访问驱动设备的权限的进程运行(仍需要调用操作系统系统调用来实现此目的)
    • 编写代码直接与设备交互
    • 写文件系统驱动
    • 找到一种方法来发现操作系统的文件系统驱动程序发生了变化

    另一种方法是编写 OS stub 仅用于操作 FS,但这真的,真的没有意义,因为有这样的工具可用。


    总结:这样做是没有意义的;如果您需要绕过文件系统的安全设施,您必须在互联网上找到一个工具或放弃(因为,我假设您,您甚至不想编写存根裸机应用程序来执行此操作)。本网站并非旨在帮助人们绕过安全功能。

    【讨论】:

    • 它确实有道理,但在教育方面,你为什么认为我不做事,我真的想学习和做?
    • @user1131997,你没有给出你的问题的背景,比如你想这样做的原因。 meta.stackexchange.com/questions/66377/what-is-the-xy-problem。啊,刚刚检查了你的个人资料。开始了。这个问题,比起remove()的问题,绝对是进步了,但还是不够。
    • 原因:教育目的,因为我想知道操作系统到底是如何工作的,FS 是如何工作的,它如何保存信息(什么数据结构:二叉树或其他),我该怎么做让它绕过操作系统,导致所有问题都以此为目标。上下文已尽可能清楚地给出,但更清楚的是无法给出。
    • @user1131997,在你的问题中有“我想删除它”,而不是“我想了解 FSes 和其他东西”。为了了解文件系统是如何工作的,我建议从有关该主题的各种 Wikipedia 文章开始阅读,并阅读优秀的 www.nobius.org/~dbg/practical-file-system-design.pdf。你选择的方式是最糟糕的学习方式。永远不要从“如何实现”看它。看法;而是尝试在书籍、维基百科和技术文档中找到所有可能的信息。
    • 为什么实施不好,如果有人这样做,为什么你不能重复一步一步来更好地理解,这甚至不是现场练习,而不仅仅是知识,你可以实施并且它给出了结果和工作,那么你的知识和编程技能也是完美的
    猜你喜欢
    • 1970-01-01
    • 2015-12-03
    • 2013-12-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多