|
Вопросы по GUI - Общение разработчиков - Программирование для Perfect World, общение и обсуждене разработок |
20.12.2012, 20:27
|
#1
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Вопросы по GUI
Прочитал темы но так и не понял как можно допустим отправить сообщение в чат или ввести , что-либо в строку ввода логина или паса . Может кто с этим помочь ( пишу на Delphi) . Так же наткнулся на программу от dwa83 ,которая сканирует структуру окна и его контролы , она не работает на последней версии ру оффа ?
|
|
|
30.01.2013, 15:44
|
#2
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Вопросы по GUI
|
Цитата: |
|
|
|
|
|
|
|
|
|
Прочитал темы но так и не понял как можно допустим отправить сообщение в чат или ввести , что-либо в строку ввода логина или паса
|
|
|
|
|
|
Все подобные элементы ввода имеют в своей структуре указатель на текст, который в данный момент написан в элементе. Но в память по данному адресу напрямик писать не стоит, не получится, так как все указатели на текст подобных элементов в изначальном состоянии(текстовое поле пустое) указывают на одну и ту же область памяти по-умолчанию, и попытки писать по этому адресу текст приведут к появлению этого текста сразу во всех подобных элементах. Следует поступить так: выделить в клиенте дополнительную память под, например, логин, исходя из максимальной длинны логина * 2 + 2_завершающих_нуля(так как юникод). Далее нужный логин прописываем(инжектим) в эту память, а после этого в структуре текстового элемента меняем значение указателя, чтобы он указывал не на дефолтное место, а на наш текст. Текст логина мгновенно появится в строке ввода.
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
30.01.2013, 20:43
|
#3
|
|
|
|
Рыцарь-лейтенант
|
Регистрация: 31.01.2011
Сообщений: 413
Популярность: 14489
Золото Zhyk.Ru: 300
Сказал(а) спасибо: 77
Поблагодарили 361 раз(а) в 145 сообщениях
|
Re: Вопросы по GUI
________________
Больше не занимаюсь читами, ушёл в серверную часть. Новый ник - int 3.
P.S. Но я всё такой же добрый модератор раздела PW.
|
|
|
30.01.2013, 21:32
|
#4
|
|
|
|
Разведчик
|
Регистрация: 04.09.2010
Сообщений: 20
Популярность: 10
Сказал(а) спасибо: 14
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: Вопросы по GUI
|
|
|
31.01.2013, 16:50
|
#5
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Вопросы по GUI
|
Цитата: |
|
|
|
|
|
|
|
|
|
не подскажете, как выделить память в клиенте на делфях? )
|
|
|
|
|
|
кататак
// ---- Выделяем место в памяти процесса
Addr := VirtualAllocEx(ProcessID, nil, 256, MEM_COMMIT, PAGE_READWRITE);
// ---- и записываем туда наши данные
WriteProcessMemory(ProcessID, Addr, Data, 256, lpNumberOfBytes);
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
01.02.2013, 12:20
|
#6
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Re: Вопросы по GUI
|
|
|
01.02.2013, 14:08
|
#7
|
|
|
|
Пехотинец
|
Регистрация: 21.03.2012
Сообщений: 83
Популярность: 1178
Сказал(а) спасибо: 18
Поблагодарили 101 раз(а) в 53 сообщениях
|
Re: Вопросы по GUI
Попробую обьяснить подробнее
Вот у нас есть клиент, в его памяти находится структура нужного нам элемента, например такая
ширина 4 байта
высота 4 байта
глубина 4 байта
фигня 4 байта
АДРЕС_ГДЕ_НАХОДИТСЯ_ВВЕДЁННЫЙ_ТЕКСТ 4 байта
ещё много всего
так же есть структура другого элемента, где всё так же
ширина 4 байта
высота 4 байта
глубина 4 байта
фигня 4 байта
АДРЕС_ГДЕ_НАХОДИТСЯ_ВВЕДЁННЫЙ_ТЕКСТ 4 байта
ещё много всего
Так вот, если мы не трогали эти два поля ввода и они пусты, то адрес текста у них один и тот же, и указывает не понятно куда.
И если мы возьмём этот адрес а потом по этому адресу в клиент впишем наш текст, то выйдет так, что в структуре ОБОИХ ПОЛЕЙ ВВОДА адрес будет так же один и тот же, и текст там один и тот же(только если мы начнём писать хотя бы один символ в первое поле, то клиент динамически выделяет в памяти место для хранения текста, и в структуре элемента адрес будет уже тот, где этот новый текст находится).
Так вот при работе нашей проги мы вручную текст никуда не вводим, и потому клиент не выделяет динамически память для текста, это мы должны сделать сами. Подключаемся к клиенту, выделяем место под текст, записываем наш текст в эту выделенную память, а адрес по которому записали текст вписываем в структуру элемента(АДРЕС_ГДЕ_НАХОДИТСЯ_ВВЕДЁННЫЙ_ТЕКСТ 4 байта).
Есть и проще способ писать текст в поля ввода - это посылка нажатия клавиш, но тут уже свои ограничения пойдут(должно быть активно окно и тд и тп).
________________
╔═╗
║ ˑ ˑ ╬ ╬
╚═╝
|
|
|
02.02.2013, 00:14
|
#8
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Вопросы по GUI
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
Последний раз редактировалось VeTaL_UA; 02.02.2013 в 00:17.
Причина: Добавлено сообщение
|
|
|
02.02.2013, 08:13
|
#9
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Re: Вопросы по GUI
|
|
|
02.02.2013, 10:46
|
#10
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Вопросы по GUI
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
03.02.2013, 07:23
|
#11
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Re: Вопросы по GUI
|
|
|
03.02.2013, 13:36
|
#12
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Вопросы по GUI
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
03.02.2013, 17:51
|
#13
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Re: Вопросы по GUI
|
|
|
03.02.2013, 18:21
|
#14
|
|
|
|
Лейтенант-командор
|
Регистрация: 12.08.2010
Сообщений: 727
Популярность: 30569
Золото Zhyk.Ru: 1
Сказал(а) спасибо: 57
Поблагодарили 645 раз(а) в 386 сообщениях
|
Re: Вопросы по GUI
________________
Принимаются пожертвования любых размеров в фонд поддержки начинающих программистов
Кошельки: WMZ - Z276844220882; WMR - R231028582939; WMU - U394136909210; ЯД - 410011494605270.
Perfect World: PWDatabaseScanner, Client, PWNickRenamer, PWClientRenamer, База логинов PW, Гайд по варУ, Зарабатываем репутацию.
Delphi: Авторизация на сайте с помощью Indy, Загрузка изображений с интернета в TImage с помощью Indy, Автоматическая смена стандартной версии Indy в Delphi на Indy 10.0.76 / 10.1.5, Основы парсинга с помощью Indy, Делаем Updater до программы с помощью Indy.
Other: ShowIP, FFUUU смайлы в QIP, Как играть в Minecraft (видеокурс), Как мы захватили человечество :D, Энергия в Лицемер/TopFace, PasGen.
|
|
|
04.02.2013, 11:15
|
#15
|
|
|
|
Разведчик
|
Регистрация: 18.12.2012
Сообщений: 2
Популярность: -32
Сказал(а) спасибо: 2
Поблагодарили 15 раз(а) в 2 сообщениях
|
Re: Вопросы по GUI
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] вопросы
|
ddsssqqq |
Вопросы и ответы, обсуждения |
8 |
03.03.2014 11:02 |
[Помогите!] вопросы.
|
CyberNEŦik |
Вопросы и ответы, обсуждения |
4 |
25.09.2012 22:01 |
[Помогите!] Вопросы)
|
AlanMix |
Общение и обсуждение |
9 |
14.04.2012 23:51 |
Вопросы!
|
Сашка™ |
Общение и обсуждение, архив Point Blank |
12 |
06.01.2012 12:32 |
[Помогите!] вопросы о PWI
|
ятру |
Общение и обсуждение Perfect World |
8 |
03.03.2011 19:08 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 07:55.
|
|