Я не уверен, что полностью понимаю вашу проблему, но здесь говорится:
У PeNet есть enum
, который выглядит следующим образом:
[Flags]
enum OptionalHeaderDllCharacteristics : ushort
{
IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE,
IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY,
IMAGE_DLLCHARACTERISTICS_NO_BIND,
IMAGE_DLLCHARACTERISTICS_NO_ISOLATION,
IMAGE_DLLCHARACTERISTICS_NO_SEH,
IMAGE_DLLCHARACTERISTICS_NX_COMPAT,
IMAGE_DLLCHARACTERISTICS_TERMINAL_SERVER_AWARE,
IMAGE_DLLCHARACTERISTICS_WDM_DRIVER,
}
Вы как-то получаетезначение.Это значение должно быть приведено к перечислению:
Int16 value = 3; //This is the value you got somewhere
OptionalHeaderDllCharacteristics testEnum = (OptionalHeaderDllCharacteristics)value; //Cast it
После того, как вы разыграли его, вы можете проверить любой флаг, который пожелаете:
if (testEnum.HasFlag(OptionalHeaderDllCharacteristics.IMAGE_DLLCHARACTERISTICS_FORCE_INTEGRITY))
{
//Do something
}