Выдергивание картинки (C++)

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by {Worm}, 29 Oct 2009.

  1. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Есть программа, написана скорее всего на С или С++, отображает картинки, каким образом их можно выдернуть из проги... Прога показывает капчи и ниже поле эдит для ввода, т.е. мне нужно выдернуть картинку капчу из той проги... Подскажите куда копать... Не чего путного не приходит в голову
     
  2. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Эм перечитал и понял что не дописал, хочу написать прогу на С++ которая бы выдергивала капчу из той проги и обрабатывала её... Вопрос стоит как выдернуть...
     
  3. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,204
    Reputations:
    455
    как вариант вот что делать:
    1) находиш по названию окно проги.
    2) получаеш по HWND проги её HDC
    3) получаеш координаты окна, затем зная координаты картинки, ты копируеш часть экрана зная hdc, а там уже как угодно можно работать с ней
     
  4. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Спасибо! Буду ковыряться...
     
  5. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Эм, написал оболочку программы, проработал интерфейс, подошел к данной проблеме... В общем, опишу проблему. Через спай++ нахожу данное окошко (прога на дэльфи с которой ворую фотку) в общем спай находит тока окно и два дочерних элемента кнопку и поле эдит, картинка как бы в окно вделана... т.е. отдельно её сфотать не получается, т.е. обратиться к ней на прямую что бы извлечь только её изображение, а не всё окошко проги.
    В общем соит проблема как извлеч только фотку, размеры её всё время разные... т.е. не получится отследить координаты окна и вычесть или прибавить... В общем кто что посоветует???
     
  6. gold-goblin

    gold-goblin Elder - Старейшина

    Joined:
    26 Mar 2007
    Messages:
    936
    Likes Received:
    173
    Reputations:
    3
    Откуда капча берется? может легче отснифать траф если из нета.
     
  7. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,204
    Reputations:
    455
    Ну так ты делай скрин самой формы. А затем ищи фотку на форме. то что фотка имеет прямоугольный размер - это тебе даже поможет.
    т.е. просто тупо пробегаешься по пикселям от и сравниваеш текущий цвет с цветом фона формы. как изменился так значит пошла вотка и следоватлеьно нашел одну сторону изображения. И так с каждой стороны
     
  8. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Капча берется с кучи ресурсов, перед этим я думал вариант снифа, но эт как то сложно... Мб в будущем...

    slesh. Некоторые капчи, бесцветный фон у них, и сливаются с фоном... сейчас выбрал размер самой большой капчи и скриню по её размерам все остальные, хотя только пришла еще одна мысля в голову, завтра попробую...
    ЗЫ всем спасибо за советы
     
  9. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    С картинкой разобрался как захватывать, теперь при отправлении картинки через хттп веб реквест, прога отправляет данные в два захода, сначала шлет заголовок, А потом данные которые я добавляю в запрос (фотку и пару полей).

    1 запрос - Отправляется хеадер запроса (хост, контент тайп, боундари, кэш контрол и размер контента, потом идет переход \r\n На этом пакет обрывается

    2 запрос идет - все что я дописываю сам и отправляю через req.GetRequestStream().Write(data,0,(Int32)ms.Length);

    В общем не могу понять нафига он делит запрос на 2е части и как от этого избавиться, т.к. сервак меня нафиг посылает, он считывает тока 1 запрос, а второго не дожидается...
     
  10. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    UP обыскал и ру нет и буржуй нет, ответа не кто не знает и в разных версиях вроде по разному Х_х

    В общем Я создаю запрос через хттпвебреквест заполняю данными, записываю в него масиив, и при посылке прога его зачем то делит на 2а пакета в одном отсылает заголовок, а во втором пакете шлет данные которыми я заполнил запрос... В общем очень странно... Посоветуйте как с этим справиться... Уже всё перепробовал
     
  11. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    UP обыскал и ру нет и буржуй нет, ответа не кто не знает и в разных версиях вроде по разному Х_х

    В общем Я создаю запрос через хттпвебреквест заполняю данными, записываю в него масиив, и при посылке прога его зачем то делит на 2а пакета в одном отсылает заголовок, а во втором пакете шлет данные которыми я заполнил запрос... В общем очень странно... Посоветуйте как с этим справиться... Уже всё перепробовал

    Пишу на C#
     
  12. {Worm}

    {Worm} New Member

    Joined:
    11 Jul 2008
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Всё, сам разобрался... В 1 пакет не объединил, но заставил сервак обрабатывать их... Формировал до этого не верно
    Тему можно закрывать. Всем спасибо...
     
  13. OPF_Nik

    OPF_Nik New Member

    Joined:
    6 Nov 2009
    Messages:
    36
    Likes Received:
    3
    Reputations:
    -5
    Для того что бы из .exe вытягивать файлы есть спициальная прога: Restorator )))
    Качать тут:
    http://depositfiles.com/ru/files/lrkcstpfo
     
Loading...