send
Grupo de Telegram
play_arrow
Este sitio utiliza cookies propias y de terceros. Si continúa navegando consideramos que acepta el uso de cookies. OK Más Información.

[C] PEFileSize function

  • 0 Respuestas
  • 1178 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado The Swash

  • *
  • Underc0der
  • Mensajes: 18
  • Actividad:
    0%
  • Reputación 0
  • Return to reversing!
    • Ver Perfil
    • Email
  • Skype: the_swash@outlook.com
« en: Enero 25, 2011, 02:16:11 am »
Código: C
  1. /*
  2.    [Get size of file to base of PE]
  3.    - Programmer: The Swash
  4.    - Dedicated: Zero, Thor Psymera, Steve10120
  5. */
  6.  
  7. #include <windows.h>
  8. #include <stdio.h>
  9. #define RB "rb"
  10.  
  11. int PEFileSize(char * fPath);
  12.  
  13.  
  14. int main(void)
  15. {
  16.     You are not allowed to view links. Register or Login("File size: %i", PEFileSize("C:\\test.exe"));
  17.     You are not allowed to view links. Register or Login();
  18. }
  19.  
  20. int PEFileSize(char * fPath)
  21. {
  22.     IMAGE_DOS_HEADER IDH;
  23.     IMAGE_NT_HEADERS INH;
  24.     IMAGE_SECTION_HEADER ISH;
  25.     FILE * lpFile;
  26.     int sTemp = 0, i;
  27.    
  28.     lpFile = You are not allowed to view links. Register or Login(fPath,RB);
  29.     if (lpFile != NULL)
  30.     {
  31.                You are not allowed to view links. Register or Login(lpFile, 0, SEEK_SET); // Seek to begin of file
  32.                You are not allowed to view links. Register or Login(&IDH, sizeof(IDH), 1, lpFile); // Read 64 bytes to IDH struct
  33.                if (IDH.e_magic == IMAGE_DOS_SIGNATURE) // If IDH.e_magic = (MZ)
  34.                {
  35.                                You are not allowed to view links. Register or Login(lpFile, IDH.e_lfanew, SEEK_SET); // Seek in file in begin of NT Headers (PE)
  36.                                You are not allowed to view links. Register or Login(&INH, sizeof(INH), 1, lpFile); // Read in structure 248 bytes
  37.                                if (INH.Signature == IMAGE_NT_SIGNATURE) // If INH.Signature = (PE)
  38.                                {
  39.                                                  for (i = 0; i < INH.FileHeader.NumberOfSections; i++) // go for all sections
  40.                                                  {
  41.                                                      You are not allowed to view links. Register or Login(lpFile, IDH.e_lfanew + sizeof(INH) + sizeof(ISH)*i, SEEK_SET); // Seek in actual section
  42.                                                      You are not allowed to view links. Register or Login(&ISH, sizeof(ISH), 1, lpFile); // Read section
  43.                                                      sTemp += ISH.SizeOfRawData; // Save sizeofrawdata of section
  44.                                                  }
  45.                                                  sTemp += INH.OptionalHeader.SizeOfHeaders;
  46.                                                  You are not allowed to view links. Register or Login(lpFile);
  47.                                                  return sTemp;
  48.                                }
  49.                }
  50.                else
  51.                {
  52.                    return -1;
  53.                }
  54.     }
  55.     else
  56.     {
  57.         return -1;
  58.     }
  59. }
« Última modificación: Febrero 08, 2014, 06:11:41 pm por Expermicid »

 

¿Te gustó el post? COMPARTILO!



Apagado-Shutdown Function(Windows)

Iniciado por Jhonjhon_123

Respuestas: 3
Vistas: 2063
Último mensaje Noviembre 13, 2012, 03:33:22 pm
por daryo