Что нового

INNOVA и обновление Frost

archiver

Новичок
Сообщения
10
Репутация
1
24.06.11 на серверах Innova обновили Frost. Эмуляция нажатия клавиш и движения мыши с помощью Autoit работать перестала. Есть у кого соображения по решению этой проблемы?
 

nonenicks

Новичок
Сообщения
18
Репутация
3
Тож интересует, но знаний макросо писателя явно недостаточно чтобы понять проблему=)
Фиг знает покачто, надо смотреть куда они внедряются...мож usb фильтр прикрутили...Вообщем тут нужны системные программисты... скорее всего нужно писать виртуальное устройство - клава + мышь и как-то отуда уже отдавать команды. А может все проще=)
 

anonymous7

Знающий
Сообщения
40
Репутация
8
Там никакой особой фишки нет, за исключение того, что прячется сам процесс игры. Соответственно AutiIt не видит процесс и не может ничего сделать. Если бы в нём была фишка отсылать команды в скрытые процессы, то тогда было бы круто.
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110
процесс оно прятало давно. anonymous7, ты немного не в теме. Для эмуляции работы мыши+клавиатуры процесс не нужен. автоит работал с окном. А теперь перестал. хайд тулз пробовали? (хотя хайд тулз прячет только в Ring3, а фрост юзает дров, значит живёт в Ring0)


---------- updated ------------
Не поленился, обновил клиент игры (Lineage 2), их метод борьбы с кликкерами заключается в том, что окно не отдаёт заголовок. Исправил всего 1 строчку в своём боте. всё бегает и качается как прежде.
Возможно в разных играх защита реализована иначе, но в Lineage2 фигня, обходится легко. Однако я думаю, что фрост всёравно видит управление окном сторонним процессом и всё логирует, просто логи потом будут анализировать.
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110
такие вещи лучше публично не обсуждать, выйдет очередное обновление и тютю...
А вообще зависит от того как у тебя реализовано. Например я только в начале работы скрипта определяю хэндл окна и дальше оперирую им. Вот я это определение хэндла и поправил.
даю подсказку: ("[CLASS:??]")
 

rusreg79

Продвинутый
Сообщения
159
Репутация
57
в игре r2online (тоже от инновы) фрост не дает курсором манипулировать, даже с не активным окном игры :mad:
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110
Даа... не повезло. Значит у них индивидуальный подход к каждой игре. Это уже похоже на методику корейского GameGuard'a, может скоро и в Lineage2 так сделают.
 

anonymous7

Знающий
Сообщения
40
Репутация
8
такие вещи лучше публично не обсуждать, выйдет очередное обновление и тютю...
А вообще зависит от того как у тебя реализовано. Например я только в начале работы скрипта определяю хэндл окна и дальше оперирую им. Вот я это определение хэндла и поправил.
даю подсказку: ("[CLASS:??]")

я так и подозревал, но ещё не успел попробовать.... пасиба!
 

ynbIpb

Скриптер
Сообщения
399
Репутация
110

greshnik77

Новичок
Сообщения
27
Репутация
0
инова окончательно убила auto it? игра вообще ни каких данных не отдаёт(
 
Автор
A

archiver

Новичок
Сообщения
10
Репутация
1


С помощью AU3Info данных об окне получить не удалось.
WinSight32 выдал и название окна и процесс.
Код:
AutoItSetOption("WinTitleMatchMode", 2)
$handle = WinGetHandle("R2")
If @error Then
    MsgBox(4096, "Error", "Окно не найдено!")
Else
    MsgBox(0, "", $handle)
EndIf
 

greshnik77

Новичок
Сообщения
27
Репутация
0
Код:
AutoItSetOption("WinTitleMatchMode", 2)
$handle = WinGetHandle("R2")
If @error Then
    MsgBox(4096, "Error", "Окно не найдено!")
Else
    MsgBox(0, "", $handle)
EndIf

В аионе не прокатывает.
 
Автор
A

archiver

Новичок
Сообщения
10
Репутация
1
мддаааа, делаа...


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

http://www.r2bot.ru/
автор этого бота уже давно frost обошел.
Frost ставит глобальный хук. Есть же проги вроде, которыми можно хуки обнаруживать и снимать? Кто-нибудь может потестить?)
 

SergiuS

Новичок
Сообщения
8
Репутация
1
Есть бот "UO Pilot" в нем можно записать действия мыши и потом воспроизвести (через запись/воспроизведение макроса) начал в нем разбираться, так там сделано через ХУКИ - АПИ функции SetWindowsHookEx(WH_JOURNALPLAYBACK, ...) (начальный исходник можно скачать http://uopilot.ultimasoft.ru/index_rus.php).
Есть ли люди которые помогут с кода Делфи перевести на код AutoIt? Я застрял на функции PlayProc:
Код:
function PlayProc(Code : integer; Undefined : WPARAM; P : LPARAM) : LRESULT; stdcall;
begin
  if Code < 0 then
    Result := CallNextHookEx(TheRecorder.HookHandle, Code, Undefined, P)
  else begin
    case Code of
      HC_SKIP: begin
        if TheRecorder.FStream.Position < TheRecorder.FStream.Size then begin
          TheRecorder.FStream.Read(TheRecorder.EventMsg, SizeOf(TheRecorder.EventMsg));
          TheRecorder.EventMsg.Time := TheRecorder.SpeedFactor*(TheRecorder.EventMsg.Time div 100);
          TheRecorder.EventMsg.Time := TheRecorder.EventMsg.Time + TheRecorder.BaseTime;
        end else begin //stop
          TheRecorder.SetState(rsIdle);


	if TheRecorder.Tag=777 then begin TheRecorder.DoPlay; exit; end;
	TheRecorder.Tag:=TheRecorder.Tag-1;
	if TheRecorder.Tag>0 then  TheRecorder.DoPlay;  
		    end;
      end;

      HC_GETNEXT: begin
        Result := TheRecorder.EventMsg.Time - GetTickCount();
        if Result < 0 then
          Result := 0;
        PEVENTMSG(P)^ := TheRecorder.EventMsg;
      end;
    else
      PEVENTMSG(P)^ := TheRecorder.EventMsg;
      Result := CallNextHookEx(TheRecorder.HookHandle, Code, Undefined, P)
    end {case};
  end {if};

end {PlayProc};
В частности интересует строка
Код:
PEVENTMSG(P)^ := TheRecorder.EventMsg;
тут идет назначение события.
EventMsg - структура, типа:
Код:
typedef struct tagEVENTMSG {
  UINT  message;
  UINT  paramL;
  UINT  paramH;
  DWORD time;
  HWND  hwnd;
} EVENTMSG, *PEVENTMSG, *LPEVENTMSG;
Как правильно написать это присвоение в AutoIt?
Помогите плиз! Может кто то баловался ХУКами именно "WH_JOURNALPLAYBACK" - поделитесь кодом, как отправлять событие для мыши и как для клавы.
 

Morozoff

Новичок
Сообщения
10
Репутация
2
Блокировка идёт,как бы точнее выразится, через WinApi. Пилот не работает, то есть он работает, двигает курсор мыши, но не кликает.
 

SergiuS

Новичок
Сообщения
8
Репутация
1
Не кликает СКРИПТ(!), а вот если записать МАКРОС с действиями в окне "R2", то потом при воспроизведении его все действия выполняются!
 

Morozoff

Новичок
Сообщения
10
Репутация
2
npkcrypt - поищите в инете описание этой dll. И вам станет понятно что надо что то другое мутить.
 
Верх