powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / дискриминация программистов
25 сообщений из 68, страница 1 из 3
дискриминация программистов
    #37554957
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть игра http://www.rzonline.ru/play.php#play , которая не позволяет имитировать в себя нажатия клавиш. не работает(мб не так юзал) keybd_event, mouse_event, перемещение мыши, sendkeys, SendInput, Keydown, WM_CHAR, а экранная клавиатура работает... за пример простой отправки единички в эту игру переведу 500руб яд.
когда начинал изучать vb6 ,казалось, программист может всё. создать игру, в которую будут задрачиваться миллионы, взломать ведущие мировые банки, на крайняк написать "Hello world!". но появились игры(почти все онлайн игры), которые ущемляют наши права! они блокируют наши программы, отказываются работать под ботами и хаками, игнорируют имитации нажатий клавы и мыши. такими темпами слово "программист" станет устаревшим, мы вымираем. программисты всех стран должны объединиться, дабы свергнуть игры-дикторов!
...
Рейтинг: 0 / 0
дискриминация программистов
    #37554969
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Below273когда начинал изучать vb6 ,казалось, программист может всё. создать игру, в которую будут задрачиваться миллионы, взломать ведущие мировые банки, на крайняк написать "Hello world!". но появились игры(почти все онлайн игры), которые ущемляют наши права! они блокируют наши программы, отказываются работать под ботами и хаками, игнорируют имитации нажатий клавы и мыши. такими темпами слово "программист" станет устаревшим, мы вымираем. программисты всех стран должны объединиться, дабы свергнуть игры-дикторов!
Бугага!!! )))))))))))
Лечится учится! Лечится учится! И еще раз лечится учится!
...
Рейтинг: 0 / 0
дискриминация программистов
    #37554988
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
невероятно толсто
...
Рейтинг: 0 / 0
дискриминация программистов
    #37555096
а может слать не игре нажатия а экранной клавиатуре а она уж пошлет игре
...
Рейтинг: 0 / 0
дискриминация программистов
    #37555915
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложение,

пробовал, не помогло. нашёл код http://forum.vingrad.ru/index.php?showtopi...t&p=2404095, но он на С++(
...
Рейтинг: 0 / 0
дискриминация программистов
    #37555949
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Below273предложение,

пробовал, не помогло. нашёл код http://forum.vingrad.ru/index.php?showtopi...t&p=2404095, но он на С++(
ссылка коряво скопировалась http://forum.vingrad.ru/index.php?showtopic=338301&view=findpost&p=2404095
...
Рейтинг: 0 / 0
дискриминация программистов
    #37555998
я не понял из постов получилось ли куда-то послать сообщения например в нотепад (блокнот)
есть api SendInput с его помощью можно послать и клавиатурное и мышиное сообщение
если не получилось послать экранной клавиатуре сообщение то это странно мне кажется должно сообщение от мыши посылаться
надо сделать так
SetCursorPos установить мышь в нужную точку экрана
SendInput с параметром mouse down
подождать (а может это и не нужно ждать пробовать надо и так и так) пока ждете кнопка на экранной клавиатуре должна быть нажата если сообщение дошло
SendInput с параметром mouse up

Естественнно в хелпе надо почитать какие и как передать параметры для SetCursorPos SendInput
А на каком языке написано значения не имеет
Объявите Public Declare Function ... и тд и пользуйтесь из бейсика

вот такой последовательностью я открывал меню в нотепаде
если получилось на нотепаде пробовать на экранной клавиатуре
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556039
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложение,

проделано много опытов, создано несколько топиков
если игра в фокусе, то ЭК не получает имитацию нажатий от проги
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556122
вот сделал то что написал проверил на нотепаде
пока прога ждет 2 секунды при запуске переключаюсь в нотепад
приходит нажатие как надо
надо только проверить что курсор попал в букву
у меня win 7 экранная клавиатура называется osk.exe
после того как заработало на нотепаде надо проверять на игре
в топике с с++ написано что directx как-то не так работает поэтому не знаю будет ли работать но не думаю что есть разница нажимать экранную клавиатуру мышью или с помощью сообщений

Attribute VB_Name = "InputEventGeneratorM"
Option Explicit


Public Const errCanNotPerformRequestedOperation As Long = 17
Public Const INPUT_MOUSE As Long = 0
Public Const MOUSEEVENTF_LEFTDOWN As Long = 2
Public Const MOUSEEVENTF_LEFTUP As Long = 4
Public Const InputItemSize As Long = 28


Public Type MouseInputT
InputType As Long
X As Long
Y As Long
MouseData As Long
Flag As Long
TimeData As Long
Extra As Long
End Type

