Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.08.28;
Скачать: CL | DM;

Вниз

Запись в 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.019 c
3-92045
Алексей Петухов
2003-08-04 13:52
2003.08.28
Индекс в TQuery


4-92320
nester
2003-06-26 19:17
2003.08.28
Как выгрузить чужую dll-ну? shdoclc.dll


4-92295
DmitryNekl
2003-06-26 14:27
2003.08.28
LockFile - вопрос чайника


4-92307
artist
2003-06-25 16:35
2003.08.28
pressed всегда истина хотя на самом деле нет. Почему?


9-91966
Призрак_Коммунизма
2003-02-27 07:48
2003.08.28
Где скачат спрайты в инете?