перевести аттрибуты секции в нужные аттр для страницы

Тема в разделе "WASM.WIN32", создана пользователем karabas_barabas, 17 июл 2010.

  1. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    вообщем столкнулся с задачей - нужно проецировать секции PE файла в память выставляя соответсвующие аттрибуты страницам памяти...
    использовал вот этот код , но он не совсем корректный и не полный
    Код (Text):
    1. ULONG protect(ULONG characteristics)
    2. {
    3.     static const ULONG mapping[] = {PAGE_NOACCESS,PAGE_EXECUTE,PAGE_READONLY,PAGE_EXECUTE_READ,PAGE_READWRITE,PAGE_EXECUTE_READWRITE,PAGE_READWRITE,PAGE_EXECUTE_READWRITE};
    4.     ULONG res = 0;
    5.     res = mapping[characteristics >> 29];
    6.     return res;
    7. }
    есть ли какая то формула переводящая наиболее точно значение аттрибутов секции PE в нужный аттрибут для стр памяти ?
     
  2. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    взять атрибуты секции, сбросить флажки, которые не относятся к аттрибутам страницы, а дальше просто перебором.
     
  3. karabas_barabas

    karabas_barabas Member

    Публикаций:
    0
    Регистрация:
    9 авг 2009
    Сообщения:
    168
    хм непонятно что за флажки сбрасывать , вот столкнулся - прога упакованная upx [​IMG],
    открываю в olly 2.0
    [​IMG]
    если использовать функцию дедушки Неббета выше , то в итоге аттрибуты выдаст PAGE_EXECUTE_READWRITE немного не то , но в принципе все работает, хотелось бы до идеала довести
     
  4. maybeZ3N

    maybeZ3N New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2010
    Сообщения:
    80
    Посмотри как это в вин реализовано. Лучше, конечно, если у тебя есть исходники винды. Под отладчиком будет геморней.
     
  5. fsd

    fsd New Member

    Публикаций:
    0
    Регистрация:
    4 июл 2010
    Сообщения:
    353
    https://www.wasm.ru/forum/viewtopic.php?id=35880
    https://www.wasm.ru/forum/viewtopic.php?id=37559
     
  6. qwe8013

    qwe8013 New Member

    Публикаций:
    0
    Регистрация:
    28 май 2009
    Сообщения:
    198
    karabas_barabas
    Например:
    IMAGE_SCN_CNT_CODE, IMAGE_SCN_CNT_INITIALIZED_DATA, IMAGE_SCN_CNT_UNINITIALIZED_ DATA, и т. д.

    см Microsoft Portable Executable and Common Object File Format Specification