eXeL@B —› Вопросы новичков —› Про перехват API функции |
Посл.ответ | Сообщение |
|
Создано: 02 марта 2018 17:07 · Личное сообщение · #1 Перехватываю функцию так Code:
При нажатии на кнопку - перехват работает норм. Но когда функция выполняется через TShockwaveFlash (там находится flash видеоплеер), функция не перехватывается. Как можно отловить эту функцию, которую вызывает плеер? |
|
Создано: 02 марта 2018 18:02 · Личное сообщение · #2 |
|
Создано: 02 марта 2018 18:10 · Личное сообщение · #3 |
|
Создано: 02 марта 2018 18:33 · Личное сообщение · #4 |
|
Создано: 02 марта 2018 18:53 · Личное сообщение · #5 Есть такие подозрения. Если я убираю HttpSendRequest(0,'',0,0,0);, то функция HttpSendRequestW будет отсутствовать в импортах, а запрос все равно проходит. Прога загружает Flash32_25_0_0_171.ocx. Но там отсутствует эта функция. Я начинаю подозревать что его вызывает библиотека, или эта же .ocx. Помогите разобраться. |
|
Создано: 02 марта 2018 19:24 · Личное сообщение · #6 |
|
Создано: 03 марта 2018 02:51 · Поправил: ClockMan · Личное сообщение · #7 |
|
Создано: 03 марта 2018 09:20 · Личное сообщение · #8 |
|
Создано: 03 марта 2018 11:52 · Личное сообщение · #9 |
|
Создано: 03 марта 2018 12:27 · Личное сообщение · #10 TelFon пишет: Можно по подробнее. Может наглядный пример есть? Code:
|
|
Создано: 04 марта 2018 00:47 · Личное сообщение · #11 |
|
Создано: 04 марта 2018 07:10 · Личное сообщение · #12 DenCoder пишет: А исходные 6 байт перехватываемой функи кто восстанавливать будет? Волшебное слово "Fixed" в названии функции "SetApiFixedHookGlobal" говорит о фиксированном хуке, который ставится один раз и присутствует постоянно, до завершения процесса. DenCoder пишет: И вместо 6 байт, 5 вполне хватило бы - jmp lpNewProc - (FUNC(GetProcAddress,hModule,lpszApiName) + 5) Это моя реализация и я так захотел. |
|
Создано: 08 марта 2018 13:20 · Поправил: difexacaw · Личное сообщение · #13 TelFon Вы долго будите разбираться в этом, тема заезжена до дыр". Для корректного изменения кода вам нужен будет морфер(конструктор). Который пересобирает код в буфер, а сама модификация кода должна происходить атомарно(cmpxchg). Никаким иным образом данная задача не решается, увы. Тем более на 64, где релатив адресация.) ps: дельфи не лучший яп, он считается унылым говном и не просто так. ----- vx |
eXeL@B —› Вопросы новичков —› Про перехват API функции |