Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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
14-92253
Vuk
2003-08-08 23:05
2003.08.28
Всем привет с московской встречи! :o)


14-92188
Evg12
2003-08-10 13:02
2003.08.28
Исходник функции random


9-91967
Andy Eremin
2003-02-27 07:35
2003.08.28
определение расстояния до объекта


7-92282
Илайдж
2003-06-10 14:07
2003.08.28
Как получить текущую температуру процессора?


3-92015
Малой
2003-08-05 11:33
2003.08.28
Как в стандарте ANSI натйти агрегат от агрегата?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский