对给的cap.bin进行读写操作,看了官方wp才知道是bmp格式,
这里v11就是filew,写的是同一个文件
核心加密段在这里,但是根据这样来写应该是这样
def enc_fun(enc):
i=0
while (i<len(enc)):
v14=i+3
v15=((0x4EC4EC4F*4*v14%0xffffffff)>>32)
i+=1
enc[i-1]^=ord(key[(v14%0xffffffff - 13 * ((v15%0xffffffff >> 31) + (v15%0xffffffff >> 2)))%len(key)-2])
enc_arr=[]
with open("cap.bin","rb") as f:
a=f.read()
for i in range(len(a)):
enc_arr.append(a[i])
f.close()
enc_fun(enc_arr)
with open("fuck","wb+") as f1:
for i in enc_arr:
f1.write(i.to_bytes(1,"big"))
最开始的时候忘了C语言变量有长度的,python一直报溢出,加个0xffffffff就好了,然后就直接写文件了