ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Получить хендл на файл
  #1  
Старый 11.07.2008, 00:04
Аватар для razzzar
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
Question Получить хендл на файл

Интересует, есть ли еще способ получить хендл для файла, кроме как вызова NtCreateFile() ?..
PS: Usermode

Последний раз редактировалось razzzar; 11.07.2008 в 00:22..
 
Ответить с цитированием

  #2  
Старый 11.07.2008, 12:21
Аватар для Exile1985
Exile1985
Участник форума
Регистрация: 10.08.2006
Сообщений: 147
Провел на форуме:
404152

Репутация: 94
По умолчанию

Цитата:
Сообщение от razzzar  
Интересует, есть ли еще способ получить хендл для файла, кроме как вызова NtCreateFile() ?..
PS: Usermode
если не ошибаюсь при открытии файла функцией FileOpen возращается, так же как и в FileCreate.

В WinAPI функция FindFirstFile() возращает, так же зависит от того хендл какого именно файла ты хочешь получить, если библиотеки то вот:
Handle := GetModuleHandleA('Library.dll')

если процесса то можно так:
Код:
char szEXEName[ BUFSIZ ];

GetModuleFileName(
   NULL,   // для текущего модуля, подставь другой хэндл для другого
   szEXEName, // сюда будет записано имя модуля
   sizeof( szEXEName )-1
 );
 
Ответить с цитированием

  #3  
Старый 11.07.2008, 13:37
Аватар для razzzar
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
По умолчанию

Про NtOpenFile и так ясно, чот можно получить.
FindFirstFile() вообще не возвращасет никаких хедлов на файл.
Про модули это ты вообще не по теме
 
Ответить с цитированием

  #4  
Старый 11.07.2008, 13:49
Аватар для Jes
Jes
Постоянный
Регистрация: 16.04.2007
Сообщений: 398
Провел на форуме:
3371897

Репутация: 1462
По умолчанию

из ниоткуда ты хэндл не получишь ,
цитирую Рихтера:
Цитата:
Когда процесс инициализируется в первый paз, таблица описателей еще пуста. Но стоит одному из его потоков вызвать функцию, создающую объект ядра (например, CreateFtleMapping), как ядро выделяет для этого объекта блок памяти и инициализирует его, далее ядро просматривает таблицу описателей, принадлежащую данному процессу, и отыскивает свободную запись. Поскольку таблица еще пуста, ядро обнаруживает структуру с индексом 1 и инициализирует ее
тоесть для создания понадобится самому вызвыать файловую функцию , или для уже открытия 'искать' процесс который уже имеет доступ к описателю...

это что касается создания хэндлов ...
про получение -
Обязательно прочитай статью MS-REMа ...
http://wasm.ru/article.php?article=lockfileswork
 
Ответить с цитированием

  #5  
Старый 11.07.2008, 15:59
Аватар для razzzar
razzzar
Участник форума
Регистрация: 16.06.2007
Сообщений: 107
Провел на форуме:
725870

Репутация: 208
По умолчанию

Jes, спасибо за ссылку.
 
Ответить с цитированием

  #6  
Старый 11.07.2008, 16:49
Аватар для slesh
slesh
Reservists Of Antichat - Level 6
Регистрация: 05.03.2007
Сообщений: 1,985
Провел на форуме:
3288241

Репутация: 3349


Отправить сообщение для slesh с помощью ICQ
По умолчанию

есть возможность заюзать ядреную функцию NtVdmControl
она множет многое, но вот что именно хз - юзается она порой при эмуляции DOS
По крайней мере если через неё можно получить список файлов в дире, то сокрее всего и открыть как нибуть, но точно ен уверен
 
Ответить с цитированием

  #7  
Старый 11.07.2008, 19:27
Аватар для SlyBit
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

Репутация: 60
По умолчанию

slesh

Есть какая-нить инфа по этой функции? Нашел только эту статью, еще походу много инфы на азиатских сайтах, только там хер что поймешь.
 
Ответить с цитированием

  #8  
Старый 11.07.2008, 23:44
Аватар для 0verbreaK
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

SlyBit
http://www.wasm.ru/article.php?article=hidingnt

Код:
NTSTATUS NtVdmControl(        
                IN ULONG ControlCode,
                IN PVOID ControlData
        );
 
Ответить с цитированием

  #9  
Старый 12.07.2008, 01:13
Аватар для SlyBit
SlyBit
Познающий
Регистрация: 04.07.2008
Сообщений: 56
Провел на форуме:
390892

Репутация: 60
По умолчанию

0verbreaK

Я ж про нее и говорю...
 
Ответить с цитированием

  #10  
Старый 12.07.2008, 14:39
Аватар для 0verbreaK
0verbreaK
Постоянный
Регистрация: 30.04.2008
Сообщений: 323
Провел на форуме:
379101

Репутация: 136
По умолчанию

SlyBit у Гари Небета в справочнике по недокументированным функциям Native API есть описание этой функции, определена как:

Код:
ZwVdmControl performs a control operation on a VDM.
NTSYSAPI
NTSTATUS
NTAPI
ZwVdmControl(
IN ULONG ControlCode,
IN PVOID ControlData
);
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
GnuPG (GPG) - Цифровая подпись, шифрование elimS2 Безопасность 2 16.04.2008 10:00
Система удалённого администрирования SHARK v.3.0.0 SQL Защита ОС: вирусы, антивирусы, файрволы. 14 06.03.2008 15:25
Кто силен в bash? помогите плз решить задачки... Dj Skeleton™ *nix 28 19.12.2007 13:03
Права доступа в *nix системах Scipio Авторские статьи 21 16.12.2007 06:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