Подменить содержимое поля ввода URL-адреса в Firefox

Тема в разделе "WASM.RESEARCH", создана пользователем fuckinff, 21 ноя 2009.

  1. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    Ктонибудь знает как можно это сделать? Внедряю в фф свою длл глобальными хуками, нужно нежелательные урл в поле ввода подменивать на желательные) Посмотрел сорсы, там черт ногу сломит, подскажите пожалуйста куда рыть. Это вообще возможно сделать? Благодарю!
     
  2. ptr

    ptr New Member

    Публикаций:
    0
    Регистрация:
    14 мар 2009
    Сообщения:
    130
    как варинтн:перехват (WSA)Recv c модификацией ответа на HTTP 302 Moved Temporary.
     
  3. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    легче тогда сразу в send прописывать в хедере свою урлу.
    еще вариант через nspr4.dll, вроде через нее можно хттпс хукать, не пробовал.
     
  4. Killer

    Killer New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2008
    Сообщения:
    316
    Напиши контролирующий NDIS ^_^
     
  5. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    задача заключается именно в подмене текста поля ввода данных. Напишу для наглядности пример.

    Юзер заходит на ya.ru, чето вводит в строке поиска и жмет найти. Поскольку в форме ya.ru указан action=yandex.ru?search=... то браузер какимто образом информирует контрол окна о том, что нужно изменить текст в строке адреса на yandex.ru?search=...

    Дак вот мне нужно чтобы при переходе на yandex.ru в поле ввода адреса отображалось ya.ru.

    Для ие это делается элементарным хуком wndproc, а вот с фф запара( он зараза не импортирует многие функции из длл как ие, и поэтому перехват осложняется очень значительно(

    Инструменты которые имеются:
    хук функций PR_read/PR_write/PR_poll в nspr, т.е. хедеры подменить могу. Хотя имхо HTTP 302 Moved Temporary не вариант, потому что перед тем как браузер получит этот ответ, адрес в строке уже подменится, а все должно быть прозрачным для юзера.

    Интересует юзермодный вариант решения проблемы)
     
  6. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    поправлюсь, при переходе и в процессе серфинга, т.е. просто сделать так чтобы ненужные сообщения до контрола поля не доходили
     
  7. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    какой-то бред, зачем это вообще нужно?))
    Ну похукай SendMessage и там фильтруй все сообщения...
     
  8. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    Задача очень специфическая и это очень нужно) С хуком SendMessage возникают проблемы - фф создает дохерища окон с одинаковым именем класса и неизвестно в какое из них приходят сообщения( Есть конечно вариант хукать все.. У фф какойто свой механизм обмена данными внутри приложения, кроссплатформенность..
     
  9. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    чем же он усложняется?
     
  10. Freeman

    Freeman New Member

    Публикаций:
    0
    Регистрация:
    10 фев 2005
    Сообщения:
    1.385
    Адрес:
    Ukraine
    hххp://ziyoumin.livejournal.com/1962.html
    в кратце - замена айпи в gethostbyname + замена хоста (и есле надо - скрипта) в сенде
     
  11. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    Ты наверно не совсем меня понял, перехватывать WndProc у фф несложно, но я под усложнением имел ввиду перехват функций фф, отвечающих за изменение строки адреса, а их перехватить можно если только по сигнатурам. Есть вариант использовать интерфейс IAccessible: http://www.codeproject.com/KB/winsdk/XMSAALib.aspx
     
  12. o14189

    o14189 New Member

    Публикаций:
    0
    Регистрация:
    19 июл 2009
    Сообщения:
    320
    лучше всего редиректить dns запросы
     
  13. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    достаточно гиморно получается, мне бы нужно это решить локальным хуком.
     
  14. fuckinff

    fuckinff New Member

    Публикаций:
    0
    Регистрация:
    21 ноя 2009
    Сообщения:
    32
    В процессе серфинга ие и фф строка браузера меняется только тогда, когда приходит ответ с сервера. Ктонибудь знает название функции в фф, которая отвечает за это?
     
  15. onSide

    onSide New Member

    Публикаций:
    0
    Регистрация:
    18 июн 2008
    Сообщения:
    476
    recv ? и вверх по кол стеку
     
  16. prorok

    prorok New Member

    Публикаций:
    0
    Регистрация:
    25 янв 2009
    Сообщения:
    25
    Для этого достаточно написать небольшое расширение