📄 resourceentry.cpp
字号:
#include "stdafx.h"
#include "resourceentry.h"
namespace PE {
CResourceEntry::CResourceEntry(LPBYTE pData, LPBYTE pBase)
: m_pBase(pBase)
{
CopyMemory(&m_rdire, pData, sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY));
ZeroMemory(&m_rde, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
if (m_rdire.DataIsDirectory == 0) {
LPBYTE pDataEntry = GetDataEntry();
if (IsBadReadPtr(pDataEntry, sizeof(IMAGE_RESOURCE_DATA_ENTRY)) == FALSE) {
CopyMemory(&m_rde, pDataEntry, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
}
}
}
CResourceEntry::~CResourceEntry(void)
{
}
void CResourceEntry::GetInfo(IMAGE_RESOURCE_DATA_ENTRY *prde) const
{
if (IsBadWritePtr(prde, sizeof(IMAGE_RESOURCE_DATA_ENTRY)) == FALSE) {
CopyMemory(prde, &m_rde, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
}
}
void CResourceEntry::GetDirInfo(IMAGE_RESOURCE_DIRECTORY_ENTRY *prde) const
{
if (IsBadWritePtr(prde, sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY)) == FALSE) {
CopyMemory(prde, &m_rdire, sizeof(IMAGE_RESOURCE_DIRECTORY_ENTRY));
}
}
LPBYTE CResourceEntry::GetDataEntry(void) const
{
LPBYTE pData = &m_pBase[m_rdire.OffsetToData];
return(pData);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -