|
От: |
FlameGod
|
|
| Дата: | 15.05.01 14:14 |
|
Оценка: |
|
Здравствуйте Varchev ILYA Nickolaevich, вы писали:
VIN>Кусочек кода нужен, однако :=))
вот:
эта функция читает РЕ Header своего же .ехе
CFile file;
DWORD sig;
IMAGE_SECTION_HEADER sec_h;
ResetAll();
memset(&sec_h,0,sizeof(IMAGE_SECTION_HEADER));
if(!file.Open(strFileName,CFile::modeRead))
{
throw _T("File \"" + strFileName + "\" not found");
}
file.Read(&m_hDos,sizeof(IMAGE_DOS_HEADER));
if(m_hDos.e_magic != IMAGE_DOS_SIGNATURE)
{
file.Close();
throw _T("Wrong dos signature");
}
file.Seek(m_hDos.e_lfanew,CFile::begin);
file.Read(&sig,sizeof(DWORD));
if(sig != IMAGE_NT_SIGNATURE)
{
file.Close();
throw _T("Wrong win signature");
}
file.Read(&m_hWin,sizeof(IMAGE_FILE_HEADER));
if(m_hWin.SizeOfOptionalHeader == sizeof(IMAGE_OPTIONAL_HEADER))
{
file.Read(&m_hOpt,sizeof(IMAGE_OPTIONAL_HEADER));
}
for(int i=0; i < m_hWin.NumberOfSections ; i++)
{
file.Read(&sec_h,sizeof(IMAGE_SECTION_HEADER));
m_aSections.Add(sec_h);
}
file.Close();
Пока на собственное сообщение не было ответов, его можно удалить.