| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Перехват PR_Write |
| Автор: lollollollol 14.9.2013, 19:09 | ||||
| Продолжаю попытки написать свой снифер, для IE и всех его оболочек работает как нужно. Дальше решил разобраться с Лисой. Пытаюсь перехватить функцию PR_Write из nspr4.dll
Но как результат, сразу при старте, лиса вылетает с ошибкой, текст примерно такой: Ошибка 0x0657687, память не может быть Read 0x000000 Вот так объявил функцию, на сколько вижу из описания https://developer.mozilla.org/en-US/docs/PR_Write всё сделал правильно
Типы переменных менял по всякому, pointer,integer,dword, firefox всё равно вылетает при запуске. Полез в гугль, нашел пример http://nopaste.me/paste/4d775dbb1fa97 Но как результат - пакеты не ловятся, и вылетает не сразу, а после перехода по ссылке на сайте. Помогите разобраться в чём ошибка, как правильно перехватить трафик лисы? заранее благодарен, спасибо:) |
| Автор: Illusion Dolphin 14.9.2013, 20:16 | ||||
Или всё-таки как в приере cdecl ?
А вы уверены что buf не может быть null? Добавлено через 1 минуту и 9 секунд И в дебаге смотрели по адресу 0x0657687? Какой колстэк при этом? В функцию вообще заходит my_PR_Write? |
| Автор: lollollollol 14.9.2013, 20:22 | ||||||
Пробывал. Прописал как в примере
Даже если так, строка OutputDebugStringA(PChar('- PR_Write - - - - - - - - - - - - - - - - - - - - - - - - -')); должны отобразиться, но вылетает при старте программы
Нет не смотрел, сейчас гляну. Но думаю в функцию не заходит, иначе бы увидел '- PR_Write - - - - ... Всё, проблему решил! банальная невнимательность! Только зря потратил ваше время, Спасибо вам огромное! |