Что нового

[Lineage 2: Freya]Обход Game Guard. Автоматизация ввода данных.

incrome

by Incrome
Сообщения
24
Репутация
0
Товарищи помогите решить проблемку с защитой от ввода.

Вот так не выходит:

Код:
$list = ProcessList("l2.exe")
for $i = 1 to $list[0][0]
 $Data=_WinAPI_EnumProcessWindows($list[$i][1], 0) 
;_ArrayDisplay($Data) 
next



$hWnd = WinGetHandle( "[CLASS:$Data[1][1]]" )

If @error Then
    MsgBox(4096, "Error", "Окно не найдено!")
Else
    MsgBox(0, "", $hWnd)
EndIf


Толи я не варю, толи Game Guard всё блочит.
Знает какие хитрости на этот счёт?

Кстати есть вариант управлять клиентом с помощью Экранной Клавиатуры, но я не знаю как в неё вписатся.. Может кто знает на этот счёт.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
А что это за класс кстати такой: "[CLASS:$Data[1][1]]"?
Да и гейгвард так не обойдешь, его надо отключать полностью.
 

Morozoff

Новичок
Сообщения
10
Репутация
2
Вы хоть посматрите что пишут в этой ветке. http://autoit-script.ru/index.php/topic,5652.15.html
Ситуация там на столько критическая что я просто в шоке. При запуске клиента рубятся так же радмины и аналоги. Надо ждать или играть честно. Я код перелапатил уже на так, что у меня комп скоро в магазин бегать будет и кофе готовить. "- Закрыли SendInput и отрубили дополнительные кнопки для 90% клавиатур и мышей. А также teamviewer и RAdmin. (нормально? нет). Да, можно бить себя в грудь, что убили все кликеры - но все равно это не приятно. Потому что теперь за трейдером не посмотришь." Я вариант нашол. Правда это не выход, но хоть что то.
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
А что это за класс кстати такой: "[CLASS:$Data[1][1]]"?
Да и гейгвард так не обойдешь, его надо отключать полностью.

Класс л2! Выше у меня цикл соберает все возможные классы из процесса ("l2.exe") и записывает их в массив!
Просто автоматизировал нахождения хэнделов, достаточно лиш написать название процесса.

а [CLASS:$Data[1][1]] это найденный класс в 1 строке массива.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
В смысле переменная $Data[1][1] содержит название класса?


Добавлено:
Сообщение автоматически объединено:

Попробуй вот это:
Код:
Local $test = "qwqwqw"
MsgBox(0,0,"Test = $test")




Добавлено:
Сообщение автоматически объединено:

А потом это:
Код:
Local $test = "qwqwqw"
MsgBox(0,0,"Test = "&$test)

Узри разницу как говорится :smile:
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
В смысле переменная $Data[1][1] содержит название класса?

Ну в прямом, попробуй убери ";" перед "_ArrayDisplay($Data)" увидишь. Можешь хоть для нотпада пробовать выдаст в 1 строке класс notepad ! Проверено (с)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
Тогда скажи мне что же это за класс, который называется "$Data[1][1]"? И понял ли ты смысл тех двух примеров что я привел тебе выше?


Добавлено:
Сообщение автоматически объединено:

Тогда теперь ты должен понять что класса "$data[1][1]", нету? и ты забыл знак "&" формируя запрос для команды.
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
Я тебя понял =) Но у меня и с таким синтаксисом работало )
Ты имеешь в виду что так вообще нельзя писать или можно но через "&"?


Добавлено:
Сообщение автоматически объединено:

я понял , я туплю, день тяжелый)

В общем суть проблемы это не решает =)


Добавлено:
Сообщение автоматически объединено:

Хотя спасибо... Буду знать)
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
Используя & ты можешь в строку вставлять переменные, без нее же, твоя переменная заключенная в кавычки, является лишь текстом, а не ссылкой на зарезервированную область в памяти компьютера.
В любом случае тебе выше дали правильную ссылку с которой надо начинать изучение написания ботов под ладву. Не отключив гг, об автоматизации говорить смысла нету.
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
Используя & ты можешь в строку вставлять переменные, без нее же, твоя переменная заключенная в кавычки, является лишь текстом, а не ссылкой на зарезервированную область в памяти компьютера.
В любом случае тебе выше дали правильную ссылку с которой надо начинать изучение написания ботов под ладву. Не отключив гг, об автоматизации говорить смысла нету.
Это я понял, не глуп.
А как же Экранная Клавиатура, а DLL. Я думаю отключение ГГ не единственный выход.
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
Ну почитай ту тему, последние сообщения там как раз про использовение какой-то сторонней DLL в UO Pilot.
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
Я их уже по 2 раза перечитал =)
Фишка в том что Пилот на отдыхе уже, он не пашет...

Короче я зашел в стопор... и понял что мой код нифига не пашет....
Нельзя походу так писать....

Код:
$hWnd = WinGetHandle( "[CLASS:&$Data[1][1]]" )

Потому что ругается проверка:

Код:
$list = ProcessList("notepad.exe")
for $i = 1 to $list[0][0]
 $Data= _WinAPI_EnumProcessWindows($list[$i][1], 0) 
;_ArrayDisplay($Data) 
next
	$hWnd = WinGetHandle( "[CLASS:&$Data[1][1]]" )
	If @error Then
    MsgBox(4096, "Error", "Окно не найдено!")
Else
    MsgBox(0, "", $hWnd)
EndIf
	ControlSend($hWnd, "","", "Yeah!!!")
EndFunc
 

Belfigor

Модератор
Локальный модератор
Сообщения
3,603
Репутация
941
ты забыл ковычки поставить в нужном месте, перечитай пример что я привел.
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
Выражение "[CLASS:&$Data[1][1]]" должно быть в скобках, я же не могу оторвать их)
 

axlwor

Скриптер
Сообщения
657
Репутация
147
строку создавай бережно, а то компилятор сойдет с ума :'(
Код:
$sStr = '[CLASS:' & $Data[1][1] & ']'
 
Автор
I

incrome

by Incrome
Сообщения
24
Репутация
0
Ох уж этот синтаксис)
Трудно орентироватся после java :wacko:
 
Верх