Вопрос по статье Твистера

Тема в разделе "WASM.WIN32", создана пользователем Rel, 12 ноя 2009.

  1. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    доброго времени суток... я реализовал алгоритм из статьи Twister'а "Инжект: лезем через окно", тестировал под XP - все работает как часы... но под Вистой появились проблемы... выскакивает Access Violating на первой инструкции внедренного кода... попробывал выставить этому участку памяти права PAGE_EXECUTE_READ, но функция VirtualProtectEx выпадает с ошибкой INVALID_PARAMETER... видимо Виста совсем не предполагает, что данная область памяти может использоваться для исполнения и не дает установить соответствующие права (в XP же этой области не удается установить только права на запись)... как вы думаете, что можно с этой проблемой сделать?
     
  2. comrade

    comrade Константин Ёпрст

    Публикаций:
    0
    Регистрация:
    16 сен 2002
    Сообщения:
    232
    Адрес:
    Russian Federation
    линк на статью?
     
  3. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    http://wasm.ru/article.php?article=window_inject
     
  4. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    есть идеи?)))
     
  5. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Есть идея позвать Twister'а. ;)

    Во-первых. Рекомендую взять winuser.pas из более свежих статей, там кое-что пофикшено.

    Во-вторых. На Висте я тоже тестировал. Все работало, но без СП. Возможно (и скорее всего) в SP1 что-то изменилось. Рекомендую реализовать пункт "Во-первых." и продолжить тестирование уже потом.
     
  6. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    дело в том, что я и старого не брал... я не люблю "копипаст", к тому же я не люблю паскаль)))))... я делал на си по изложенному вами алгоритму... причем по алгоритму все нормально, адрес внедренного кода определяется правильно, но внедренному коду не удается установить права на выполнение...

    может быть... я тестировал на sp1... в таком случае очень жаль, этот метод весьма красив по моему мнению...
     
  7. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Ну ты этому региону памяти атрибуты из юзермода поменять ни как не сможешь, это же всего лишь проекция. Другое дело, что в SP1 могли запретить выполнения кода с этих страниц (или какой-нибудь там DEP включен). Ты можешь прочитать эту память из чужого процесса?

    И еще. Если ты опирался на сорцы именно из этой статьи, то в СП1 оно и не должно работать, там не зашит адрес g_SharedInfo для этой версии. Погляди более свежий вариант.
     
  8. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    вообще да... я чет забыл об этом подумать...

    да могу... там стоят права только на чтение, а в xp - на чтение и на выполнение... я поэтому и стал попробовать их менять)))
     
  9. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Если мне не изменяет память, то с выключенным DEP'ом можно исполнить все, что можно прочитать. Пусть меня поправят, если ошибся. Если же нет - значит мы нашли камень преткновения.
     
  10. Rel

    Rel Well-Known Member

    Публикаций:
    2
    Регистрация:
    11 дек 2008
    Сообщения:
    5.323
    да, ты чертовски прав)))) кстати заметил парадокс в сознании программистов microsoft, вспоминая основное предназначение DEP... по правилам исключения на DEP не удается поставить всяким левым утилитам вроде calc.exe или notepad.exe, но удается поставить программам, в которые злоумышленникам выгодно проникать: explorer.exe или iexplore.exe...

    Twister, спасибо за полезные знания! если ты не против, я задам тебе еще несколько вопросов, но уже в лс? топик можно закрывать)
     
  11. Twister

    Twister New Member

    Публикаций:
    0
    Регистрация:
    12 окт 2005
    Сообщения:
    720
    Адрес:
    Алматы
    Да ради бога, задавай