elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
28 Mayo 2012, 21:42  


Tema destacado: [AIO elhacker.NET] Compilación herramientas análisis y desinfección malware

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General (Moderador: Littlehorse)
| | |-+  [Delphi] PEFileSize function
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Delphi] PEFileSize function  (Leído 508 veces)
Khronos14

Desconectado Desconectado

Mensajes: 285


A lie is a lie


Ver Perfil WWW
[Delphi] PEFileSize function
« en: 25 Enero 2011, 17:52 »

Código
(*
* PEFileSize function, inspired by The Swash
* by Khronos
*)

 
function PEFileSize(FileName: string): Cardinal;
var
i: integer;
FileStream: TFileStream;
IDH: IMAGE_DOS_HEADER;
INH: IMAGE_NT_HEADERS;
ISH: IMAGE_SECTION_HEADER;
begin
result:= 0;
 try
   FileStream:= TFileStream.Create(FileName, fmOpenRead or fmShareDenyWrite);
   FileStream.Read(IDH, SizeOf(IDH));
   if IDH.e_magic = IMAGE_DOS_SIGNATURE then
     begin
       FileStream.Seek(IDH._lfanew, 0);
       FileStream.Read(INH, SizeOf(INH));
       if INH.Signature = IMAGE_NT_SIGNATURE then
         begin
           for I := 0 to INH.FileHeader.NumberOfSections - 1 do
             begin
               FileStream.Seek(IDH._lfanew + SizeOf(INH) + SizeOf(ISH) * i, 0);
               FileStream.Read(ISH, SizeOf(ISH));
               result:= result + ISH.SizeOfRawData;
             end;
           result:= result + INH.OptionalHeader.SizeOfHeaders;
         end;
     end;
 finally
   FileStream.Free;
 end;
end;
 

Saludos.


En línea

The Swash

Conectado Conectado

Mensajes: 103


Programmer


Ver Perfil WWW
Re: [Delphi] PEFileSize function
« Respuesta #1 en: 25 Enero 2011, 17:53 »

Muy bien Khronos, gracias por la traducción y me alegra que te aya gustado.
 ;D


En línea
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines