Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,是否可以将文件解密到内存中并通过命令行使用它?_Python_File_Memory - Fatal编程技术网

在Python中,是否可以将文件解密到内存中并通过命令行使用它?

在Python中,是否可以将文件解密到内存中并通过命令行使用它?,python,file,memory,Python,File,Memory,我想知道是否有可能获取一个预加密文件(即AES加密文件),然后将其解密到内存空间中,然后在内存中作为一个文件在命令行上执行 总体目标是使用一个名为Yara的程序来扫描恶意文件。但是,我将在一个环境中运行它,在这个环境中,我希望对规则集进行加密/编码,以便运行它的用户工作站无法以明文形式获取规则集。命令行如下所示: yara.exe(规则集文件)(要扫描的目录或文件) 现在我有了它的设置,我解密了一个预加密的AES文件,该文件也是在Base64中编码的,然后将其临时写入一个文件并用于扫描,扫描完成

我想知道是否有可能获取一个预加密文件(即AES加密文件),然后将其解密到内存空间中,然后在内存中作为一个文件在命令行上执行

总体目标是使用一个名为Yara的程序来扫描恶意文件。但是,我将在一个环境中运行它,在这个环境中,我希望对规则集进行加密/编码,以便运行它的用户工作站无法以明文形式获取规则集。命令行如下所示:

yara.exe(规则集文件)(要扫描的目录或文件)

现在我有了它的设置,我解密了一个预加密的AES文件,该文件也是在Base64中编码的,然后将其临时写入一个文件并用于扫描,扫描完成后将其删除

这是因为它有一个物理规则集文件要处理,但要使其更加安全,需要将其保存,以便解密的规则集只存在于内存中,然后通过上面的命令行使用。可能回答了我自己的问题,但我认为这是不可能的,因为文件存在于内存中,并且程序希望使用物理文件。我能做到这一点的唯一方法是,我将程序本身编辑为包含此加密文件作为资源或其他内容,并在内存空间中对其进行解码,然后在默认情况下使用它。我想我将不得不接受我目前正在做的事情。还有其他人有什么建议吗?

看看这些文档,这似乎是可能的。使用pycrypto或等效工具将规则文件解码到内存中,然后使用

rules = yara.compile(source=my_decoded_rules)