Expermicid Posted June 16, 2012 Share Posted June 16, 2012 (edited) [lenguaje=cpp]#include #include /***************************\ * _ * * | | * * | |__ * * Coder |____|inkgl * * Fecha: 02/01/11 * \***************************/ bool existe_EOF(char *ruta) { //-> Estructuras necesarias IMAGE_DOS_HEADER idh; IMAGE_NT_HEADERS inh; IMAGE_SECTION_HEADER ish; //-> Variables necesarias FILE *fp; DWORD iTam; DWORD hTam; //Abrimos el archivo para leer en binario fp=fopen(ruta,"rb"); if(fp!=NULL) { fseek(fp,0,SEEK_END); iTam=ftell(fp); rewind(fp); fread(&idh,sizeof(IMAGE_DOS_HEADER),1,fp); fseek(fp,idh.e_lfanew,SEEK_SET); fread(&inh,sizeof(IMAGE_NT_HEADERS),1,fp); fseek(fp,idh.e_lfanew + sizeof(IMAGE_NT_HEADERS) + sizeof(IMAGE_SECTION_HEADER) * (inh.FileHeader.NumberOfSections - 1),SEEK_SET); fread(&ish,sizeof(IMAGE_SECTION_HEADER),1,fp); fclose(fp); hTam=ish.PointerToRawData + ish.SizeOfRawData; if(hTam < iTam) return true; else return false; } } //->USO int main() { if(existe_EOF("C:\\salida.exe")) printf("El ejecutable tiene EOF"); else printf("El ejecutable no tiene EOF"); getchar(); return 0; }[/lenguaje] Autor: Linkgl Edited February 16, 2014 by Expermicid Link to comment Share on other sites More sharing options...
Recommended Posts