Public Declare Sub SleepWinApi Lib "kernel32" Alias "Sleep" (ByVal lngInterval As Long)
Public Declare Function SetCursorPosWinApi Lib "user32" Alias "SetCursorPos" (ByVal lngX As Long, ByVal lngY As Long) As Long
Public Declare Function SendInputWinApi Lib "user32" Alias "SendInput" (ByVal lngInputCount As Long, ByVal lngInputList As Long, ByVal lngInputItemSize As Long) As Long


Public Sub Test01()
Dim stcMouseInput As MouseInputT
Dim lngX As Long
Dim lngY As Long
Dim lngResultBool As Long
Dim lngResultDword As Long
Dim lngErrorDword As Long

lngX = 200
lngY = 110

SleepWinApi 2 * 1000

lngResultBool = SetCursorPosWinApi(lngX, lngY)
If lngResultBool = 0 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 2 * 1000

stcMouseInput.InputType = INPUT_MOUSE
stcMouseInput.X = lngX
stcMouseInput.Y = lngY
stcMouseInput.MouseData = 0
stcMouseInput.Flag = MOUSEEVENTF_LEFTDOWN
stcMouseInput.TimeData = 0
stcMouseInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcMouseInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 400

stcMouseInput.InputType = INPUT_MOUSE
stcMouseInput.X = lngX
stcMouseInput.Y = lngY
stcMouseInput.MouseData = 0
stcMouseInput.Flag = MOUSEEVENTF_LEFTUP
stcMouseInput.TimeData = 0
stcMouseInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcMouseInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 2 * 1000
End Sub
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556152
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложение,

спс, когда я шёл по этому же пути... проверил ещё раз - такая же ошибка http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=894342&msg=11617299
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556200
когда нажимаем кнопки на экранной клавиатуре игра их воспринимает?
если приведенный код не работает то что вылетает с ошибкой какая прога?
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556208
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, а игру вы конечно в полноэкранном виде запускаете?

а надо в оконном
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556232
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_OneТС, а игру вы конечно в полноэкранном виде запускаете?

а надо в оконном
в полноэкранном как раз и не пробовал... только в оконном
предложениекогда нажимаем кнопки на экранной клавиатуре игра их воспринимает?
если игра в фокусе, то нет.
предложениеесли приведенный код не работает то что вылетает с ошибкой какая прога?
вылетает моя прога. игра продолжает работу.
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556235
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556250
те экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать
в ссылке на с++ сказано что даже directx ввод поймет генерацию SendInput сейчас попробую сделать то что там сказано
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556260
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложениете экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать ЭК работает, если программно посылать через неё имитацию клавиш в блокнот или ручками в игру. не работает, если программно через ЭК в игру
Konst_Oneи правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров правда? за десяток страниц топиков и несколько десятков статей я этого не сообразил) p/s от кейлогерров и лаунчеров как раз эта хня и не защищает. нехватает для этого власти
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556264
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
защита не в самой игре, она проактивная через сервис на 0 висит, чтобы обойти надо свой сервис писать
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556267
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и вообще эта тема не интересна, не страдайте ерундой на уровне криминала
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556287
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,
Konst_Oneи вообще эта тема не интересна если я буду писАть во всех топиках, которые мне не интересны...
всё должно быть проще. ЭК яркий тому пример. не может одна программа(игра) монопольно указывать моим программам и моему компу, что и как делать.
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556306
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лицензионное соглашение подписывали, когда игру ставили? так, какие могут быть вопросы?
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556332
автор ЭК работает, если программно посылать через неё имитацию клавиш в блокнот или ручками в игру
Не понял. так что же надо чтобы эклава посылала в игру. клавиши клавиатуры нажимать чтоли?
вот сделал как написано в с++ только не знаю как быть с флагом KEYEVENTF_UNICODE надо его попробовать оба варианта
в нотепад шлет "1"

еще меня смущает фраза "моя прога вылетает с ошибкой"
Test02 ни при каких условиях не должна вылетать с ошибкой а если вылетают то их генерит
сторока Err.Raise errCanNotPerformRequestedOperation
а значит надо остановиться в отладчике и посмотреть код ошибки lngErrorDword = Err.LastDllError и узнать причину ошибки api функции

Attribute VB_Name = "InputEventGeneratorM"
Option Explicit


Public Const errCanNotPerformRequestedOperation As Long = 17
Public Const INPUT_MOUSE As Long = 0
Public Const INPUT_KEYBOARD As Long = 1
Public Const MOUSEEVENTF_LEFTDOWN As Long = 2
Public Const MOUSEEVENTF_LEFTUP As Long = 4
Public Const KEYEVENTF_DOWN As Long = 0
Public Const KEYEVENTF_KEYUP As Long = 2
Public Const KEYEVENTF_UNICODE As Long = 4
Public Const KEYEVENTF_SCANCODE As Long = 8
Public Const MAPVK_VK_TO_VSC As Long = 0
Public Const InputItemSize As Long = 28


