resourcedirectory.h

来自「一个用BCB写的壳!」· C头文件 代码 · 共 51 行

H
51
字号
#ifndef resdir_h
#define resdir_h

#include "stdafx.h"
#include "resourceentry.h"

namespace PE {

class CResourceDirectory
{
public:
    CResourceDirectory(LPBYTE pData, LPBYTE pBase, BOOL bRoot = FALSE);
    virtual ~CResourceDirectory(void);

    // Get directory information
    void GetInfo(IMAGE_RESOURCE_DIRECTORY *prd);

    // Directory enumeration functions
    DWORD GetNumDirectories(void) const;
    CResourceDirectory *GetDirectory(DWORD dwIndex) const;

    // Entry enumeration functions
    DWORD GetNumEntries(void) const;
    CResourceEntry *GetEntry(DWORD dwIndex) const;

    // Current directory information functions
    std::string GetName(void) const;

protected:
    void SetName(std::string strName);

private: // Definitions
    typedef std::list< CResourceEntry * > resEntList;
    typedef resEntList::const_iterator resEntCIterator;
    typedef resEntList::iterator resEntIterator;

    typedef std::list< CResourceDirectory * > resDirList;
    typedef resDirList::const_iterator resDirCIterator;
    typedef resDirList::iterator resDirIterator;

private: // Variables
    IMAGE_RESOURCE_DIRECTORY m_rd;
    LPBYTE m_pBase;
    resEntList m_lstEntries;
    resDirList m_lstDirs;

    std::string m_strName;
};

}
#endif

⌨️ 快捷键说明

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