FreeBasic
Главная
Вход
Регистрация
Пятница, 19.04.2024, 05:33Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » Freebasic » Вопросы по языку FreeBasic » Запись в буфер клавиатуры (По сути аналог досовского прерывания int 16h функции 05h)
Запись в буфер клавиатуры
s12Дата: Вторник, 09.08.2011, 16:15 | Сообщение # 1
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Offline
Суть вопроса такова: Захотелось написать бот к одной онлайн игрушке (вроде под нарушение правил форума не попадает), резво набросал проект на шарпе + winApi и весело получил банан.

Оказалось защита игрушки отличает сообщения посланные клавиатурой от эмуляции типа keybd_event или SendKeys. Единственный видимый выход отправка нужных скан кодов в буфер клавиатуры т.к.шарп к таким вещам, мягко говоря, не приспособлен чуть более чем совсем, решил переписать бот на fb и столкнулся с сабжем.

Вопрос собственно как? Нашел решение на асме:
Code
in al,64h
ждать
mov al,0D2h
out 64h,al
mov al, скан-код
out 60h,al

но перевести его на fb толку не хватает.
 
haavДата: Вторник, 09.08.2011, 16:46 | Сообщение # 2
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Quote
in al,64h
ждать
mov al,0D2h
out 64h,al
mov al, скан-код
out 60h,al


Такое если честно я тоже не знаю как переписать. Я не встречал в ассемблере команд in , out. Правда с ассемблером я очень слабо знаком, так баловался на нем, создавая мини примеры.
Сказать по чести, я в данном вопросе тоже бы уперся после невозможности применить симуляторы клавиш.

Кстати пример, который на ассемблере проверен и работает? Если да, тогда может и можно в асм вставках что-то помудрить.


Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
s12Дата: Вторник, 09.08.2011, 20:18 | Сообщение # 3
Рядовой
Группа: Пользователи
Сообщений: 2
Репутация: 0
Статус: Offline
in и out это операторы работы с портами. Если по русски приведенный код делает следущее:
-прочитать байт из 64h в al
-ждем пока в al будет 0
-поместить в al 0D2h
-отправить al в порт 64h
-поместить в al скан код
-отправить al в порт 60h

fb говорят умеет работать с портами ввода\вывода, но рабочих примеров найти не получилось.

Добавлено (09.08.2011, 20:18)
---------------------------------------------
Тему можно закрывать. Вся инфа есть в хэлпе, я лентяй.

 
haavДата: Вторник, 25.10.2011, 21:42 | Сообщение # 4
Генералиссимус
Группа: Администраторы
Сообщений: 1361
Репутация: 49
Статус: Offline
Закрыто.

Вы сохраняете власть над людьми покуда оставляете им что-то…Отберите у человека все, и этот человек уже будет неподвластен вам…
 
Форум » Freebasic » Вопросы по языку FreeBasic » Запись в буфер клавиатуры (По сути аналог досовского прерывания int 16h функции 05h)
  • Страница 1 из 1
  • 1
Поиск: