2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
1 | |
Передача сообщений в окно19.06.2011, 15:54. Показов 3404. Ответов 30
Метки нет (Все метки)
Есть прогрмка , написаная мной же с использованием MFC в которой имеется поле для ввода и кнопка.
По нажатию кнопки из текстового поля считывается содержимое сравнивается с некоторой строкой "паролем" и в еще одном поле выводится : угадан или не угадан пароль. Помогите написать что-то что смогло бы *перебирать* пароли, нажимать кнопку. Погугллив я нашел вроде, что это делается через сообщения типо sendMessage(,,,,); но вот не могу понять ни как узнать параметры для этой функции, ни как ее использовать Буду рад простым примерам программ , которые передают какому либо окну какое-либо сообщение (хоть нажатие кнопочки), ну и ссылкам на ресурсы где это доступно описано.
0
|
19.06.2011, 15:54 | |
Ответы с готовыми решениями:
30
Передача сообщений об ошибке пользователю Передача сообщений между exe файлами Передача сообщений в окно приложения Отправка сообщений в окно |
Каратель
|
|
19.06.2011, 16:15 | 2 |
0
|
19.06.2011, 16:16 | 3 | |||||
::SendMessage(дескриптор элемента-HWND, идентификатор сообщения, 1-параметр, 2 - параметр)
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
19.06.2011, 19:53 [ТС] | 4 |
возможно для этого нужна какая-то vs новая?
у меня 2008 пишет много всего нехорошего error C2065: 'HWND' : undeclared identifier error C2146: syntax error : missing ';' before identifier '_hwnd' error C2065: '_hwnd' : undeclared identifier error C2653: 'std' : is not a class or namespace name хотя windows.h и winuser.h подключены
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
19.06.2011, 22:48 | 5 |
Там в сообщении N 15 я пришёл к какому-то выводу:
Имитация клавишь в другом окне
1
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
20.06.2011, 22:49 [ТС] | 6 |
Замечательно!
Спустя 4 дня поисков что-то заработало ) Смог (ну точнее ваша программа смогла) ввести в поле ввода ! Ну я думаю теперь дело быстрее пойдет, всегда главное найти первый пример который заработает) Короче, еще раз спасибо. сейчас попробую кнупку нажимать таким же способом
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
20.06.2011, 23:04 | 7 |
Побаще будет
Управление калькулятором из другой программы
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
20.06.2011, 23:14 [ТС] | 8 |
Все, в текстовое поле сообщение вводится, кнопочка нажимается, остался один вопрос:
а как стирать содержимое текстового поля? ну то есть чтобы организовать перебор нада подставлять(готово), проверять (готово), стирать ( =( ) и заново как-то нада сообщение (<-) передавать ?
0
|
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
|
|
20.06.2011, 23:33 | 9 |
Ну наверное, это ты смотри справочник по сообщениям окну, здесь тоже можешь глянуть, может найдёшь чё, щас в личку напишу
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
||||||
20.06.2011, 23:40 | 10 | |||||
имхо не вижу целесообразности в подобной программе, кроме упражнения в программировании. т.к. проще реверсить исходный код испытуемой программы и определить пароль, чем перебирать. Кстати, каноническая защита от брутфорса - если не верный пароль поспим с секунду перед тем как вернуть ответ о неверном пароле. Данный метод делает брутфорс практически невозможным.
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
20.06.2011, 23:42 [ТС] | 11 |
SetWindowText(hwnd, "");
не работает, как ни жаль ( просто ничего не происходит, никаких ошибок, но текст остается на своем месте Да, исключительно упражнение в программировании
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|||||||||||
20.06.2011, 23:48 | 12 | ||||||||||
Запостите полный исходник, чтобы мы не играли в испорченный телефон Добавлено через 3 минуты или попробуйте функцию
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
||||||
20.06.2011, 23:57 [ТС] | 13 | |||||
вот так заработало как я хотел
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
||||||
21.06.2011, 00:17 | 14 | |||||
вместо цикла с посылкой WM_CHAR на каждый элемент массива используйте сообщение WM_SETTEXT и тогда ничего затирать не нужно будет, обработчик окна сам за вас все сделает при обработке сообщения WM_SETTEXT (псевдокод):
1
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
21.06.2011, 15:57 [ТС] | 15 |
Почему Object Viewer может не видеть окошко?
Есть программа, в которую мы подставляем значения, но она немного умнее той что я написал : она после неправильно введенного пароля выкидывает окошко , где нада опять же нажать кнопку , чтобы попробывать еще раз Так вот object не видит ни окошко ни кнопку в нем оО? А пока открыто это окошко ( о неправильном вводе) основное окно ни закрыть ни кнопки потыкать...
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.06.2011, 16:10 | 16 |
Ну как это не видит - BorBtn это и есть кнопки. Вы раньше нажимали кнопки из WinAPI, а это просто реализация кнопок из Борландовской старой библиотеки OWL.
Добавлено через 2 минуты Но если вы собрались заниматься брутфорсом данной проги имхо много быстрее будет найти внутри программы верные ответы.
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
21.06.2011, 16:14 [ТС] | 17 |
Неа, это он видит кнопочки которые в окошке основном, а кнопку ОК он не видет
он видит три кнопки (как я понимаю это окей (левого окна) хелп и кансел а второй окей не видит Добавлено через 3 минуты Найти ответы внутри самой прги это конечно заманчиво) Это делается чем-то типо IDA ? я просто только приблизительно знаю что это, да и асемблер у меня только в следующем семестре)
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.06.2011, 16:19 | 18 |
Вы про сообщение об ошибке? Это скорее всего функция типа MessageBox, только реализованная внутри OWL. Получить хендл этого окна можно вызвав, например GetForegroundWindow() а потом этому окну послать код клавиши Enter через функцию keybd_event() - отработает дефолтная кнопка - т.е. кнопка ОК.
0
|
2 / 2 / 0
Регистрация: 19.06.2011
Сообщений: 26
|
|
21.06.2011, 16:28 [ТС] | 19 |
так а вопрос про вытаскивание ответов из самой проги?
0
|
3071 / 1409 / 425
Регистрация: 19.01.2009
Сообщений: 3,880
|
|
21.06.2011, 16:46 | 20 |
Прога большая? можете запостить?
Не по теме: просто, когда человеку полезен ответ, он нажимает на "Спасибо", т.к. вы этого не делаете, подумалось, что я досаждаю Вам своими постами :)
0
|
21.06.2011, 16:46 | |
21.06.2011, 16:46 | |
Помогаю со студенческими работами здесь
20
Передача больших сообщений Окно вывода в студии - и посылка сообщений Передача сообщений по локальной сети Передача сообщений через pipe Передача сообщений между клиентами Передача сообщений через хендел Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |