![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
Необходимо отобразить кусок физической памяти на пространство процесса. Для этого, функцией ZwOpenSection я открыл объект \Device\PhysicalMemory. Однако попытка отображения участка памяти классической апишной функцией MapViewOfFile под вынь2003 SP1 32-bit не удалась, хотя под XP всё пучком. Полагаю, что функция ZwMapViewOfSection решит ситуацию. Проблема в том, что я меня не выходит заюзать ее прототип
Может у кого-нидь небольшой пример? |
|||
|
||||
| bems |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3400 Регистрация: 5.1.2006 Репутация: 21 Всего: 88 |
Пример на си
(с) Марк Русинович Добавлено @ 14:25 А почему MapViewOfFile не работает? Какой код ошибки? Может ты для записи маппишь? Тогда нужно сначала с правами пояб-ся... Как - не знаю... Присоединённый файл ( Кол-во скачиваний: 27 )
PhysMem.zip 28,49 Kb-------------------- Обижено школьников: 8 |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Ну вот тебе... не большой пример
PS: Брось кнопку и мемо на форму
-------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
Блин, копать-то надо выше…
При попытке поюзать ZwOpenSection под Win2003 функция возвращает STATUS_ACCESS_DENIED. Под WinXP без траблофф. Сегодня протестирую на WinXP x64. Предполагаю проблема возникнет также. Girder, Спасибо! Но это закруто для меня
здесь я читают 32 байта, начиная с адреса $FB000. Так всё-таки, коллеги, как разлочить обджек \Device\PhysicalMemory под Win2003? Добавлено @ 18:16 Обломс!!! Girder, твой сорсис не работает под Win2003! |
|||
|
||||
| bartram |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1606 Регистрация: 22.2.2004 Где: Russia, Samara Репутация: 3 Всего: 29 |
Вот тут откопал, вроде должно работать
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
А в 2003 ентот код я ни когда и не проверял
Кстати... выходит где? В ентой строке: if (Initialize=false) then exit; Или в ентой: if hSection=0 then exit; Или лудше протрассируй и посмотри на какой строчке трабла. PS: Там кстати... одна функция выводит инфу в мемо, а вторая дампит участок физ.памяти в файл... -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
bartram, cудя по твоему коду, если дескриптор mHandle секции не возвращён функцией ZwOpenSection, то весь последующий код бессмысленный, т.к. функция GetSecurityInfo привязывается именно к дескриптору mHandle. А если получен – то нет необходимости менять секьюрити-инфу.
Кста, секьюрити надо менять в случае записи в физ. память. Это сообщение отредактировал(а) jungle - 1.3.2006, 18:02 |
|||
|
||||
| jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
Вот оно, то самое:
As of Windows Server 2003 SP1, applications cannot access the \Device\PhysicalMemory object. Access to this object is limited to kernel-mode drivers. http://technet2.microsoft.com/WindowsServe...12ce351033.mspx Это сообщение отредактировал(а) Girder - 3.3.2006, 09:43 |
|||
|
||||
| jungle |
|
|||
![]() Аппаратный кодер Профиль Группа: Участник Сообщений: 40 Регистрация: 17.1.2006 Где: Беларусь Репутация: нет Всего: нет |
Girder, кстати, применять надо GetNamedSecurityInfo, а не GetSecurityInfo. Отличие в том, что первая возвращает параметры безопасности по имени объекта, а не по его хэндлу.
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 25 Всего: 155 |
Где, в коде bartram-а? PS: Да енто вообще лишнее(и то и другое)... когда можно просто сбросить в полный доступ для всех -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |