Привет! Как программно переместить курсор мыши или кликнуть за пределами окна своей программы? И система не подозревала, что движение мыши было сэмулировано. То есть она думала, что юзер двигает мышь и кликает где то) Так же как эмулировать нажатие клавиш. Я пишу переборчик паролей) Прога защищена, поэтому будет быстрей написать эмулятор перебора через окошко ввода и нажатия ОК, чем разбираться с защитой) Способ конечно извратный, но он займет меньше времени. Кстати есть программы для написания макросов, которые как раз и занимаются эмулированием мыши и клавы, но вот мне не понятно, как они это делают. Да и синтаксис у них слабоват, что бы реализовать переборчик.
переместить с помощью SetCursorPos, получить HWND с помощью WindowFromPoint, послать сообщение с помощью SendMessage А зачем курсор-то двигать? Можно просто получить дескриптор нужного окна (FindWindow) и послать соответствующее сообщение.
rmn Он совершенно прав - не 2345 лет, а где-то на порядок меньше . Все же, видимо программа недостаточно защищена - в хороших вариантах после некоторого кол-ва ошибок, время аутентификации должно расти экспоненциально
Да там защита заключается в каком-то неизвестном распаковщике. PEidentifier его не определил, Оля с ним справится не может. Ну дальше я не стал копать) А пароль кстати 3х символьным оказался)
3-х символьный пароль за 20 миниут руками перебирал, всего -то 1000 комбинаций. т.к. нечего мозг ебать - карандашь, листок и руки - все что нужно!..
KiNDeR КОличество символов не всегда является определяющим. К примеру, в банкоматах используются 4-циферные пароли, т.е. тоже 1000 комбинаций, но не ломаются же перебором
так в банкоматах ограничения на 3 неправельных ввода и абздец, карту хрен вытащишь )) А вообще, на мой взгляд, если ограничений на колличество неправильно введенных паролей нет, то прога сводиться к тривиалу: 1. получить хендл поля ввода 2. получить хендл кнопки "ОК" или как ее там... 3. Послать WM_SETTEXT в поле ввода 4. Послать WM_COMMAND с хендлом кнопки "ОК" 5. проанализировать рееакцию на ввод
KiNDeR А я думал, что во всех цивилизованных странах такие банкоматы уже запретили Вот это обычно не так просто сделать. Причём реакцию на ввод иногда ещё нужно дождаться.
я тоже так думал... ( но на просторах моей Родины еще встречаются... А по части 5-го пункта - т.к. программа пишеться под конкретную прогу, то все сначал можно опробывать в ручную, и визуально проследить цепь событий, происходящих после ввода пароля, проанализировав их - написать реакцию на них. Но стоит ли этого прога - вопрос не ясный - зачастую выгодней купить, чем взломать...
KiNDeR А как быть все же с тем, что: ? Это хорошо если она тебе скажет - фи, скажем диалогом - будет что ловить, а если у нее неверные пароли просто идут в игнор? Можно сделать паузу, но для верности уж очень много времени надо будет впустую переводить, проще уж руками Как заметил в своей книге Касперски - Far для xUSSR регистрируется бесплатно, но это не спасает его от взлома
Это хорошо если она тебе скажет - фи, скажем диалогом - будет что ловить, а если у нее неверные пароли просто идут в игнор? Ну говорю же предварительный осморт нужно провести... В конце-концов, что мешает снять дамп памяти, с распакованным кодом программы?.. Это не дело так писать,... Да, грамотность страдает, это от того, что мало худ. литературы читаю, но я над этим работаю...
Cyber_Mozg До написании нормальной проги руки не дошли. Вначале написал простенький макрос в ACTool. Он только циферные пароли набирает; повезло, хватило этого. Если интересно, могу кинуть листинг. Но все-таки раньше возникала идея написать подобный переборщик, но как то руки не доходили.
Quantum да ребята отстает европа по цивилизации у нас в Лондоне тоже такие. В Бельгии если за год не поменяли то тоже. а вообще мне интересно как эмулировать движения мыши да так чтоб без фанатизма: типа переставлять координаты на каждый мм. Хочу эмулировать в полноекранном приложении (играть) с другого компа
Ответ чисто по теме: Чтобы не прыгать с бубном и с hwnd окон и оконными сообщениями, нужно использовать функцию SendInput (ну или keybd_event/mouse_event, они просто более старые). Но ничего нельзя защитить - на функцию можно поставить перехват.