Сейчас на форуме: asfa, Rio, _MBK_, Adler (+8 невидимых)

 eXeL@B —› Вопросы новичков —› Узнать путь к файлу по handle из чужого приложения на c++
Посл.ответ Сообщение

Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 19 мая 2013 15:09
· Личное сообщение · #1

Можно ли имея handle открытого файла из чужого приложения узнать путь/имя этого файла внешней программой?

Если нет, то подскажите - как createfilew возвращает handle открытого файла в c++? Похоже что в eax...




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 мая 2013 15:15
· Личное сообщение · #2

Путь к файлу или к программе, что его открыла? Если первое, то http://msdn.microsoft.com/en-us/library/windows/desktop/aa364953(v=vs.85).aspx для виста+ или соответствующая не особо документированная нативная апи.
Они все возвращают в EAX, RTFM.
И что из этого нельзя было найти на первой же странице гугла, что потребовало создание топика?



Ранг: 10.4 (новичок)
Активность: 0.020
Статус: Участник

Создано: 19 мая 2013 15:18
· Личное сообщение · #3

Поиск делал и в разных местах как раз пишут, что по handle чужого приложения просто ничего не возвращает, но все равно спасибо, попробую сам.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 мая 2013 15:23
· Личное сообщение · #4

Оно и понятно, что по чужому хендлу ничего не вернёт, процесс понятия не имеет про чужие хендлы, DuplicateHandle в зубы.



Ранг: 617.3 (!), 677thx
Активность: 0.540
Статус: Участник

Создано: 19 мая 2013 15:45
· Личное сообщение · #5

Имя можно, путь наврядли, в PEB/TEB он не хранится, а универсально вроде брать и неоткуда.




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 мая 2013 15:49
· Личное сообщение · #6

Vovan666
Ты, видимо, имеешь в виду путь к софтине. В виста+ есть и для этого апи, опять же. Ну или не особо документированный натив. Но, насколько я понял, вопрос про путь к открытому файлу, а не к софтине.



Ранг: 590.4 (!), 408thx
Активность: 0.360.18
Статус: Модератор

Создано: 19 мая 2013 19:44
· Личное сообщение · #7

А нельзя сделать DuplicateHandle в свой процесс и уже по нему GetModuleFileName ?

-----
старый пень





Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 19 мая 2013 19:50
· Личное сообщение · #8

r_e
GetModuleFileName хавает HMODULE, если приглядеться. Т.е. это не хендл, а база модуля по сути. И практически все работающие с ним функции ищут его в списке модулей в PEB. Т.е. это только для загруженных модулей. А ТС нужно не это, походу.




Ранг: 105.6 (ветеран), 36thx
Активность: 0.10
Статус: Участник

Создано: 20 мая 2013 09:13
· Личное сообщение · #9

Archer, по мне так ТС надо инжектнуться, перехватить пару событий, и узнать все что душе угодно.




Ранг: 337.6 (мудрец), 224thx
Активность: 0.210.1
Статус: Участник
born to be evil

Создано: 20 мая 2013 16:13
· Личное сообщение · #10

Nt/ZwQueryObject

-----
От многой мудрости много скорби, и умножающий знание умножает печаль



 eXeL@B —› Вопросы новичков —› Узнать путь к файлу по handle из чужого приложения на c++
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати