|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
я пробовал только на в7сп1 на хр я не пробовал игру ... |
|||
:
Нравится:
Не нравится:
|
|||
26.12.2011, 22:55 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
сложно сходу вникнуть в длинный код. аппаратурапервый пример просто устанавливает курсор мыши в заданную позицию objProtectSample.SetCursorPosSampleV01? да, он, я так понял, на основе чистого SetCursorPos без каких-либо манипуляций. понятное дело, рапой прога кикается аппаратуравторой пример двигает курсор мыши десять раз objProtectSample.SetCursorPosSampleV02? это первый пример двигал мышь несколько раз. а второй пример у меня не делал вообще ничего аппаратуратретий пример нажимает клавишу "1" на клавиатуре четвертый пример устанавливает курсор мыши в заданную позицию и кликает в этой позиции О_о у меня только 2 примера))) я набрасал с нуля черновой вариант для SetCursorPos, он оказался ровно в 100 раз меньше по объёму, но и работает совсем по-другому, а хотелось бы как у вас. SetCursorPos и правда работает. после этого взбунтовался геймгуард и теперь игра не запускается на всех 3 компах) либо проблема у самой игры, либо геймгуард решил забанить мой айпи, который ещё у нескольких сотен человек в городе) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:07 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторО_о у меня только 2 примера Public Sub TestV01() Dim objProtectSample As ProtectSampleV01C Set objProtectSample = New ProtectSampleV01C ' objProtectSample.LoadedFunctionListUse = False ' objProtectSample.SetCursorPosSampleV01 ' objProtectSample.SetCursorPosSampleV02 ' ' objProtectSample.LoadedFunctionListUse = True ' objProtectSample.SetCursorPosSampleV01 ' objProtectSample.SetCursorPosSampleV02 ' ' objProtectSample.LoadedFunctionListUse = False ' objProtectSample.SendInputSampleV01 ' objProtectSample.SendInputSampleV02 ' ' objProtectSample.LoadedFunctionListUse = True ' objProtectSample.SendInputSampleV01 ' objProtectSample.SendInputSampleV02 End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:17 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратура, вы правы, проверил keybd_event в обход системной dll - не работает не только в окне игры, но в блокноте при включённой игре. видимо, эти функции перехватываются не на dllке, а в ядре ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:18 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратура' objProtectSample.LoadedFunctionListUse = False ' objProtectSample.SetCursorPosSampleV01 ' objProtectSample.SetCursorPosSampleV02 это один пример скопированный 3 раза) ' objProtectSample.LoadedFunctionListUse = True даёт ошибку в любом случае ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:19 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторвзбунтовался геймгуард а как именно? гейгард сразу стал ругаться или через какое-то время? я в игру не входил тк не заводил логин пароль а только по логин скрину ездил курсором ничего не ругался ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:20 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторэто один пример скопированный 3 раза) ' objProtectSample.LoadedFunctionListUse = True даёт ошибку в любом случае не понял почему один почему дает ошибку когда true когда работает я вышеписал что это восемь небольших тестов ' objProtectSample.LoadedFunctionListUse = False ' objProtectSample.SetCursorPosSampleV01 ' objProtectSample.SetCursorPosSampleV02 я считаю их как два 1 objProtectSample.LoadedFunctionListUse = False objProtectSample.SetCursorPosSampleV01 ' objProtectSample.SetCursorPosSampleV02 2 objProtectSample.LoadedFunctionListUse = False ' objProtectSample.SetCursorPosSampleV01 objProtectSample.SetCursorPosSampleV02 ну и остальные аналогично сначала надо их прогнать без игры и сравнить поведение с игрой ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:24 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
этот двигает один раз Public Sub SetCursorPosSampleV01() Dim lngX As Long Dim lngY As Long Do While True FunctionListLoadIfUsed FunctionSelectorCreate lngX = 400 lngY = 200 SetCursorPosWithCheck lngX, lngY FunctionListUnloadIfUsed Exit Do Loop End Sub а этот 10 Public Sub SetCursorPosSampleV02() Dim lngX As Long Dim lngY As Long Dim lngCount As Long Dim lngInterval As Long Do While True FunctionListLoadIfUsed FunctionSelectorCreate lngX = 400 lngY = 200 lngCount = 10 lngInterval = 500 SetCursorPosInLoopWithCheck lngX, lngY, lngCount, lngInterval FunctionListUnloadIfUsed Exit Do Loop End Sub ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:37 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратура, начали выходить ошибки геймгуарда. я тоже не входил. удалил папку(причём даже пустая папка при выключенной игре не удалялась после перезагрузки, это настораживает), продолжил эксперименты. выводы: 1) до сих пор не могу скомпилировать проект по вашему методу 2) найден другой способ обхода защиты, очень простой, но он работает только на XP и при закрытии всегда завершается с ошибкой) 3) можно перемещать мышь по окну игры(это было возможно и простыми средствами, т.е. дать фокус своей программе, переместить мышь в нужное место, дать фокус игре, поэтому разработчики игры и не заморачивались над блокировкой перемещения, это бесполезно) 4) имитации нажатий перехватываются не в Dll, а ниже. первый пример просто устанавливает курсор мыши в заданную позицию второй пример двигает курсор мыши десять раз да, но при objProtectSample.LoadedFunctionListUse = True ошибка, почему - хз ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:39 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
автор4) имитации нажатий перехватываются не в Dll, а ниже согласен автор3) можно перемещать мышь по окну игры(это было возможно и простыми средствами, т.е. дать фокус своей программе, переместить мышь в нужное место, дать фокус игре, поэтому разработчики игры и не заморачивались над блокировкой перемещения, это бесполезно) странно неужели я не заметил мне казалось что мышь и двигаться не будет при вызове SetCursorPos я поэтому и написал этот перехват тк без него не работало надо будет посмотреть еще раз автор1) до сих пор не могу скомпилировать проект по вашему методу не понимаю все должно компилится надо создать пустой проект бейсика и затащить в него все файлы после этого скопилить и создать exe или вообще в отладчике бейсика прямо запустить автор2) найден другой способ обхода защиты, очень простой, но он работает только на XP и при закрытии всегда завершается с ошибкой) какой? авторobjProtectSample.LoadedFunctionListUse = True именно когда objProtectSample.LoadedFunctionListUse = True используются подгруженные функции иначе используются обычные апи функции специально сделал один флажок чтобы легко переключаться между версиями ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 17:52 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратуравсе должно компилится кент перформ рекйюрест оперэйшон. попробую поискать ошибку. аппаратуракакой? я тупо создал свою dll)))))))))))) в итоге код - 1 строчка))) уже можно создать бота, если попросить сделать то устройство, ссылку на которое вы приводили. только не 1 нажатие в 1.25сек а 10+++ нажатий в секунду. вполне работоспособный бот. но, я думаю, можно докапаться до программного решения. скоро постараюсь привести результаты моих поисков среди драйверов ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:01 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторя тупо создал свою dll)))))))))))) в итоге код - 1 строчка))) очень информативно и что же это за строчка и что делать с этой длл авторуже можно создать бота, если попросить сделать то устройство, ссылку на которое вы приводили. только не 1 нажатие в 1.25сек а 10+++ нажатий в секунду. требуется 10 нажатий в секунду? странно человек же так не может быстро жать авторкент перформ рекйюрест оперэйшон прога тоже такую ошибку может выдает при выполнении но при чем здесь компиляция ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:14 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратураочень информативно и что же это за строчка и что делать с этой длл удивляет? значит мне первому пришла такая неадекватная мысль, как скопировать user32.dll под именем blablablamo9dllineipet.dll в system32, а потом в объявлении функции Код: vbnet 1. 2.
всё... спокойненько вызываем через свою dll) : 1 строчка: Код: vbnet 1.
конечно, ваш вариант мне больше нравится, надо будет вникнуть в код. у моего способа найдены 2 недостатка: при закрытии процедуры прога закрывается крахом(поэтому не запускайте в реэиме отладчика, чтобы не завершить всю среду, а крах ехешника в момент закрытия не так страшно) и мой способ не работал в виндоус7х64(не находилась моя dllка программой) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:25 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратурапрога тоже такую ошибку может выдает при выполнении но при чем здесь компиляция сам удивляюсь) под компиляцией я имел ввиду запуск в режиме отладчика либо готового exe аппаратураребуется 10 нажатий в секунду? странно человек же так не может быстро жать нужно исходить не из средней скорости нажатий, а максимально возможной. к примеру, я нажимаю клавиши примерно с такой скоростью во время битв + комбинации из клавиш и бот для чата, наверняка реализумые только при помощи экранной клавиатуры, потребуют высокой скорости нажатий. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:31 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторскопировать user32.dll под именем blablablamo9dllineipet.dll в system32 вот слона-то я и не заметил! ну конечно а я все эти же действия руками делал в своем примере чтобы находилась Lib "blablablamo9dllineipet" можно прямо путь указать Lib "c:\folder\blablablamo9dllineipet" если крэшится то возможно из-за того что библиотека имеет еще и внутренне имя именно оно используется загрузчиком выгрузчиком надо найти в бинарном редакторе его и заменить на другое не знаю сколько этих мест там но это просто определить создав две длл с одинаковым кодом но с разными именами и сравнив их ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 18:58 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
ну вообщем выводы как я понял такие 1 SetCursorPos работает только если подменить длл 2 можно использовать аппаратный автокликер 3 этого достаточно чтобы реализовать имитацию нажатий на клаву и мышь 4 защита теоретически и я почти уверен что практически все равно пытается проверить что мышь двигается именно человеком например просто сканируя через определенное время позицию и на основании последовательности позиций делает вывод о том двигает ли мышью человек 5 играть в игру невозможно только клавиатурой 6 зато как определить кто нажимает клаву человек и комп мне не приходит в голову 7 защита работает на уровне администратора и поэтому может делать с компом все что захочет 8 в принципе можно мониторить порт usb com ps2 на предмет того идут ли из него сигналы если не идут а мышь двигается то это подозрительно тк похоже на программную имитацию и тогда и драйвер не поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 19:11 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратурачтобы находилась Lib "blablablamo9dllineipet" можно прямо путь указать Lib "c:\folder\blablablamo9dllineipet" проверил, что-то не рабоатет. аппаратура4 защита теоретически и я почти уверен что практически все равно пытается проверить что мышь двигается именно человеком например просто сканируя через определенное время позицию и на основании последовательности позиций делает вывод о том двигает ли мышью человек эта проверка легко обходится, мысленно уже набрасал будущий код аппаратура6 зато как определить кто нажимает клаву человек и комп мне не приходит в голову по отслеживанию временных промежутков и последовательности нажатия клавиш. повторюсь, я смогу это легко обойти) аппаратура8 в принципе можно мониторить порт usb com ps2 на предмет того идут ли из него сигналы если не идут а мышь двигается то это подозрительно тк похоже на программную имитацию и тогда и драйвер не поможет да, возможно. единственный луч надежды - экранная клавиатура, которая работает без свяких физических устройств. т.е. либо драйвер поможет, либо игра намеренно разрешает ЭК имитировать нажатия, тогда нужно будет подделывать ЭК. в любом случаю результат принесёт пользу. я пока что разбираюсь в направлении драйверов. буду сообщать по мере появления полезной инфы ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 19:23 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
аппаратурасоздав две длл с одинаковым кодом но с разными именами и сравнив их получим две одинаковые по содержанию dll с разными именами) как это поможет, пока что не вкурил) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 19:25 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
авторсоздав две длл с одинаковым кодом но с разными именами и сравнив их ну просто строка user32 храниться в файле в юникоде или не в юникоде ее в бинарном файле находим поиском и изменяем например на user33 просто вдруг таких строк много найдется тогда не знаю может их все надо тоже изменить а предложил я создать две разные длл только для того чтобы не искать поиском а просто написать fc /b user32.dll user33.dll увидим отличия те такое сравнение двух файлов если нет под рукой специальной проги авторчтобы находилась Lib "blablablamo9dllineipet" можно прямо путь указать Lib "c:\folder\blablablamo9dllineipet" очень странно что не работает ведь бейсик 32 разряда и в 64 он работает все равно как 32 и даже не подозревает что работает под 64 а значит и дллки ищет свои тот же user32 ведь находит а он другой чем х64 но под рукой виндоус 64 нет проверить на себе не могу ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 19:37 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
хм. у меня и под XP не работает Код: vbnet 1. 2.
user327.dll лежит в C:\1\ аппаратуранаходим поиском и изменяем например на user33 если получится правильно прописать путь в dll, то менять имя не придётся, а значит проблема с выгрузкой исчезнет. если, конечно, в dll к тому же не прописан путь к system32))) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 19:43 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
может расширение dll надо добавить тк у меня на хр все работает ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 20:02 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
ошибка оказалась в таймере, туплю немного. проверил BelowZeroпроблема с выгрузкой исчезнет не исчезает. видимо авторв dll к тому же прописан путь к system32 а не только имя dll ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 20:10 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
да вылетает прога видать что-то делается при загрузке длл такое что предполагает только на один запуск сейчас поробую загрузить библиотеку с помощью LoadLibraryEx(DONT_RESOLVE_DLL_REFERENCES ) может поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 20:19 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
открыл user.32 блокнотом, найдены 2 записи s y s t e m 3 2 путь и ещё что-то. изменял по-разному эти записи. но всё не так просто. при изменении пути dllка просто перестаёт опознаваться как dll. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 20:36 |
|
Имитация нажатий. имитация сигнала
|
|||
---|---|---|---|
#18+
надо же помогло те загружаю с помощью Dim lngModuleHandle as Long lngModuleHandle = LoadLibraryExWinApi(StrPtr(strModulePath), 0 , WinApiE.DONT_RESOLVE_DLL_REFERENCES) SetCursorPos FreeLibrary(lngModuleHandle) lngModuleHandle = 0 теперь не падает получается когда установлен флажок DONT_RESOLVE_DLL_REFERENCES система не делает каких инициализаций ... |
|||
:
Нравится:
Не нравится:
|
|||
27.12.2011, 20:52 |
|
|
start [/forum/topic.php?fid=60&msg=37595812&tid=2158128]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
50ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 157ms |
0 / 0 |