| Посл.ответ | Сообщение | 
| 
 Ранг: 10.4 (новичок) Активность: 0.02↘0
 Статус: Участник
 
 | Создано: 19 мая 2013 15:09 · Личное сообщение ·  #1
 
Можно ли имея handle открытого файла из чужого приложения узнать путь/имя этого файла внешней программой? Если нет, то подскажите - как createfilew возвращает handle открытого файла в c++? Похоже что в eax...
  | Сообщение посчитали полезным: | 
|  | 
| 
  Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.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.02↘0
 Статус: Участник
 
 | Создано: 19 мая 2013 15:18 · Личное сообщение ·  #3
 
Поиск делал и в разных местах как раз пишут, что по handle чужого приложения просто ничего не возвращает, но все равно спасибо, попробую сам.
  | Сообщение посчитали полезным: | 
| 
  Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25
 Статус: Модератор
 retired
 
 | Создано: 19 мая 2013 15:23 · Личное сообщение ·  #4
 
Оно и понятно, что по чужому хендлу ничего не вернёт, процесс понятия не имеет про чужие хендлы, DuplicateHandle в зубы.
  | Сообщение посчитали полезным: | 
| 
 Ранг: 617.3 (!), 677thx Активность: 0.54↘0
 Статус: Участник
 
 | Создано: 19 мая 2013 15:45 · Личное сообщение ·  #5
 
Имя можно, путь наврядли, в PEB/TEB он не хранится, а универсально вроде брать и неоткуда.
  | Сообщение посчитали полезным: | 
| 
  Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25
 Статус: Модератор
 retired
 
 | Создано: 19 мая 2013 15:49 · Личное сообщение ·  #6
 
Vovan666Ты, видимо, имеешь в виду путь к софтине. В виста+ есть и для этого апи, опять же. Ну или не особо документированный натив. Но, насколько я понял, вопрос про путь к открытому файлу, а не к софтине.
  | Сообщение посчитали полезным: | 
| 
 Ранг: 590.4 (!), 408thx Активность: 0.36↘0.18
 Статус: Модератор
 
 | Создано: 19 мая 2013 19:44 · Личное сообщение ·  #7
 
А нельзя сделать DuplicateHandle в свой процесс и уже по нему GetModuleFileName ?
----- старый пень
  | Сообщение посчитали полезным: | 
| 
  Ранг: 2014.5 (!!!!), 1278thx Активность: 1.34↘0.25
 Статус: Модератор
 retired
 
 | Создано: 19 мая 2013 19:50 · Личное сообщение ·  #8
 
r_eGetModuleFileName хавает HMODULE, если приглядеться. Т.е. это не хендл, а база модуля по сути. И практически все работающие с ним функции ищут его в списке модулей в PEB. Т.е. это только для загруженных модулей. А ТС нужно не это, походу.
  | Сообщение посчитали полезным: | 
| 
  Ранг: 105.6 (ветеран), 36thx Активность: 0.1↘0
 Статус: Участник
 
 | Создано: 20 мая 2013 09:13 · Личное сообщение ·  #9
 
Archer, по мне так ТС надо инжектнуться, перехватить пару событий, и узнать все что душе угодно.
  | Сообщение посчитали полезным: | 
| 
  Ранг: 337.6 (мудрец), 224thx Активность: 0.21↘0.1
 Статус: Участник
 born to be evil
 
 | Создано: 20 мая 2013 16:13 · Личное сообщение ·  #10
 
Nt/ZwQueryObject
----- От многой мудрости много скорби, и умножающий знание умножает печаль
  | Сообщение посчитали полезным: |