首页 > 解决方案 > 使用十六进制值 PYTHON 覆盖文件中的咬痕

问题描述

我有一个十六进制表示的值“c”:0x515d6e39。这意味着咬合看起来如下:51 5D 6E 39. 我的任务是转到已经存在的文件,打开它并用上面提到的咬合替换位​​置(例如)38-41 的咬合。

我试图以“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”不支持缓冲区接口

标签: pythonhexbyteoverwrite

解决方案


推荐阅读