Помощник
Здравствуйте, гость ( Вход | Регистрация )
|
|
18:04:2008, 21:33
|
|
Новенький ![]() Группа: Программист Сообщений: 19 Регистрация: 23:01:2008 Из: Минск (Беларусь) Пользователь №: 14 948 Репутация: 0
|
Ну что форумчане, у меня к вам три очень интересных вопроса:
1. Как найти окно в котором МОЖЕТ распологаться картинка (приложение написано фиг знает на чём, там даже у чекбоксов тип баттон!!!)? 2. Как получить адрес (возможно URL, а возможно и нет) этой картинки? 3. Как загрузить эту картинку в своё приложение? Зарание всем спасибо... |
|
Сообщение
#1
|
|
![]() |
|
|
19:04:2008, 07:42
|
|
Мегагуру ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 706 Регистрация: 15:11:2005 Пользователь №: 2 573 Репутация: 6
|
В общем случае - никак. надо смотреть на конкретное приложение, например настроить ее через свой прокси, или попытаться внедрившись в процесс найти где битмап лежит.
|
|
Сообщение
#2
|
|
|
|
19:04:2008, 08:02
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 905 Регистрация: 11:01:2007 Пользователь №: 8 750 Репутация: 28
|
|
|
Сообщение
#3
|
|
|
|
19:04:2008, 13:14
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 135 Регистрация: 27:02:2004 Пользователь №: 296 Репутация: 6
|
SaNn
Так картинка грузится с сервера или генерится локально? Показывается всегда в одном и том же контроле/месте окна, или где попало? Решение для картинки, загружаемой извне, написал grigsoft. Для генерируемой локально самим приложением - по заголовку получаем хендл окна, потом - GetWindowDC, потом BitBlt себе в битмап. |
|
Сообщение
#4
|
|
|
|
19:04:2008, 19:07
|
|
Новенький ![]() Группа: Программист Сообщений: 19 Регистрация: 23:01:2008 Из: Минск (Беларусь) Пользователь №: 14 948 Репутация: 0
|
В общем объясню что я хочу:
Мне захотелось написать свой spy для покера(Техас холдем), но как получить свои карты и карты флопа, тёрна и ривера я не знаю(((... |
|
Сообщение
#5
|
|
|
|
20:04:2008, 12:02
|
|
============== ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 905 Регистрация: 11:01:2007 Пользователь №: 8 750 Репутация: 28
|
Мухлеж?
|
|
Сообщение
#6
|
|
|
|
21:04:2008, 07:25
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 875 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Репутация: 31
|
|
|
Сообщение
#7
|
|
|
|
21:04:2008, 14:50
|
|
Новенький ![]() Группа: Программист Сообщений: 19 Регистрация: 23:01:2008 Из: Минск (Беларусь) Пользователь №: 14 948 Репутация: 0
|
Нет это не развод и не браузерный веб клиент...
В общем картинки лежат в папке с игрой... |
|
Сообщение
#8
|
|
|
|
21:04:2008, 14:57
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 875 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Репутация: 31
|
Посмотри Spy-ем есть ли окна для отображения карт. Если нет, то узнать какая карта была отрисована, ИМХО, нельзя. Аспекты сравнения картинок я не рассматриваю.
|
|
Сообщение
#9
|
|
|
|
21:04:2008, 16:27
|
|
Мегагуру ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 706 Регистрация: 15:11:2005 Пользователь №: 2 573 Репутация: 6
|
А хоть бы и были? не представляю разумную внутреннюю логику, по которой карты можно было бы прочитать из окна до того как будет необходимость отрисовать их лицом вверх. Попробовать, конечно, можно, но, на мой взгляд, единственный шанс здесь - как с любыми компьютерными игрушками - внедрение, поиск фрагментов памяти с текущей раскладкой, анализ окружения чтобы выделить правила.
Или речь здесь идет просто об автоматизации легальной игры, а не о взломе? Тогда да, окна могут помочь, но и без них - покер вроде игра с несложной логикой вполне можно выделять фрагменты окна с картами для стандартных ситуаций |
|
Сообщение
#10
|
|
|
|
22:04:2008, 07:56
|
|
Божественный ![]() ![]() ![]() ![]() ![]() Группа: Модеры Сообщений: 1 875 Регистрация: 4:09:2006 Из: Минск Пользователь №: 6 316 Репутация: 31
|
А хоть бы и были? Без окон будет еще хуже не представляю разумную внутреннюю логику, по которой карты можно было бы прочитать из окна до того как будет необходимость отрисовать их лицом вверх. Так ведь никто не говорит о получении карты до ее отрисовки. По крайней мере я так понял. В обратном случае без дизассемблирования ничего точно не выйдет. покер вроде игра с несложной логикой вполне можно выделять фрагменты окна с картами для стандартных ситуаций Если клиент позволяет играть переменному количеству человек (если в покере можно и карты флопа, тёрна и ривера я не знаю(((... Не разбираюсь в покере... Поясните что это за карты. Вы их явно не видите, так? но как получить свои карты Ну с этим более-менее понятно, так как эти карты Вы видите |
|
Сообщение
#11
|
|
|
|
22:04:2008, 17:54
|
|
Новенький ![]() Группа: Программист Сообщений: 19 Регистрация: 23:01:2008 Из: Минск (Беларусь) Пользователь №: 14 948 Репутация: 0
|
Цитата Или речь здесь идет просто об автоматизации легальной игры, а не о взломе? Тогда да, окна могут помочь, но и без них - покер вроде игра с несложной логикой вполне можно выделять фрагменты окна с картами для стандартных ситуаций Именно!!! Проверил, вроде какието окна есть, но их имени не могу получить, что сужественно уменьшило бы объём работы... |
|
Сообщение
#12
|
|
|
|
23:04:2008, 11:40
|
|
Продвинутый ![]() ![]() Группа: Программист Сообщений: 135 Регистрация: 27:02:2004 Пользователь №: 296 Репутация: 6
|
Имя наверняка есть у родительского (ну или главного) окна, а у искомых дочерних есть фиксированные координаты. Существенно уменьшит объём работы функция EnumChildWindows.
Upd: для изучения структуры чужих окон удобно использовать Spy++ из комплекта Visual Studio. Сообщение отредактировал Yason - 23:04:2008, 12:11 |
|
Сообщение
#13
|
|
![]() |
|
Текстовая версия | Сейчас: 20:07:2008 - 22:43 |