C++ ClamAV如何以编程方式进行PE节扫描?

C++ ClamAV如何以编程方式进行PE节扫描?,c++,c,hash,sha1,portable-executable,C++,C,Hash,Sha1,Portable Executable,从中,我们可以看到ClamAV查看PE文件(可执行文件或动态库)中的某些部分,以便构建一个可以与其匹配的指纹。他们提到我可以使用*.mdb文件和*.msb文件(在CVD文件中)查找PE文件的PE部分的md5、sha1和sha256哈希 如何在C++或C中,以编程方式打开PE文件,找到这些部分,并与这些散列匹配?RaAav当然实现了自己的PE解析器——这并不困难,规格是公开的。但是如果你在Windows上工作,IMAGEHLP.DLL可以提供一些帮助(在平台SDK中,已经定义了PE格式的一部分的磁

从中,我们可以看到ClamAV查看PE文件(可执行文件或动态库)中的某些部分,以便构建一个可以与其匹配的指纹。他们提到我可以使用*.mdb文件和*.msb文件(在CVD文件中)查找PE文件的PE部分的md5、sha1和sha256哈希


如何在C++或C中,以编程方式打开PE文件,找到这些部分,并与这些散列匹配?

RaAav当然实现了自己的PE解析器——这并不困难,规格是公开的。但是如果你在Windows上工作,IMAGEHLP.DLL可以提供一些帮助(在平台SDK中,已经定义了PE格式的一部分的磁盘结构)。我不知道C或C++,但是GO似乎有一个PE格式的模块——@ MattooTiali,自定义分析器不会是PE。我试图确定它检查PE文件、找到它想要的部分并生成哈希的起点@沃洛米克:是的,可能就是这样。ClamAV肯定实现了自己的PE解析器——这并不难,规范是公开的。但是如果你在Windows上工作,IMAGEHLP.DLL可以提供一些帮助(在平台SDK中,已经定义了PE格式的一部分的磁盘结构)。我不知道C或C++,但是GO似乎有一个PE格式的模块——@ MattooTiali,自定义分析器不会是PE。我试图确定它检查PE文件、找到它想要的部分并生成哈希的起点@沃洛米克:是的,可能就是这样。