Skip to content

Nick007J/vmk_spring2017

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

"# vmk_spring2017"

Задача по курсу "Методы исследования программного обеспечени":

Необходимо выполнить разбор файла и написать в какой секции располагается точка входа. Вывод должен быть в следующем формате

Entry point (<значение точки входа>)

In section <индекс секции>, <название секции>

Offset in section <смещение относительно начала секции>, <смещение в процентах> %

Где смещение в процентах вычисляется относительно размера секции. Например, если секция имеет размер 1000, а точка входа располагается по смещению 400 в ней, то необходимо вывести 40 %.

Все используемые структуры можно посмотреть в заголовочном файле WinNT.h (он уже подключен, так как указан в Windows.h). Например вам могут потребоваться следующие структуры: IMAGE_DOS_HEADER заголовок, который используется в системе DOS (сейчас вам в нем потребуется только поле e_lfanew (что оно означает?) IMAGE_NT_HEADERS заголовок нового формата исполняемого файла (PE), используемого в Windows NT IMAGE_FILE_HEADER один из двух заголовков, из которых состоит IMAGE_NT_HEADER, содержит NumberOfSections IMAGE_OPTIONAL_HEADER второй заголовок IMAGE_NT_HEADER, содержит важные для нас поля ImageBase и AddressOfEntryPoint IMAGE_SECTION_HEADER заголовок секции, в нем содержится название, размер и расположение секции

Не забывайте проверять такие поля как сигнатуры файлов (ведь надо убедиться, что разбираем собственно исполняемый файл)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • C++ 88.7%
  • C 11.3%