[原创] windows .lib 文件后门注入 | 宜武汇-ag真人国际厅网站

typedef struct _fileheader

    unsigned short machine;     // 平台名

    unsigned short numberofsections;// 区段数

    unsigned long  timedatestamp;   // 时间戳

    unsigned long  pointertosymboltable;        // 符号表文件偏移

    unsigned long  numberofsymbols;                // 符号总个数

    unsigned short sizeofoptionalheader;        // 可选头长度

    unsigned short characteristics;                // 文件标记

 

} fileheader, *pfileheader;

 

最大为8个字节的,以’\0’为结尾的ascii字符串.用于记录区段的名字

.区段的名字有些是特定意义的区段. 如果区段名的数量大于8个字节,

则name的第一字节是一个斜杠字符:’/’,接着就是一个数字,

这个数字就是字符串表的一个索引.它将索引到一个具体的区段名.

 

typedef struct  _sectionheader

    char name[8];                            // 段名

    unsigned long  virtualsize;                 // 虚拟大小  没有用

    unsigned long  virtualaddress;             // 虚拟地址 没有用

    unsigned long  sizeofrawdata;             // 区段数据的字节数

    unsigned long  pointertorawdata;         // 区段数据偏移

    unsigned long  pointertorelocations;     // 区段重定位表偏移

    unsigned long  pointertolinenumbers;     // 行号表偏移

    unsigned short  numberofrelocations;     // 重定位表个数

    unsigned short  numberoflinenumbers;     // 行号表个数

    unsigned long  characteristics;          // 段标识

}sectionheader, *psectionheader;

 

#pragma pack(push, 2)

typedef struct _symbol

    union {

        char name[8];               // 符号名称

        struct {

            unsigned long zero;     // 字符串表标识

            unsigned long offset;  // 字符串偏移

        };

    };

    unsigned long value;            // 符号值

    short          section;          // 符号所在段

    unsigned short type;            // 符号类型

    unsigned char class;            // 符号存储类型

    unsigned char numberofauxsymbols;// 符号附加记录数

} symbol, *psymbol;

#pragma pack(pop)

 

typedef struct _strigtable{

    unsigned int size;

    char         data[1];

} strigtable, *pstrigtable;

原文链接:https://bbs.kanxue.com/thread-276711.htm

网络摘文,本文作者:15h,如若转载,请注明出处:https://www.15cov.cn/2023/08/27/原创-windows-lib-文件后门注入/

发表评论

邮箱地址不会被公开。 必填项已用*标注

网站地图