cloadercreator.h

来自「pe exe packer (must use vc2005 to compil」· C头文件 代码 · 共 70 行

H
70
字号
// Author:   Brandon LaCombe
// Date:     February 3, 2006
// License:  Public Domain
#ifndef _CLOADERCREATOR_H
#define _CLOADERCREATOR_H

#include <windows.h>

typedef struct _LOADER_OPTIONS
{
    BOOL  bMax;
    BOOL  bFilterCode;
    PVOID pvUnpacker;       // pointer to unpacker function
    DWORD dwUnpackerSize;   // unpacker function size
    DWORD dwUnpackMemSize;  // size of buffer required for unpacking
    DWORD dwWorkMemSize;    // size of memory required for unpacking
    DWORD dwKernelTableRva; // rva of the kernel iat
    DWORD dwSectionDataRva; // rva of the section data
    DWORD dwHeaderRva;      // rva of compressed header
    DWORD dwImportsRva;     // rva of original import table descriptor array
    DWORD dwRelocationsRva; // rva of original relocation table
    DWORD dwTLSIndexRva;    // rva of the tls index
    DWORD dwOrigTLSIndex;   // value of the tls index
} LOADER_OPTIONS, *PLOADER_OPTIONS;

class CLoaderCreator
{
public:

    CLoaderCreator();

    // interface functions
    DWORD CalculateEntryPointRva(DWORD dwBaseRva);
    VOID  SetOptions(PLOADER_OPTIONS plo);
    VOID  Rip(PVOID pvFile);
    DWORD GetSize();
    VOID  Export(PVOID pvOutput, DWORD dwBaseRva);

private:

    // private functions
    DWORD CalculateCodeSize();

    // member variables
    BOOL           m_bOutput;
    LOADER_OPTIONS m_LoaderOptions;
    DWORD          m_dwImageBase;
    DWORD          m_dwOepRva;
    DWORD          m_dwLoaderHeaderSize;
    DWORD          m_dwTLSFixerSize;
    DWORD          m_dwNormalUnpackerSize;
    DWORD          m_dwNormalDefilterSize;
    DWORD          m_dwMaxUnpackerSize;
    DWORD          m_dwMaxDefilterSize;
    DWORD          m_dwHeaderUnpackerSize;
    DWORD          m_dwImportHandlerSize;
    DWORD          m_dwRelocationHandlerSize;
    PVOID          m_pvLoaderHeader;
    PVOID          m_pvTLSFixer;
    PVOID          m_pvNormalUnpacker;
    PVOID          m_pvNormalDefilter;
    PVOID          m_pvMaxUnpacker;
    PVOID          m_pvMaxDefilter;
    PVOID          m_pvHeaderUnpacker;
    PVOID          m_pvImportHandler;
    PVOID          m_pvRelocationHandler;
};

#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?