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

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

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

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

проделано много опытов, создано несколько топиков
если игра в фокусе, то ЭК не получает имитацию нажатий от проги
...
Рейтинг: 0 / 0
02.12.2011, 14:35
    #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
02.12.2011, 14:46
    #37556152
Below273
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
предложение,

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

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

а надо в оконном
в полноэкранном как раз и не пробовал... только в оконном
предложениекогда нажимаем кнопки на экранной клавиатуре игра их воспринимает?
если игра в фокусе, то нет.
предложениеесли приведенный код не работает то что вылетает с ошибкой какая прога?
вылетает моя прога. игра продолжает работу.
...
Рейтинг: 0 / 0
02.12.2011, 15:21
    #37556235
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
и правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров
...
Рейтинг: 0 / 0
02.12.2011, 15:26
    #37556250
дискриминация программистов
те экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать
в ссылке на с++ сказано что даже directx ввод поймет генерацию SendInput сейчас попробую сделать то что там сказано
...
Рейтинг: 0 / 0
02.12.2011, 15:30
    #37556260
Below273
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
предложениете экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать ЭК работает, если программно посылать через неё имитацию клавиш в блокнот или ручками в игру. не работает, если программно через ЭК в игру
Konst_Oneи правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров правда? за десяток страниц топиков и несколько десятков статей я этого не сообразил) p/s от кейлогерров и лаунчеров как раз эта хня и не защищает. нехватает для этого власти
...
Рейтинг: 0 / 0
02.12.2011, 15:32
    #37556264
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
защита не в самой игре, она проактивная через сервис на 0 висит, чтобы обойти надо свой сервис писать
...
Рейтинг: 0 / 0
02.12.2011, 15:34
    #37556267
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
и вообще эта тема не интересна, не страдайте ерундой на уровне криминала
...
Рейтинг: 0 / 0
02.12.2011, 15:44
    #37556287
Below273
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
Konst_One,
Konst_Oneи вообще эта тема не интересна если я буду писАть во всех топиках, которые мне не интересны...
всё должно быть проще. ЭК яркий тому пример. не может одна программа(игра) монопольно указывать моим программам и моему компу, что и как делать.
...
Рейтинг: 0 / 0
02.12.2011, 15:50
    #37556306
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
лицензионное соглашение подписывали, когда игру ставили? так, какие могут быть вопросы?
...
Рейтинг: 0 / 0
02.12.2011, 15:59
    #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
02.12.2011, 16:07
    #37556349
Below273
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
предложениеНе понял. так что же надо чтобы эклава посылала в игру. клавиши клавиатуры нажимать чтоли? нажимать на ЭК мышкой. имитация нажатий мышки в ЭК, если игра в фокусе, не работают. этот код вылетает с той же ошибкой. видимо, какая-то из используемых функций выше уровня api... ща посмотрю
...
Рейтинг: 0 / 0
02.12.2011, 16:10
    #37556353
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
у игры глобальный хук на клавиатуру, там они отсекают всех нелегальных "кликеров"
...
Рейтинг: 0 / 0
02.12.2011, 16:18
    #37556374
дискриминация программистов
если я правильно понял то
1 вожу мышкой и нажимаю мышкой по эклаве - посылка в игру не работает
2 посылаю нажатия мышки в эклаву - посылка в игру не работает
3 test02 падает тогда где и какой код ошибки
...
Рейтинг: 0 / 0
02.12.2011, 16:20
    #37556385
Below273
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
дискриминация программистов
Konst_One,

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

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

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


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