如何在 Python 中快速从 PE 二进制文件中提取 AutoIt 脚本

问题描述

我有很多PE二进制文件要分析,有些是恶意的,有些不是,但我们可以知道编译后的AutoIt脚本和其他资源(如.exe/.jpg/.dll)二进制文件,我正在尝试从这些二进制文件提取此资源。

目前我正在使用名为:AutoIt-Ripper 的工具,好吧,它可以完成工作,但性能很慢,有些二进制文件可以在几秒钟内提取出来,有些二进制文件甚至需要 20 分钟。

以下是一些示例:

Some samples

部分代码块:

from autoit_ripper import extract,AutoItVersion

def extract_autoit(path_name):
    with open(path_name,'rb') as f:
        file_data = f.read()

    data = extract(data=file_data,version=AutoItVersion.EA06)
    output_path = f"output/{path_name.split('/')[-1]}"
    if data:
        output = Path(output_path)
        if not output.is_dir():
            log.info("The output directory doesn't exist,creating it")
            output.mkdir()

        for filename,content in data:
            filename = basename(filename)
            log.info(f"Storing result in {(output / filename).as_posix()}")
            (output / filename).write_bytes(content)

如果二进制文件只包含 AutoIt 脚本,AutoIt-Ripper 可以在几秒钟内提取 AutoIt 脚本,但如果二进制文件包含更多,则可能需要很长时间

我正在寻找一些帮助,以减少反编译时间,寻找可能以秒为单位的平均反编译。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)