关于PE文件中校验和(checksum)的计…
来源:互联网 发布:网络论坛系统cms 编辑:程序博客网 时间:2024/05/30 20:09
#include
#include
#include
#include
#pragma comment(lib,"imagehlp")
//extern"C" PIMAGE_NT_HEADERS CheckSumMappedFile(PVOIDBaseAddress, DWORD FileLength, PDWORD HeaderSum, PDWORDCheckSum );
usingnamespace std;
intmain()
{
char buf[300];
ZeroMemory(buf,300);
gets(buf); //输入文件名
printf("name:%s\n",buf);
HANDLE hFile = CreateFile(buf,
GENERIC_READ | GENERIC_WRITE,
FILE_SHARE_READ,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL); //打开文件
if(hFile == INVALID_HANDLE_VALUE)
{
printf("Open File Failed!\n");
return 0;
}
HANDLE hFileMapping = CreateFileMapping(hFile,
NULL,
PAGE_READWRITE,
0, 0, 0); //创建文件的内存映射
if(hFileMapping == NULL)
{
printf("Create Mapping FileFailed!\n");
CloseHandle(hFile);
return 0;
}
LPVOID lpBase = MapViewOfFile(hFileMapping, FILE_MAP_READ | FILE_MAP_WRITE, 0, 0, 0); //得到文件映射的初地址
if(lpBase == NULL)
{
printf("Failed to Map theFile!\n");
CloseHandle(hFileMapping);
CloseHandle(hFile);
}
DWORD HeaderSum,CheckSum;
int len=114688; //文件的长度,此处写死,不同的程序需要修改。
//HeaderSum=*(DWORD)
CheckSumMappedFile(lpBase, len, &HeaderSum, &CheckSum);//调用函数计算校验和
cout<<HeaderSum<<" " <<CheckSum<<endl;
getchar();
getchar();
return 0;
}
#include
#include
#include
#pragma comment(lib,"imagehlp")
//extern"C" PIMAGE_NT_HEADERS CheckSumMappedFile(
using
int
{
}
阅读全文
0 0
- 关于PE文件中校验和(checksum)的计…
- 关于PE文件中的校验和
- 调整PE文件的校验和
- Checksum 校验和
- Checksum 校验和
- 计算PE文件校验和的C语言实现
- PE Checksum的C++实现
- 校验和代码(CheckSum)
- MD5 校验和(checksum)
- LSP校验和(Checksum)
- 网际校验和(Internet Checksum)算法的特征
- 容易被忽视的IP报头中的Checksum校验和
- IP头TCP头的checksum校验和计算
- 5.6开始的校验 checksum
- CheckSum校验
- checksum校验
- checksum校验
- 关于去除PE文件中函数修饰的做法
- PE文件结构详解(六)重定位 …
- /****** Script for SelectTopNRows command from SSMS ******/
- 当数据库列名和关键字相同时,数据…
- 关于python使用One Class&nbs…
- 关于一个国外的基于异常的入侵检测…
- 关于PE文件中校验和(checksum)的计…
- Django框架效率问题的解决方法和总…
- 蒙特卡洛估值几种不同的计算方式(Python)
- 基于LLVM IR的几款程序分析工…
- 七、基本数据类型对象包装类
- 云计算IAAS调研报告
- deeplearning权重以及dl4j 权重
- 基于LLVM 中间表示(IR)分析实例
- Clang 静态分析工具的使用