#include "windows.h"
#include "stdio.h"
#include "string.h"
int static m=0;
void ifpe(char *p)
{FILE *fp;
long fanew;
long t
#include "windows.h"
#include "stdio.h"
#include "string.h"
int static m=0;
void ifpe(char *p)
{FILE *fp;
long fanew;
long temp;
fp=fopen(p,"rb");
fseek(fp,60,0);
fread(&fanew,4,1,fp);
//printf("%x\n",fanew);
rewind(fp);
fseek(fp,fanew,0);
fread(&temp,4,1,fp);
//printf("%x",temp);
if(temp==0x4550)
printf("%s is PE File\n",p);
else
printf("Not a PE File");
void findfile(char *cpath)
{
WIN32_FIND_DATA fd;
HANDLE hfd;
int r,n=0,h;
char subdir[MAX_PATH];
char cdir[MAX_PATH];
char pe[256];
GetCurrentDirectory(MAX_PATH,cdir);
SetCurrentDirectory(cpath);
hfd=FindFirstFile("*.*",&fd);
if(hfd!=INVALID_HANDLE_VALUE)
{do
{
if(fd.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
{
if(fd.cFileName[0]!='.')
{
sprintf(subdir,"%s\\%s",cpath,fd.cFileName);
findfile(subdir);}
}
else
{printf("%s\\%s",cpath,fd.cFileName);
ifpe(pe);
m++;
}
}while(r=FindNextFile(hfd,&fd));}
}
int main()
{char *p[7]={"C:\\","D:\\","E:\\","F:\\","g:\\","h:\\","i:\\"};
int j=0;
for(j=0;j<7;j++)
findfile(p[j]);
printf("\n当前文件总数是:%d\n",m);
return 0;
}
展开
全部