python 读txt后写入成二进制文件

今天扒了一个病毒的dll文件。dll的资源里面放着一个数组,被引用经过异或操作后会转成一个新的dll

病毒调试中打不开,因为需要操作才能获得dll所以也没法直接从内存里拖,只能扒数组手动合成了

网上找不到现成的方法,就自己弄了一个

import os
import re

file_path = " 数组txt "
result_path = "目标dll"
file_open = open(file_path)
result = []

for key in file_open:
    temp2 = []
    # 分离一行 其中由于换行符会分离最后一个空
    temp = re.split(",|\\t|\\n", key)
    #处理数字
    for k2 in temp:
        if k2 != "":
            temp2.append(int(k2) ^ 113)  #异或操作
    result.append(temp2)
file_open.close()
# 开始写入
file_open2 = open(result_path, "wb")
for key in result:
    for k2 in key:
        if k2 != "":

            k2 = bytes([k2]) #这个强制类型转换的格式挺坑的,格式写错不会报错,但是会预留空数组。程序运行完生成的文件里什么都没有

            file_open2.write(k2)

    
file_open2.close()

  

posted @ 2021-03-04 15:34  Zigzagggg  阅读(651)  评论(0)    收藏  举报