使用十六进制值PYTHON覆盖文件中的位

时间:2018-11-19 14:00:15

标签: python hex byte overwrite

我用十六进制表示形式的值为“ c”:0x515d6e39。这意味着叮咬的外观如下:51 5D 6E 39.我的任务是转到已存在的文件,打开该文件,并用上述叮咬替换掉38-41st位置的叮咬。

我试图以“ rb”模式打开文件。然后,我使用搜索功能转到所需位置。然后使用值为“ c”的写函数,但是它不起作用。有人可以帮我解决这个问题吗?

我附上我的代码:

import binascii


def main():
    a=963534161
    b=bytearray.fromhex(format(a, 'x'))
    b.reverse() ## I wanted to reverse my bites
    c=hex(int(binascii.hexlify(b),16))
    print c

    file=r'D:\Programs\WinKalk\winkalk.7zip' ## path to any file
    f=open(file, 'wb')
    f.seek(38) ## for example position 38th
    f.write(c)
    f.close()



if __name__ == '__main__':
    main()

错误:“ str”不支持缓冲区接口

0 个答案:

没有答案