我的问题有点独特。 我目前正在为我的计算机取证类做一个项目。 该项目旨在隐藏调查人员的磁盘数据。 应该达到的方法是将“干净”文件的字节写在“坏”文件上。 一旦覆盖,“坏”文件被删除。
这个概念听起来很简单,但我和我的合作伙伴观察到的是有趣的。 如果我们用python脚本打开一个文件,我们可以轻松地覆盖与该文件相关联的内存(使用ddvalidation)。 我们也可以从脚本中轻松删除一个文件。 然而,写入然后删除结果在实际上没有写入发生,只有文件的删除。
这从操作系统优化的angular度来看是有道理的。 从这一点来看,如果我们把写作和删除分成两个独立的脚本,并且由三分之一控制,我们认为它可能会起作用。 但是,即使我们将脚本作为另一个脚本的subprocess运行,也会发生同样的情况。 我们已经尝试使用bash脚本进行删除处理,而不是使用纯Python,而且还没有任何粘附。
这个项目本来就是这样一个小小的反辩证法工具,但是这个特定的项目由于这个问题已经引起了我们的全部关注。 有没有人有一个想法,为什么发生这种情况,我们可以做什么向前迈进?
你可以使用mingw编译的程序访问其他程序的内存吗?
我可以确定我是否在VB6的Win7操作系统?
Linux命令来检测程序的计算机资源使用情况
了解操作系统启动加载 – 汇编
如何使用C / java检测活动的应用程序?
我们知道这可以用C等来实现,但是我们想用python解决这个问题,因为它提供了有趣的约束。
—编辑—这是从我们的控制器的一个片段,它与相关的参数调用“ghost.py”。
相关的代码如下:
proc = subprocess.Popen(['python','ghost.py','-c','good.txt','-d','/mnt/evil.txt'],stdout=subprocess.PIPE,) files = proc.communicate() for i in files: if i != None and i != "n": os.system("./del.sh " + i)
如何从正在运行的内核模块中确定一个linux内核是32位还是64位
许可和使用Linux内核
在Linux中的工作者线程
确定一个过程的状态
使用子过程不会改变设计的任何有趣的方面,所以不要使用它们。 你可能需要os.fsync() 。 试试这个模式:
myfile.write('all of my good data') myfile.flush() os.fsync(myfile.fileno()) myfile.close() os.remove(myfile)
参考: https : //docs.python.org/2/library/os.html#os.fsync
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。