Public Type KeyboardInputT
InputType As Long
VirtualKey As Integer
ScanKey As Integer
Flag As Long
TimeData As Long
Extra As Long
End Type

Public Type MouseInputT
InputType As Long
X As Long
Y As Long
MouseData As Long
Flag As Long
TimeData As Long
Extra As Long
End Type

Public Declare Sub SleepWinApi Lib "kernel32" Alias "Sleep" (ByVal lngInterval As Long)
Public Declare Function SetCursorPosWinApi Lib "user32" Alias "SetCursorPos" (ByVal lngX As Long, ByVal lngY As Long) As Long
Public Declare Function SendInputWinApi Lib "user32" Alias "SendInput" (ByVal lngInputCount As Long, ByVal lngInputList As Long, ByVal lngInputItemSize As Long) As Long
Public Declare Function MapVirtualKeyWinApi Lib "user32" Alias "MapVirtualKeyW" (ByVal lngCode As Long, ByVal lngFlag As Long) As Long


Public Sub Test01()
Dim stcMouseInput As MouseInputT
Dim lngX As Long
Dim lngY As Long
Dim lngResultBool As Long
Dim lngResultDword As Long
Dim lngErrorDword As Long

lngX = 200
lngY = 110

SleepWinApi 2 * 1000

lngResultBool = SetCursorPosWinApi(lngX, lngY)
If lngResultBool = 0 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 2 * 1000

stcMouseInput.InputType = INPUT_MOUSE
stcMouseInput.X = lngX
stcMouseInput.Y = lngY
stcMouseInput.MouseData = 0
stcMouseInput.Flag = MOUSEEVENTF_LEFTDOWN
stcMouseInput.TimeData = 0
stcMouseInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcMouseInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 400

stcMouseInput.InputType = INPUT_MOUSE
stcMouseInput.X = lngX
stcMouseInput.Y = lngY
stcMouseInput.MouseData = 0
stcMouseInput.Flag = MOUSEEVENTF_LEFTUP
stcMouseInput.TimeData = 0
stcMouseInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcMouseInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 2 * 1000
End Sub

Public Sub Test02()
Dim stcKeyboardInput As KeyboardInputT
Dim lngScanKey As Long
Dim lngVirtualKey As Long
Dim lngResultBool As Long
Dim lngResultDword As Long
Dim lngErrorDword As Long


lngScanKey = MapVirtualKeyWinApi(Asc("1"), MAPVK_VK_TO_VSC)
lngVirtualKey = 0

SleepWinApi 2 * 1000

stcKeyboardInput.InputType = INPUT_KEYBOARD
stcKeyboardInput.VirtualKey = lngVirtualKey
stcKeyboardInput.ScanKey = lngScanKey
stcKeyboardInput.Flag = KEYEVENTF_DOWN Or KEYEVENTF_SCANCODE Or KEYEVENTF_UNICODE
stcKeyboardInput.TimeData = 0
stcKeyboardInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcKeyboardInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 400

stcKeyboardInput.InputType = INPUT_KEYBOARD
stcKeyboardInput.VirtualKey = lngVirtualKey
stcKeyboardInput.ScanKey = lngScanKey
stcKeyboardInput.Flag = KEYEVENTF_KEYUP Or KEYEVENTF_SCANCODE Or KEYEVENTF_UNICODE
stcKeyboardInput.TimeData = 0
stcKeyboardInput.Extra = 0

lngResultDword = SendInputWinApi(1, VarPtr(stcKeyboardInput), InputItemSize)
If lngResultDword <> 1 Then
lngErrorDword = Err.LastDllError
Err.Raise errCanNotPerformRequestedOperation
End If

SleepWinApi 2 * 1000
End Sub
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556349
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
предложениеНе понял. так что же надо чтобы эклава посылала в игру. клавиши клавиатуры нажимать чтоли? нажимать на ЭК мышкой. имитация нажатий мышки в ЭК, если игра в фокусе, не работают. этот код вылетает с той же ошибкой. видимо, какая-то из используемых функций выше уровня api... ща посмотрю
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556353
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у игры глобальный хук на клавиатуру, там они отсекают всех нелегальных "кликеров"
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556374
если я правильно понял то
1 вожу мышкой и нажимаю мышкой по эклаве - посылка в игру не работает
2 посылаю нажатия мышки в эклаву - посылка в игру не работает
3 test02 падает тогда где и какой код ошибки
...
Рейтинг: 0 / 0
дискриминация программистов
    #37556385
Below273
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One,

больше интересует, как это обойти

предложение,

и правда странно, другие api функции просто игнорировались... с такой же ошибкой вылетали, кажется, sendkeys и перемещение мыши.
...
Рейтинг: 0 / 0
25 сообщений из 68, страница 1 из 3
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / дискриминация программистов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]