📄 cloadercreator.h
字号:
// 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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -