Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перехват PR_Write 
V
    Опции темы
lollollollol
Дата 14.9.2013, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



Продолжаю попытки написать свой снифер, для IE и всех его оболочек работает как нужно.
Дальше решил разобраться с Лисой.
Пытаюсь перехватить функцию PR_Write из nspr4.dll

Код

  Patch('nspr4.dll','PR_Write',@my_PR_Write,@old_PR_Write);


Но как результат, сразу при старте, лиса вылетает с ошибкой, текст примерно такой:
Ошибка 0x0657687, память не может быть Read 0x000000

Вот так объявил функцию, на сколько вижу из описания
https://developer.mozilla.org/en-US/docs/PR_Write
всё сделал правильно

Код

function my_PR_Write(fd: pointer; buf: pointer; amount: DWORD):integer; stdcall;
begin
  OutputDebugStringA(PChar('- PR_Write - - - - - - - - - - - - - - - - - - - - - - - - -'));
  OutputDebugStringA(Pchar(buf));
  OutputDebugStringA(PChar('- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -'));
  Result:=old_PR_Write(fd,buf,amount);
end;

Типы переменных менял по всякому, pointer,integer,dword, firefox всё равно вылетает при запуске.

Полез в гугль, нашел пример
http://nopaste.me/paste/4d775dbb1fa97

Но как результат - пакеты не ловятся, и вылетает не сразу, а после перехода по ссылке на сайте.


Помогите разобраться в чём ошибка, как правильно перехватить трафик лисы?

заранее благодарен, спасибо:)


Это сообщение отредактировал(а) lollollollol - 14.9.2013, 19:11
PM MAIL   Вверх
Illusion Dolphin
Дата 14.9.2013, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1198
Регистрация: 3.5.2003

Репутация: 4
Всего: 63



Цитата

stdcall;

Или всё-таки как в приере cdecl ?
Цитата

OutputDebugStringA(Pchar(buf));

А вы уверены что buf не может быть null?

Добавлено через 1 минуту и 9 секунд
И в дебаге смотрели по адресу 0x0657687? Какой колстэк при этом? В функцию вообще заходит my_PR_Write? 


--------------------
В мире всего две бесконечности: вселенная и человеческая глупость... На счёт вселенной я не уверен.
Шифрование и организация фотографий - Photo Database 4.5
PM MAIL WWW ICQ   Вверх
lollollollol
Дата 14.9.2013, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 287
Регистрация: 12.3.2013

Репутация: нет
Всего: нет



Цитата

Или всё-таки как в приере cdecl ?

Пробывал. Прописал как в примере

Цитата

А вы уверены что buf не может быть null?

Даже если так, строка
 OutputDebugStringA(PChar('- PR_Write - - - - - - - - - - - - - - - - - - - - - - - - -'));
должны отобразиться, но вылетает при старте программы

Цитата

И в дебаге смотрели по адресу 0x0657687? Какой колстэк при этом? В функцию вообще заходит my_PR_Write?  

Нет не смотрел, сейчас гляну.
Но думаю в функцию не заходит, иначе бы увидел '- PR_Write - - - - ...



Всё, проблему решил! банальная невнимательность!

Только зря потратил ваше время, Спасибо вам огромное!

Это сообщение отредактировал(а) lollollollol - 14.9.2013, 20:37
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0421 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.