OSDN Git Service

*** empty log message ***
authorkoinec <>
Sat, 10 Sep 2011 05:42:47 +0000 (05:42 +0000)
committerkoinec <>
Sat, 10 Sep 2011 05:42:47 +0000 (05:42 +0000)
include/libgoblin.h
libgoblin/drd64_libgoblin_analyze.c
libgoblin/drd64_libgoblin_binfo.c
libgoblin/drd64_libgoblin_binfo.h
libgoblin/drd64_libgoblin_checkbin.c
libgoblin/drd64_libgoblin_checkbin.h
libgoblin/drd64_libgoblin_elf.c
libgoblin/drd64_libgoblin_elf.h
libgoblin/drd64_libgoblin_system.c
libgoblin/elftest.c

index c1ebe38..af583bf 100644 (file)
@@ -51,17 +51,17 @@ Comment:
 /* drd64_libgoblin_?????.c Functions =====================*/
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_Init(
+       LibGoblin_Init(
                void );
 
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_Term(
+       LibGoblin_Term(
                void );
 
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_AnalyzeBinary(
+       LibGoblin_AnalyzeBinary(
                Byte    *p_data,
                DWord   dw_size );
 
index cafb678..c4be3f2 100644 (file)
@@ -40,17 +40,17 @@ Comment:
 
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_AnalyzeBinary(
+       LibGoblin_AnalyzeBinary(
                Byte    *p_data,
                DWord   dw_size )
 {
        int             i_bid;
        int             i_bintype;
        int             i_err;
-       Drd64_LibGoblin_BinaryInfo      *p_bin;
+       LibGoblin_BinaryInfo    *p_bin;
 
        /* Alloc BinaryInfo Struct */
-       p_bin   = Drd64_LibDrd64_BinInfo_AllocBinInfo();
+       p_bin   = LibDrd64_BinInfo_AllocBinInfo();
        if( NULL == p_bin )             { return -1; }
        i_bid   = p_bin->i_id;
 
@@ -58,11 +58,11 @@ int
        p_bin->dw_size  = dw_size;
 
        /* Check Binary Format */
-       i_bintype       = Drd64_LibGoblin_CheckBinary( p_bin );
+       i_bintype       = LibGoblin_CheckBinary( p_bin );
 
-       if( DRD64_LIBGOBLIN_BINFO_TYPE_ELF == i_bintype )       {
+       if( LIBGOBLIN_BINFO_TYPE_ELF == i_bintype )     {
                /* Analyze ELF-Binary Format */
-               Drd64_LibGoblin_AnalyzeElf( p_bin );
+               LibGoblin_AnalyzeElf( p_bin );
                /* Analyze DWARF-Debug Format */
        }       else {
        
index e98ecca..c2ccca0 100644 (file)
@@ -41,14 +41,14 @@ Comment:
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
 LIBGOBLIN_BINFO_EXTERN
-Drd64_LibGoblin_BinaryInfo *
-       Drd64_LibDrd64_BinInfo_AllocBinInfo(
+LibGoblin_BinaryInfo *
+       LibDrd64_BinInfo_AllocBinInfo(
                void)
 {
        int             i_cnt;
        int             i_id_now;
-       Drd64_LibGoblin_BinaryInfo *p_binfo_base;
-       Drd64_LibGoblin_BinaryInfo *p_binfo_now;
+       LibGoblin_BinaryInfo *p_binfo_base;
+       LibGoblin_BinaryInfo *p_binfo_now;
        
        p_binfo_now     = NULL;
        i_id_now        = -1;
@@ -64,12 +64,12 @@ Drd64_LibGoblin_BinaryInfo *
 
                if( NULL == p_binfo_now )       {
                        p_binfo_base    = realloc( gp_binary_info,
-                                       sizeof( Drd64_LibGoblin_BinaryInfo ) *
-                                               (gi_max_binary_info + DRD64_LIBGOBLIN_BINFO_UNITS) );
+                                       sizeof( LibGoblin_BinaryInfo ) *
+                                               (gi_max_binary_info + LIBGOBLIN_BINFO_UNITS) );
                        if( NULL == p_binfo_base )              { return NULL; }
                
                        gp_binary_info  = p_binfo_base;
-                       gi_max_binary_info      += DRD64_LIBGOBLIN_BINFO_UNITS; 
+                       gi_max_binary_info      += LIBGOBLIN_BINFO_UNITS; 
 
                        p_binfo_now     = gp_binary_info + gi_now_binary_info;
                        i_id_now        = gi_now_binary_info++;
@@ -80,7 +80,7 @@ Drd64_LibGoblin_BinaryInfo *
                i_id_now        = gi_now_binary_info++;
        }
 
-       memset( p_binfo_now, 0x00, sizeof( Drd64_LibGoblin_BinaryInfo ) );
+       memset( p_binfo_now, 0x00, sizeof( LibGoblin_BinaryInfo ) );
 
        p_binfo_now->i_id       = i_id_now;
 
@@ -92,8 +92,8 @@ Drd64_LibGoblin_BinaryInfo *
 ----------------------------------------------------------------------*/
 LIBGOBLIN_BINFO_EXTERN
 int
-       Drd64_LibGoblin_FreeBinaryInfo(
-               Drd64_LibGoblin_BinaryInfo *p_binfo )
+       LibGoblin_FreeBinaryInfo(
+               LibGoblin_BinaryInfo *p_binfo )
 {
 
        if( NULL == p_binfo )   { return 0x01; }
@@ -103,7 +103,7 @@ int
                p_binfo->p_format       = NULL;
        }
 
-       memset( p_binfo, 0x00, sizeof( Drd64_LibGoblin_BinaryInfo ) );
+       memset( p_binfo, 0x00, sizeof( LibGoblin_BinaryInfo ) );
 
        p_binfo->i_id   = -1;
        
@@ -115,15 +115,15 @@ int
 ----------------------------------------------------------------------*/
 LIBGOBLIN_BINFO_EXTERN
 int
-       Drd64_LibGoblin_InitBinaryInfo(
+       LibGoblin_InitBinaryInfo(
                void)
 {
-       gp_binary_info  = malloc( sizeof( Drd64_LibGoblin_BinaryInfo )
-                                                               * DRD64_LIBGOBLIN_BINFO_UNITS );
+       gp_binary_info  = malloc( sizeof( LibGoblin_BinaryInfo )
+                                                               * LIBGOBLIN_BINFO_UNITS );
        if( NULL == gp_binary_info )    
                { return -1; }
 
-       gi_max_binary_info      = DRD64_LIBGOBLIN_BINFO_UNITS;
+       gi_max_binary_info      = LIBGOBLIN_BINFO_UNITS;
        gi_now_binary_info      = 0;
 
        return 0x00;
@@ -134,7 +134,7 @@ int
 ----------------------------------------------------------------------*/
 LIBGOBLIN_BINFO_EXTERN
 int
-       Drd64_LibGoblin_TermBinaryInfo(
+       LibGoblin_TermBinaryInfo(
                void )
 {
        free( gp_binary_info );
@@ -150,8 +150,8 @@ int
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
 LIBGOBLIN_BINFO_EXTERN
-Drd64_LibGoblin_BinaryInfo *
-       Drd64_LibGoblin_BInfo_GetBinaryInfo(
+LibGoblin_BinaryInfo *
+       LibGoblin_BInfo_GetBinaryInfo(
                int     i_bid )
 {
        if(( gi_now_binary_info <= i_bid ) && ( 0 > i_bid ))
index 3b83707..96405ca 100644 (file)
@@ -45,16 +45,16 @@ Comment:
        #define LIBGOBLIN_BINFO_EXTERN  extern
 #endif
 
-#define DRD64_LIBGOBLIN_BINFO_UNITS      8
+#define LIBGOBLIN_BINFO_UNITS      8
 
-#define        DRD64_LIBGOBLIN_BINFO_TYPE_NONE         0x00
-#define        DRD64_LIBGOBLIN_BINFO_TYPE_ELF          0x01
-#define        DRD64_LIBGOBLIN_BINFO_TYPE_ELF64        0x64
-#define        DRD64_LIBGOBLIN_BINFO_TYPE_ELF32        0x32
+#define        LIBGOBLIN_BINFO_TYPE_NONE               0x00
+#define        LIBGOBLIN_BINFO_TYPE_ELF                0x01
+#define        LIBGOBLIN_BINFO_TYPE_ELF64              0x64
+#define        LIBGOBLIN_BINFO_TYPE_ELF32              0x32
 
-#define        DRD64_LIBGOBLIN_BINFO_ENDIAN_NONE       0x00
-#define        DRD64_LIBGOBLIN_BINFO_ENDIAN_LITTLE     0x01
-#define        DRD64_LIBGOBLIN_BINFO_ENDIAN_BIG        0x02
+#define        LIBGOBLIN_BINFO_ENDIAN_NONE             0x00
+#define        LIBGOBLIN_BINFO_ENDIAN_LITTLE   0x01
+#define        LIBGOBLIN_BINFO_ENDIAN_BIG              0x02
 
 typedef struct {
        int                     i_id;
@@ -67,39 +67,39 @@ typedef struct      {
 
        void            *p_format;
        
-} Drd64_LibGoblin_BinaryInfo;
+} LibGoblin_BinaryInfo;
 
 
 
 
-LIBGOBLIN_BINFO_EXTERN Drd64_LibGoblin_BinaryInfo              *gp_binary_info;
-LIBGOBLIN_BINFO_EXTERN int                                                             gi_max_binary_info;
-LIBGOBLIN_BINFO_EXTERN int                                                             gi_now_binary_info;
+LIBGOBLIN_BINFO_EXTERN LibGoblin_BinaryInfo            *gp_binary_info;
+LIBGOBLIN_BINFO_EXTERN int                                                     gi_max_binary_info;
+LIBGOBLIN_BINFO_EXTERN int                                                     gi_now_binary_info;
 
 
 LIBGOBLIN_BINFO_EXTERN
-       Drd64_LibGoblin_BinaryInfo *
-               Drd64_LibDrd64_BinInfo_AllocBinInfo(
+       LibGoblin_BinaryInfo *
+               LibDrd64_BinInfo_AllocBinInfo(
                        void );
 
 LIBGOBLIN_BINFO_EXTERN
        int
-               Drd64_LibGoblin_FreeBinaryInfo(
-                       Drd64_LibGoblin_BinaryInfo *p_binfo );
+               LibGoblin_FreeBinaryInfo(
+                       LibGoblin_BinaryInfo *p_binfo );
 
 LIBGOBLIN_BINFO_EXTERN
        int
-               Drd64_LibGoblin_InitBinaryInfo(
+               LibGoblin_InitBinaryInfo(
                        void );
 
 LIBGOBLIN_BINFO_EXTERN
        int
-               Drd64_LibGoblin_TermBinaryInfo(
+               LibGoblin_TermBinaryInfo(
                        void );
 
 LIBGOBLIN_BINFO_EXTERN
-       Drd64_LibGoblin_BinaryInfo *
-               Drd64_LibGoblin_BInfo_GetBinaryInfo(
+       LibGoblin_BinaryInfo *
+               LibGoblin_BInfo_GetBinaryInfo(
                        int i_bid );
 
 
index 6a93ef1..a0a8e3a 100644 (file)
@@ -40,8 +40,8 @@ Comment:
 
 LIBGOBLIN_CHECKBIN_EXTERN
 int
-       Drd64_LibGoblin_CheckBinary(
-               Drd64_LibGoblin_BinaryInfo      *p_bin )
+       LibGoblin_CheckBinary(
+               LibGoblin_BinaryInfo    *p_bin )
 {
        int                     i_result;
        Byte            *p_data;
@@ -52,13 +52,13 @@ int
        assert( NULL != p_data );
        
        /* Judge Elf-Header? */
-       if( 0x00 != Drd64_LibGoblin_IsElf( p_data ) )   {
-               p_bin->b_type   = DRD64_LIBGOBLIN_BINFO_TYPE_ELF;
-               i_result                = DRD64_LIBGOBLIN_BINFO_TYPE_ELF;
+       if( 0x00 != LibGoblin_IsElf( p_data ) ) {
+               p_bin->b_type   = LIBGOBLIN_BINFO_TYPE_ELF;
+               i_result                = LIBGOBLIN_BINFO_TYPE_ELF;
        }
        else {
-               p_bin->b_type   = DRD64_LIBGOBLIN_BINFO_TYPE_NONE;
-               i_result                = DRD64_LIBGOBLIN_BINFO_TYPE_NONE;
+               p_bin->b_type   = LIBGOBLIN_BINFO_TYPE_NONE;
+               i_result                = LIBGOBLIN_BINFO_TYPE_NONE;
        }
 
        return i_result;
index 13bd1f7..e8b4e8e 100644 (file)
@@ -48,8 +48,8 @@ Comment:
 
 LIBGOBLIN_CHECKBIN_EXTERN
        int
-               Drd64_LibGoblin_CheckBinary(
-                       Drd64_LibGoblin_BinaryInfo  *p_bin );
+               LibGoblin_CheckBinary(
+                       LibGoblin_BinaryInfo  *p_bin );
 
 
 #endif /* DRD64_HEADER_LIBGOBLIN_CHECKBIN */
index f427d17..50c6315 100644 (file)
@@ -42,7 +42,7 @@ Comment:
 ----------------------------------------------------------------------*/
 LIBGOBLIN_ELF_EXTERN 
 int
-       Drd64_LibGoblin_IsElf(
+       LibGoblin_IsElf(
                Byte    *p_data )
 {
        Elf_Ehdr        *p_elfhdr;
@@ -57,15 +57,15 @@ int
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
 void *
-       Drd64_LibGoblin_Elf64_AllocFormat(
+       LibGoblin_Elf64_AllocFormat(
                void )
 {
-       Drd64_LibGoblin_BinaryInfo_Elf64        *p_elf;
+       LibGoblin_BinaryInfo_Elf64      *p_elf;
 
-       p_elf   = (Drd64_LibGoblin_BinaryInfo_Elf64 *)
-               malloc( sizeof(Drd64_LibGoblin_BinaryInfo_Elf64) );
+       p_elf   = (LibGoblin_BinaryInfo_Elf64 *)
+               malloc( sizeof(LibGoblin_BinaryInfo_Elf64) );
        if( NULL != p_elf )             {
-               memset( p_elf, 0x00, sizeof(Drd64_LibGoblin_BinaryInfo_Elf64) );
+               memset( p_elf, 0x00, sizeof(LibGoblin_BinaryInfo_Elf64) );
        }
        
        return (void *)p_elf;
@@ -75,15 +75,15 @@ void *
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
 void *
-       Drd64_LibGoblin_Elf32_AllocFormat(
+       LibGoblin_Elf32_AllocFormat(
                void )
 {
-       Drd64_LibGoblin_BinaryInfo_Elf32        *p_elf;
+       LibGoblin_BinaryInfo_Elf32      *p_elf;
 
-       p_elf   = (Drd64_LibGoblin_BinaryInfo_Elf32 *)
-               malloc( sizeof(Drd64_LibGoblin_BinaryInfo_Elf32) );
+       p_elf   = (LibGoblin_BinaryInfo_Elf32 *)
+               malloc( sizeof(LibGoblin_BinaryInfo_Elf32) );
        if( NULL != p_elf )             {
-               memset( p_elf, 0x00, sizeof(Drd64_LibGoblin_BinaryInfo_Elf32) );
+               memset( p_elf, 0x00, sizeof(LibGoblin_BinaryInfo_Elf32) );
        }
        
        return (void *)p_elf;
@@ -93,12 +93,12 @@ void *
 /*----------------------------------------------------------------------
 ----------------------------------------------------------------------*/
 int
-       Drd64_LibGoblin_Elf64_Analyze(
-               Drd64_LibGoblin_BinaryInfo      *p_bin )
+       LibGoblin_Elf64_Analyze(
+               LibGoblin_BinaryInfo    *p_bin )
 {
        int             i_err;
        Byte    *p_data;
-       Drd64_LibGoblin_BinaryInfo_Elf64        *p_elf;
+       LibGoblin_BinaryInfo_Elf64      *p_elf;
 
        assert( NULL != p_bin );
 
@@ -106,7 +106,7 @@ int
        p_data  = p_bin->p_binary;
 
        assert( NULL != p_bin->p_format );
-       p_elf   = (Drd64_LibGoblin_BinaryInfo_Elf64 *)p_bin->p_format;
+       p_elf   = (LibGoblin_BinaryInfo_Elf64 *)p_bin->p_format;
 
 
        p_elf->p_elfhdr = (Elf64_Ehdr *)p_data;
@@ -121,8 +121,8 @@ int
 ----------------------------------------------------------------------*/
 LIBGOBLIN_ELF_EXTERN
 int
-       Drd64_LibGoblin_AnalyzeElf(
-               Drd64_LibGoblin_BinaryInfo      *p_bin )
+       LibGoblin_AnalyzeElf(
+               LibGoblin_BinaryInfo    *p_bin )
 {
        int             i_err;
        Byte    *pb_data;
@@ -133,33 +133,33 @@ int
 
        /* Analyze ELF Ident Header from Bits ---*/
        if( ELFCLASS64 == *(pb_data + EI_CLASS) )
-               { p_bin->b_type = DRD64_LIBGOBLIN_BINFO_TYPE_ELF64; }
+               { p_bin->b_type = LIBGOBLIN_BINFO_TYPE_ELF64; }
        else if( ELFCLASS32 == *(pb_data + EI_CLASS) )
-               { p_bin->b_type = DRD64_LIBGOBLIN_BINFO_TYPE_ELF32; }
+               { p_bin->b_type = LIBGOBLIN_BINFO_TYPE_ELF32; }
        
        /* Analyze ELF Ident Header from Endian ---*/
        if( ELFDATA2LSB == *(pb_data + EI_DATA) )
-               { p_bin->b_endian       = DRD64_LIBGOBLIN_BINFO_ENDIAN_LITTLE; }
+               { p_bin->b_endian       = LIBGOBLIN_BINFO_ENDIAN_LITTLE; }
        else if( ELFDATA2MSB == *(pb_data + EI_DATA) )
-               { p_bin->b_endian       = DRD64_LIBGOBLIN_BINFO_ENDIAN_BIG; }
+               { p_bin->b_endian       = LIBGOBLIN_BINFO_ENDIAN_BIG; }
 
 
        /* Alloc BinaryInfo Format Struct Area from bits ---*/
-       if( DRD64_LIBGOBLIN_BINFO_TYPE_ELF64 == p_bin->b_type )         {
-               p_bin->p_format = Drd64_LibGoblin_Elf64_AllocFormat();
+       if( LIBGOBLIN_BINFO_TYPE_ELF64 == p_bin->b_type )               {
+               p_bin->p_format = LibGoblin_Elf64_AllocFormat();
        }
-       else if( DRD64_LIBGOBLIN_BINFO_TYPE_ELF32 == p_bin->b_type )    {
-               p_bin->p_format = Drd64_LibGoblin_Elf32_AllocFormat();
+       else if( LIBGOBLIN_BINFO_TYPE_ELF32 == p_bin->b_type )  {
+               p_bin->p_format = LibGoblin_Elf32_AllocFormat();
        }
        if( NULL == p_bin->p_format )   {
                return 0x01;
        } 
        
        /* Analyze ELF Header */
-       if( DRD64_LIBGOBLIN_BINFO_TYPE_ELF64 == p_bin->b_type )         {
-               Drd64_LibGoblin_Elf64_Analyze( p_bin );
+       if( LIBGOBLIN_BINFO_TYPE_ELF64 == p_bin->b_type )               {
+               LibGoblin_Elf64_Analyze( p_bin );
        }
-       else if( DRD64_LIBGOBLIN_BINFO_TYPE_ELF32 == p_bin->b_type )    {
+       else if( LIBGOBLIN_BINFO_TYPE_ELF32 == p_bin->b_type )  {
        }
 
        
index 8521ace..166ffa4 100644 (file)
@@ -48,17 +48,17 @@ Comment:
 typedef struct {
        Elf64_Ehdr              *p_elfhdr;
 
-} Drd64_LibGoblin_BinaryInfo_Elf64;
+} LibGoblin_BinaryInfo_Elf64;
 
 typedef struct {
        Elf32_Ehdr              *p_elfhdr;
 
-} Drd64_LibGoblin_BinaryInfo_Elf32;
+} LibGoblin_BinaryInfo_Elf32;
 
 
 LIBGOBLIN_ELF_EXTERN
        int
-               Drd64_LibGoblin_IsElf(
+               LibGoblin_IsElf(
                        Byte    *p_data );
 
 #endif /* DRD64_HEADER_LIBGOBLIN_BINFO */
index 9a8ac65..2b18247 100644 (file)
@@ -42,12 +42,12 @@ Comment:
 ----------------------------------------------------------------------*/
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_Init(
+       LibGoblin_Init(
                void )
 {
        int             i_err;
 
-       i_err   = Drd64_LibGoblin_InitBinaryInfo();
+       i_err   = LibGoblin_InitBinaryInfo();
        if( 0x00 != i_err )             { return i_err; }
 
        return 0x00;
@@ -58,12 +58,12 @@ int
 ----------------------------------------------------------------------*/
 LIBGOBLIN_FUNC
 int
-       Drd64_LibGoblin_Term(
+       LibGoblin_Term(
                void )
 {
        int             i_err;
 
-       i_err   = Drd64_LibGoblin_TermBinaryInfo();
+       i_err   = LibGoblin_TermBinaryInfo();
        if( 0x00 != i_err )             { return i_err; }
 
        return 0x00;
index 8aafa29..6728c3d 100644 (file)
@@ -31,8 +31,12 @@ int
        p_head  = mmap( NULL, t_sb.st_size, PROT_READ, MAP_SHARED, i_fd, 0 );
        if( MAP_FAILED == p_head )      { goto goto_main_err; }
 
-       Drd64_LibGoblin_AnalyzeBinary( p_head, t_sb.st_size );
+       LibGoblin_Init();
+
+       LibGoblin_AnalyzeBinary( p_head, t_sb.st_size );
        
+       LibGoblin_Term();
+
        i_err   = munmap( p_head, t_sb.st_size );
 
 goto_main_err: