python获取目录下所有exe并导出火绒禁网规则json文件

使用python获取指定目录下所有exe文件,并生成火绒可导入的json文件,将之导入火绒安全设置--系统防护--联网控制中,从而实现应用禁网

点击查看代码
from pathlib import Path
import json


# 找出路径下所有exe
def find_all_exe(dirs):
    files = []
    # 过滤规则
    filter_rulers = ["*.exe","*.dll"]
    for filter in filter_rulers:
        for dir_cur in dirs:
            p = Path(dir_cur).rglob(filter)
            for i in p:
                # print(i)
                # 获取地址字符串
                file_path = str(i)
                # 地址转义
                new_file = "\\".join(file_path.split("\\"))
                files.append(new_file)
    return files


# 将字典格式化为火绒导入规则json文件
def format_data_to_huorong(data_lst):
    res_dict = {
        "ver":
        "5.0",
        "tag":
        "appnetctrl",
        "data": []
    }

    for path in data_lst:
        cur_dict = {"procname": path, "block": True}
        res_dict["data"].append(cur_dict)

    return res_dict

# 获取今天的日期
def get_today_date():
    import datetime
    today = datetime.date.today()
    return today.strftime("%Y-%m-%d")
    
# 获取时间戳后四位
def get_time_stamp():
    import time
    return str(int(time.time()))[-4:]

# 将字典写入到文件
def dict_to_json_write_file(dict):
    file_name = f'火绒规则生成-{get_today_date()}-{get_time_stamp()}.json'
    print(file_name)
    with open(file_name, 'w', encoding="utf-8") as f:
        json.dump(dict, f, indent=2)
        f.write("\r\n")


if __name__ == '__main__':
    print("begin")


    mdirs = [
        r"C:\Program Files (x86)",

    ]

    all_files = find_all_exe(mdirs)
    huorong_dict = format_data_to_huorong(all_files)
    dict_to_json_write_file(huorong_dict)

    print("done")


导入规则以后,记得要打开防护中心的开关,才能启用规则

posted @ 2022-02-22 12:23  Dapenson  阅读(271)  评论(0编辑  收藏  举报