C++ 获取PE文件自校验值的代码

将写代码过程比较重要的一些代码收藏起来,下边资料是关于C++ 获取PE文件自校验值的代码。

#include
#include <imagehlp.h>
#pragma comment(lib,"imagehlp")

{
char szFileName[] = "d:\newupdate.exe";
DWORD dwCheckSum1,dwCheckSum2;
if (MapFileAndCheckSum(szFileName,&dwCheckSum1,&dwCheckSum2) == CHECKSUM_SUCCESS)
{
std::cout<<hex<<"PIMAGE_OPTIONAL_HEADER.CheckSum = "<<dwCheckSum1<<std::endl;
std::cout<<hex<<"重新计算得到CheckSum = "<<dwCheckSum2<<std::endl;
}
return 0;
}

原文地址:https://www.cnblogs.com/uigrls/p/10223906.html

时间: 2024-10-12 22:05:35

C++ 获取PE文件自校验值的代码的相关文章

springboot入门_获取属性文件中的值

在上一篇文章中,记录了用springboot实现输出一个hello world到前台的程序,本文记录学习springboot读取属性文件中配置信息. 框架属性文件(application.properties) 创建一个springboot项目,并引入相关依赖,POM文件如下: 1 <?xml version="1.0" encoding="UTF-8"?> 2 <project xmlns="http://maven.apache.or

Spring 获取propertise文件中的值

Spring 获取propertise文件中的值 Spring 获取propertise的方式,除了之前的博文提到的使用@value的注解注入之外,还可以通过编码的方式获取,这里主要说的是要使用EmbeddedValueResolverAware接口的使用. 一.准备propertise文件 在资源文件夹下面建立好要测试需要的app.propertise文件,里面写几条测试数据,本文主要如图数据. 二.准备配置文件 <?xml version="1.0" encoding=&qu

获取PE文件的输入表信息

输入表是PE文件结构中不可或缺的部分,输入表也称之为"导入表". 要想了解输入表,首先还得先从DLL文件入手.日常生活中我们会看见一些大型软件有很多的DLL格式的文件,这些文件中有很多的导入函数,这些函数不会直接被执行.当一个程序(EXE)运行时,导入函数是被程序调用执行的,其执行的代码是不在主程序(EXE)中的一小部分函数,其真正的代码却在DLL文件中.这时我们就会想,那么EXE主程序是如何找到这些需要导入的函数呢,这就要归结于“输入表”了,输入表就相当于EXE文件与DLL文件沟通的

linux shell 命令获取字符串/文件的MD5值

获取字符串的MD5值: 字符串"hello"的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2a76b9719d911017c592 命令解释: md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取. echo -n : 不打印换行符. cut:  cut用来从标准输入或文本文件中剪切列或域.剪切文本可以将之粘贴到一个文

获取pe文件的文件类型

工程文件petype.cpp通过调用pefile类中的函数获取文件类型. 文件类型的判断通过5个监测点完成. 监测点1:dos头的e_magic 监测点2:nt头的Signature 监测点3:文件头的Characteristics 监测点4:可选头的Magic 监测点5:可选头的Subsystem 通过监测点1和2判断是否是pe文件: 通过监测点3判断文件是否是动态库文件 通过监测点4判断文件是pe32还是pe32+还是rom映像 通过监测点5判断文件是否是0环可执行文件[驱动文件],还是3环

获取pe文件调试符号文件pdb路径

一般如果编译器设置了调试符号文件,则编译后的PE文件中调试字段会包含该路径,在一般的溯源分析中我们可能会注意到: 使用工具:pestudio 如下图,将文件加载进工具后,查看debug字段,可以发现pdb路径.注意:该路径不一定存在... 原文地址:http://blog.51cto.com/antivirusjo/2105150

C# 获取一个文件的MD5值

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication6 { public class Program { public static void Main(string[] args) { string fileName = @"D

PHP无法获取.env文件设置的值

EGPCS指代的是什么? 指的是可以从服务器配置和请求的信息中获取的信息,它包括了environment(环境).GET.POST.cookie.server,对应的全局数组:$_ENV.$_GET.$_POST.$_cookie.$_server 第一:$_ENV会为空,其原因通常是php的配置文件php.ini的配置项为::variables_order:Default Value: “EGPCS”:Development Value: “GPCS”:Production Value: “G

获取单个文件的MD5值

基础知识: MessageDigest FileInputStream 技巧while((len=in.read(buffer,0,1024))!=-1){ } BigInteger public static String getFileMD5(File file) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffer[] = new