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读取0xBABEBABE的每四个字节(DWORD)和异或_Python_File_Binary_Hex_Xor - Fatal编程技术网

用Python读取0xBABEBABE的每四个字节(DWORD)和异或

用Python读取0xBABEBABE的每四个字节(DWORD)和异或,python,file,binary,hex,xor,Python,File,Binary,Hex,Xor,我有一个恶意软件样本要分析一个学校项目。有效负载通过使用0xBABEBABE每4个字节(DWORD)进行XORing编码。我知道这一点,因为用它对前4个字节进行XORing得到了0x4D5A9000(MZ头)。我想要一个脚本,可以自动化的过程,以便我可以解码的文件 以下是我迄今为止所尝试的: xor_key = 0xfe result = bytearray('') with open("myfile.bin","rb") as encoded_file: for one_byte in

我有一个恶意软件样本要分析一个学校项目。有效负载通过使用0xBABEBABE每4个字节(DWORD)进行XORing编码。我知道这一点,因为用它对前4个字节进行XORing得到了0x4D5A9000(MZ头)。我想要一个脚本,可以自动化的过程,以便我可以解码的文件

以下是我迄今为止所尝试的:

xor_key = 0xfe
result = bytearray('')
with open("myfile.bin","rb") as encoded_file:
    for one_byte in encoded_file.read():
        result.append(one_byte^xor_key)
但一次只能处理1字节的数据


谢谢

我已经解决了这个问题,但如果有人有一天遇到这样的问题,这可能会有所帮助:)


可以你已经试着自己解决这个问题了吗?如果是的话,你到底是在哪里被卡住的?一般来说,人们对“请为我编写此代码”请求(看起来像这样)的响应不太好,但对“我尝试了此方法,现在我卡住了/困惑了,请帮助”请求的响应很好;-)你应该提出你的问题,包括你尝试过的内容,而不是在评论中发表;-)谢谢你,吸烟者:)
import struct
from functools import partial

XOR_key = 0xbabebabe
XORed_data = bytearray('')
with open('binaryFile.bin','rb') as fileToXOR:
    for chunk in iter(partial(fileToXOR.read, 4), ''):
        data = struct.unpack('I', chunk)[0]
        if data != 0:
            result = data ^ XOR_key
            XORed_data += bytearray(struct.pack("I", result))
        else:
            XORed_data += bytearray("\x00\x00\x00\x00")

with open('decrypted_file.bin','wb') as XORedFile:
    XORedFile.write(XORed_data)