Посл.ответ |
Сообщение |
Ранг: 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
----- От многой мудрости много скорби, и умножающий знание умножает печаль | Сообщение посчитали полезным: |