Форум: "Система";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];
ВнизЗапись в Kernel32 под 9х Найти похожие ветки
← →
StAL (2003-06-06 12:53) [0]Здравствуйте, ув. Мастера!
А конкретно, мне нужно подменить адрес в таблице экспорта Kernel32 под 9х
Жду ответа, заранее спасибо.
← →
Digitman (2003-06-06 14:16) [1]1. определяешь месторазмещение директории экспорта в ВАП процесса, загрузившего этот модуль
2. изменяешь параметры защиты страниц, в диапазоны адресов которых входят интересующие тебя адреса (VirtualProtect[Ex]), разрешая запись в них
3. пиши-читай на здоровье !
← →
NightAngel (2003-06-06 15:12) [2]> 1. определяешь месторазмещение директории экспорта в ВАП процесса, загрузившего этот модуль
2. изменяешь параметры защиты страниц, в диапазоны адресов которых входят интересующие тебя адреса (VirtualProtect[Ex]), разрешая запись в них
3. пиши-читай на здоровье !
Это не будет работать под Win9x, т.к. В Win9x, в отличие от NT платформ, память, начиная с 2Gb, спроецирована на все контексты, присутствующие в системе и не доступна для модификации. VirtualProtect[Ex]() или WriteProcessMemory() завершатся неудачно и записать что-то в Kernel32.dll не получится.
> Запись в Kernel32 под 9х
Не мучайтесь, найдите пример перехода в Ring0 под Win9x и пишите в таблицу экспортов Kernel"а, всё, что Вам нужно.
← →
Игорь Шевченко (2003-06-06 15:17) [3]NightAngel (06.06.03 15:12)
А что, в Windows 9x kernel32.dll загружается по адресу выше 2х GB ?
← →
Игорь Шевченко (2003-06-06 15:24) [4]NightAngel (06.06.03 15:12)
И впрямь...Век живи, век учись...Image Base у него Bxxx xxxx...
← →
Digitman (2003-06-06 15:40) [5]
> NightAngel
Хочешь тем самым сказать, что и VirtualProtect(), выполненная в ВАП "своего" процесса, закончится с тем же успехом в части модификации прав доступа к страницам, спроецированным на kentel32 image ?
← →
NightAngel (2003-06-06 18:24) [6]> Игорь Шевченко ©
Век живи, век учись...
:)
> Digitman © (06.06.03 15:40)
Хочешь тем самым сказать, что и VirtualProtect(), выполненная в ВАП "своего" процесса, закончится с тем же успехом в части модификации прав доступа к страницам, спроецированным на kentel32 image ?
Я ничего не хочу сказать, это на самом деле так и есть.
Дж. Рихтер в своей книге "Programming Applications for Microsoft Windows" так поясняет эту ситуацию: "On Windows 98, the main Windows DLLs (Kernel32, AdvAPI32, User32, and GDI32) are protected in such a way that an application cannot overwrite their code pages. You can get around this by writing a virtual device driver (VxD)". В Win9x в регионе памяти >2Gb находятся модули ядра, объекты ядра и пользовательские объекты, доступные всем контекстам - проекции файлов. Документированный Windows API не предоставляет средств для внесения изменений в память >2Gb.
← →
Burmistroff (2003-06-06 21:02) [7]Пример:
http://maxcomputing.narod.ru/ahijack3.html
← →
StAL (2003-06-07 14:53) [8]Спасибо за ответы!!!
2Digitman
Я переделал Ваш пример с ToolHelp, но все-же на 9x он не работает (см. NightAngel (06.06.03 15:12))
2NightAngel
Digitman прислал мне такой пример, но я так и не понял, как произвести запись. Я вообще не очень уж знаком с Ring0.
2Burmistoff
Спасибо, пошел смотреть!
← →
Digitman (2003-06-09 10:38) [9]
> StAL
> на 9x он не работает
У меня нет под рукой Маздая, так что давай уже конкретно - что значит "не работает" ?
Если VirtualProtectEx() возвращает False, то что говорит GetLastError() ?
← →
StAL (2003-06-14 11:20) [10]2Digitman Выслал на e-mail
← →
Burmistroff (2003-06-14 18:44) [11]>StAL
Откуда же такая повышенная секретнось 0_o ?
← →
Digitman (2003-06-16 08:46) [12]
> StAL
Если не переход в Ring0, тогда остается только один вариант - использование VxDCall для изменения прав доступа к страницам ВАП выше $80000000.
см. Burmistroff (06.06.03 21:02)
код, касаемый VxDCall, фигурирующий по этой ссылке - Паскаль-вариант соотв.фрагмента BO2 (process_hop.cpp).
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2003.08.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.006 c