Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2009, 01:18   #1
aspar1307
Новичок
Джуниор
 
Регистрация: 17.06.2009
Сообщений: 4
По умолчанию Подскажите сложно ли это?

Я понимаю, что многие могут просто посмеются, но может все же кто ни будь подскажет? Люди, можно ли на asm написать программу по автоматическому нажатию клавиш через определенный промежуток времени ( это сделать можно и в этом я уверен ), но вот чтобы эти клавиши начинали использоваться автоматически при попадании на монитор определенного слова и наведения (в автоматическом режиме)курсора с одним щелчком левой клавиши на мишке на это слово.
Для начинающего – это очень сложно? И может ли кто ни будь в этом помочь или указать на литературу по написанию данных действий?
Спасибо огромное тем, кто потратит время на ответ начинающему юзеру.
aspar1307 вне форума Ответить с цитированием
Старый 17.06.2009, 16:47   #2
stripe
Пользователь
 
Регистрация: 13.06.2009
Сообщений: 25
По умолчанию

подскажите пожалуска как в асемблере будет -1 я забыл )))
stripe вне форума Ответить с цитированием
Старый 17.06.2009, 16:55   #3
Олвин
Экспериментатор
Форумчанин
 
Аватар для Олвин
 
Регистрация: 16.04.2008
Сообщений: 218
По умолчанию

Начинающему - скорее да. Только не ясно что это за начинающий - знаете ли вы другие языки? (Видимо нет, ведь формулировка "попадание на монитор определенного слова" совсем не отражает реальность - на монитор не может попасть слово, может отобразиться элемент управления, к тому же они разные бывают)
И ещё вопрос - в чём состоит задача:
- изучить ассемблер
- реализовать данный проект
- реализовать данный проект на ассемблере
PS Начинающий программист - это ещё куда ни шло. Но начинающий юзер??
Для создания сложных вещей не нужны сложные интерфейсы. (с) Линус Торвальдс

Последний раз редактировалось Олвин; 17.06.2009 в 16:59.
Олвин вне форума Ответить с цитированием
Старый 17.06.2009, 17:33   #4
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

1. GetCursorPoint - находим кординату курсора
2. WindowFromPoint - находим хендл окна
3. Если это окно типа TextEdit - SendMessage(EM_GETSEL) - придется выделить слово курсором.
Если же это Static -контрол то можно просто GetWindowText - его там будет немного.

Более усложненный алгоритм - вычисление позиции слова на экране на основе данных о шрифте и размере edit-контрола.
Например если знать что высота строки 20 пикселей а смещение курсора от начала edit-а 210 пикселей то вполне очевидно что слово на двадцать первой строке(200 прошло +10 - полстроки, тоесть посередине 21-й строки) ну и так же и с шириной. Правда тут будет сложнее - буквы то переменной длины. Но это не будет слишком тяжелой задачей если все тщательно проверить и спланировать. Проектирование - важнейший этап разработки

PS: Есть программа QDictionary, если вас интересуют готовые решения.
"Тяжело в учении, легко в бою" - А.В. Суворов

Последний раз редактировалось Ivan_32; 17.06.2009 в 17:36.
Ivan_32 вне форума Ответить с цитированием
Старый 17.06.2009, 18:33   #5
aspar1307
Новичок
Джуниор
 
Регистрация: 17.06.2009
Сообщений: 4
По умолчанию

Олвин - вы правы, я только начал изучать ассемблер,так сказать по литературе "assembler&Win32 курс молодого бойца" и я понимаю,что я очень многого не знаю...а задумался о написании именно такой программы,т.к. еще играю иногда в онлайн игры,и вот решил совместить приятное с полезным,тем самым не просто учиться программированию,а имея определенную цель(так ведь веселее).Можно сказать,что эта программка предназначена для самостоятельного прокачивания персонажа в игре,видя монстра с определенным именем она бы производила ряд действий(имитируя нажатия клавиш),тем самым убивая его...
Ivan_32 - спасибо за ответ,но не могли бы вы указать на литературу,которая помогла бы достигнуть результата быстрее?т.к. я осознаю уже,что это не 8 страниц написать в блокноте с ссылками,картинками и т.п. сдав экзамен по информатике в 11 классе и мне нужно много перечитать,но может вы просто посоветуете какие именно?
aspar1307 вне форума Ответить с цитированием
Старый 17.06.2009, 18:40   #6
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Ну тогда тебе лучше писать патч не на ассемблере, а например на Делфи, а асм нужен только для исследования кода!!!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 17.06.2009, 18:56   #7
aspar1307
Новичок
Джуниор
 
Регистрация: 17.06.2009
Сообщений: 4
По умолчанию

патч будет изменят файлы игры? если да,тогда они могу отследить это и забанят или я ошибаюсь? и желательно,что бы программка висела в трее и в ней можно было изменять название и быстро включать и выключать...
MalCer - какую литературу мне прочесть?
aspar1307 вне форума Ответить с цитированием
Старый 17.06.2009, 19:07   #8
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

Цитата:
и забанят или я ошибаюсь?
Конечно забанят!
На cracklab.ru много статей на эти темы, так же у меня в подписи много литературы!
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Старый 18.06.2009, 04:35   #9
Ivan_32
somewhere else
Участник клуба
 
Аватар для Ivan_32
 
Регистрация: 17.07.2008
Сообщений: 1,409
По умолчанию

aspar1307, это в разы сложней чем первоначальное задание Это требует полно размерного исследования защиты игры и ее устройства. Дело в том что те надписи которые в играх высвечивают - это DirectX или OpenGL. Т.е. никакого отношения к оконной системе Windows они не имеют. Рисование их производится с помощью соответствующих методов DirectX/OpenGL и в данном случае нужно перехватывать их и отслеживать что рисуется по координатам близким к курсору.
Наверно гораздо проще будет прицепить оконный Hook WH_KEYBOARD и перехватывать комбинации клавиш, после чего делать эмуляцию последовательности нажатия(Допустим если у вас вся боевая магия на Fx - нажимаете Ctrl-F1 и срабатывают нажаия всех Fx-ов).
"Тяжело в учении, легко в бою" - А.В. Суворов
Ivan_32 вне форума Ответить с цитированием
Старый 19.06.2009, 00:04   #10
aspar1307
Новичок
Джуниор
 
Регистрация: 17.06.2009
Сообщений: 4
По умолчанию

Ivan_32 Спасибо за достаточно подробное объяснениея вот попробовал воспользоваться программкой TypeRecorder, в одном из описаний я прочел, что она запоминает нажатия клавиш клавиатуры и мыши,а также,вроде, передвижение самой мишки.Пока использовал пробную версию,действительно,в блокноте она работает,но вот в игре нет,т.е. игра я так понимаю блокируется и моментально закрывается при запуске этой программы.Запоминание действий мыши я там не нашел,возможно это будет доступно после регистрации. Что можно сделать,чтобы игра не замечала активности этой программы?

Последний раз редактировалось aspar1307; 19.06.2009 в 02:24.
aspar1307 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
подскажите кто знает что это за файл и как его удалить Yury111 Безопасность, Шифрование 6 03.06.2009 14:54
Подскажите как это организовать rusaltkul Microsoft Office Excel 10 04.03.2009 14:15
VB6.0 подскажите начинающему, это очень простой вопрос zxspec Помощь студентам 5 24.02.2009 03:29
помогите по паскалю.думаю для вас это не сложно Marishka Паскаль, Turbo Pascal, PascalABC.NET 2 02.06.2008 09:28