|
дискриминация программистов
|
|||
---|---|---|---|
#18+
есть игра http://www.rzonline.ru/play.php#play , которая не позволяет имитировать в себя нажатия клавиш. не работает(мб не так юзал) keybd_event, mouse_event, перемещение мыши, sendkeys, SendInput, Keydown, WM_CHAR, а экранная клавиатура работает... за пример простой отправки единички в эту игру переведу 500руб яд. когда начинал изучать vb6 ,казалось, программист может всё. создать игру, в которую будут задрачиваться миллионы, взломать ведущие мировые банки, на крайняк написать "Hello world!". но появились игры(почти все онлайн игры), которые ущемляют наши права! они блокируют наши программы, отказываются работать под ботами и хаками, игнорируют имитации нажатий клавы и мыши. такими темпами слово "программист" станет устаревшим, мы вымираем. программисты всех стран должны объединиться, дабы свергнуть игры-дикторов! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 20:58 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
Below273когда начинал изучать vb6 ,казалось, программист может всё. создать игру, в которую будут задрачиваться миллионы, взломать ведущие мировые банки, на крайняк написать "Hello world!". но появились игры(почти все онлайн игры), которые ущемляют наши права! они блокируют наши программы, отказываются работать под ботами и хаками, игнорируют имитации нажатий клавы и мыши. такими темпами слово "программист" станет устаревшим, мы вымираем. программисты всех стран должны объединиться, дабы свергнуть игры-дикторов! Бугага!!! ))))))))))) Лечится учится! Лечится учится! И еще раз лечится учится! ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 21:12 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
невероятно толсто ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 21:26 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
а может слать не игре нажатия а экранной клавиатуре а она уж пошлет игре ... |
|||
:
Нравится:
Не нравится:
|
|||
01.12.2011, 23:29 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
предложение, пробовал, не помогло. нашёл код http://forum.vingrad.ru/index.php?showtopi...t&p=2404095, но он на С++( ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 13:12 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
Below273предложение, пробовал, не помогло. нашёл код http://forum.vingrad.ru/index.php?showtopi...t&p=2404095, но он на С++( ссылка коряво скопировалась http://forum.vingrad.ru/index.php?showtopic=338301&view=findpost&p=2404095 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 13:23 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
я не понял из постов получилось ли куда-то послать сообщения например в нотепад (блокнот) есть api SendInput с его помощью можно послать и клавиатурное и мышиное сообщение если не получилось послать экранной клавиатуре сообщение то это странно мне кажется должно сообщение от мыши посылаться надо сделать так SetCursorPos установить мышь в нужную точку экрана SendInput с параметром mouse down подождать (а может это и не нужно ждать пробовать надо и так и так) пока ждете кнопка на экранной клавиатуре должна быть нажата если сообщение дошло SendInput с параметром mouse up Естественнно в хелпе надо почитать какие и как передать параметры для SetCursorPos SendInput А на каком языке написано значения не имеет Объявите Public Declare Function ... и тд и пользуйтесь из бейсика вот такой последовательностью я открывал меню в нотепаде если получилось на нотепаде пробовать на экранной клавиатуре ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 13:43 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
предложение, проделано много опытов, создано несколько топиков http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=899571&msg=11692187 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=898278&msg=11666542 http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=894342&msg=11576774 http://forum.vingrad.ru/index.php?showtopic=342961&view=findpost&p=2433525 если игра в фокусе, то ЭК не получает имитацию нажатий от проги ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 13:59 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
вот сделал то что написал проверил на нотепаде пока прога ждет 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 14:35 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
предложение, спс, когда я шёл по этому же пути... проверил ещё раз - такая же ошибка http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=894342&msg=11617299 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 14:46 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
когда нажимаем кнопки на экранной клавиатуре игра их воспринимает? если приведенный код не работает то что вылетает с ошибкой какая прога? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:09 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
ТС, а игру вы конечно в полноэкранном виде запускаете? а надо в оконном ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:11 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
Konst_OneТС, а игру вы конечно в полноэкранном виде запускаете? а надо в оконном в полноэкранном как раз и не пробовал... только в оконном предложениекогда нажимаем кнопки на экранной клавиатуре игра их воспринимает? если игра в фокусе, то нет. предложениеесли приведенный код не работает то что вылетает с ошибкой какая прога? вылетает моя прога. игра продолжает работу. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:19 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
и правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:21 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
те экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать в ссылке на с++ сказано что даже directx ввод поймет генерацию SendInput сейчас попробую сделать то что там сказано ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:26 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
предложениете экранная клавиатура здесь не помощник я читая посты понял что экранная клавиатура работает тогда зачем ее вообще было упоминать ЭК работает, если программно посылать через неё имитацию клавиш в блокнот или ручками в игру. не работает, если программно через ЭК в игру Konst_Oneи правильно вылетает, срабатывает система защиты игры от кейлогерров/лаунчеров правда? за десяток страниц топиков и несколько десятков статей я этого не сообразил) p/s от кейлогерров и лаунчеров как раз эта хня и не защищает. нехватает для этого власти ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:30 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
защита не в самой игре, она проактивная через сервис на 0 висит, чтобы обойти надо свой сервис писать ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:32 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
и вообще эта тема не интересна, не страдайте ерундой на уровне криминала ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:34 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
Konst_One, Konst_Oneи вообще эта тема не интересна если я буду писАть во всех топиках, которые мне не интересны... всё должно быть проще. ЭК яркий тому пример. не может одна программа(игра) монопольно указывать моим программам и моему компу, что и как делать. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:44 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
лицензионное соглашение подписывали, когда игру ставили? так, какие могут быть вопросы? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:50 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
автор ЭК работает, если программно посылать через неё имитацию клавиш в блокнот или ручками в игру Не понял. так что же надо чтобы эклава посылала в игру. клавиши клавиатуры нажимать чтоли? вот сделал как написано в с++ только не знаю как быть с флагом 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 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 15:59 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
предложениеНе понял. так что же надо чтобы эклава посылала в игру. клавиши клавиатуры нажимать чтоли? нажимать на ЭК мышкой. имитация нажатий мышки в ЭК, если игра в фокусе, не работают. этот код вылетает с той же ошибкой. видимо, какая-то из используемых функций выше уровня api... ща посмотрю ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 16:07 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
у игры глобальный хук на клавиатуру, там они отсекают всех нелегальных "кликеров" ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 16:10 |
|
дискриминация программистов
|
|||
---|---|---|---|
#18+
если я правильно понял то 1 вожу мышкой и нажимаю мышкой по эклаве - посылка в игру не работает 2 посылаю нажатия мышки в эклаву - посылка в игру не работает 3 test02 падает тогда где и какой код ошибки ... |
|||
:
Нравится:
Не нравится:
|
|||
02.12.2011, 16:18 |
|
|
start [/forum/topic.php?fid=60&fpage=90&tid=2158261]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
86ms |
get tp. blocked users: |
2ms |
others: | 348ms |
total: | 511ms |
0 / 0 |