分析PE结构的时候,想自己把里边的结构理解后打印LoadPE分析的东西,在此先把读取PE 结构的C++代码贴出来:
#include <iostream>
#include <iomanip>
#include <windows.h>
#include <fstream>
#define MAX 16*10000
using namespace std;
int value[MAX];
DWORD FileSize()
{
TCHAR szFileName[MAX_PATH]=TEXT("D:\\vs2010\\LoadPE\\Debug\\PE.exe");
HANDLE hFile=CreateFile(szFileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
if (INVALID_HANDLE_VALUE==hFile)
{
if (0==GetLastError())
{
printf("file not exist");
}
return 0;
}
DWORD dwFileSize = 0;
dwFileSize = GetFileSize(hFile,NULL);
CloseHandle(hFile);
return dwFileSize;
}
int _tmain(int argc, _TCHAR* argv[])
{
ifstream fin("D:\\vs2010\\LoadPE\\Debug\\PE.exe",ios::binary);
if(!fin)
exit(0);
char c;
long i = 0,j = 0;
cout.setf(ios::uppercase);
cout<<setfill('0');
D