LINUX.ORG.RU

Отслеживание активных окон и элементов в иксах

 xotg


0

1

Тред номер 1 из много.

Дисклеймер - пожалуйста, не надо сразу клеймить неосилятором гугла и прочим - мне нужны не конкретные технические решения, а уверенность, что я копаю в верном направлении - а если нет, то подсказка, какие технологии лучше изучить для более успешной реализации поделки.

Предыстория - поручило начальство проработать вариант портирования на линуксы системы слежения за пользователем. Система, разумеется, далеко и глубоко заколочена на вендовые вещи, потому вопрос стоит о разработке параллельного проекта.

С линуксами относительно знаком, никогда системным программированием в пингвине не занимался - не было причины.

Вопрос номер один.

Требуется вести отслеживание всего, что пишет пользователей, то бишь нужен кейлоггер. Однако, если примитивный кейлоггер на SystemTap, состоящий из 10 строчек, уже ловит даже пароли на рута, есть проблема - выводимый им поток символов никак не разделен логически.

Проблема - есть ли какие-нибудь надежные механизмы Иксов, позволяющие моему условному приложению реагировать на изменение фокуса окна? Грубо говоря, кейлоггер передает в анализатор поток нажатых клавиш, а анализатор, на основе полученных от иксов событий, «передвигает курсор» - отличает, что поток из окна А закончился и сейчас мы получаем нажатия от окна Б в поле 1, а теперь из поля 2. Можно без полей, но селекцию окон(для получения связного текста) очень желательно.

Еще вопрос - как в вещах, подобным перехвату нажатия через SystemTap(либо подобные вещи, перехват через файл устройства, например, не знаю) обстоит дело с поддержкой всяких необычных символов - например символы чешского или немецкого языка, которые образуются набором нескольких клавиш.

★★

Последнее исправление: cetjs2 (всего исправлений: 2)

Ответ на: комментарий от lazyklimm

пользователь может обидеться

Специальную бумагу подписывал, у нас такие прохладные былины после внедрения сей поделки пошли - можно не увольнять, а сразу расстреливать.

mikhalich ★★
() автор топика
Ответ на: комментарий от greyl

Этот вопрос, похоже, решенный. Нас часто спрашивают, есть ли линукс-вариант нашего очень программного комплекса.

mikhalich ★★
() автор топика
Ответ на: комментарий от CLU

Увольняйся нахрен.

Где я в своей провинции найду работу, где в рабочее время буду получать скилл системного программирования под линукс «с нуля»? Я сюда пришел на должность видноус-кернельщика(драйверок допиливать и сопровождать), не зная даже что такое WinDDK. Сейчас поделка успешно развивается и готовится к релизу.

Так что нынешняя работа - таки свобода. Мягкий график, интересные задачи, неплохая для недотепы зарплата, все такое. 99% других программарей города сидят или в дельфи или в пхп. Еще 0.99% - питонщики, нынче модно.

mikhalich ★★
() автор топика

Система, разумеется, далеко и глубоко заколочена на вендовые вещи

и пусть дерьмо останется где ему положено быть.

Нас часто спрашивают, есть ли линукс-вариант нашего очень программного комплекса.

скажи что нет, делов то

mashina ★★★★★
()
Ответ на: комментарий от mashina

скажи что нет, делов то

Сейчас так и говорим. Хочется сделать же. Интересно же, скиллы и все такое.

mikhalich ★★
() автор топика
Ответ на: комментарий от mikhalich

Специальную бумагу подписывал,

жесть, ну и нравы у вас

у нас такие прохладные былины после внедрения сей поделки пошли - можно не увольнять, а сразу расстреливать.

работу выполняют нормально и вовремя? Коммерческие тайны не распространяют? - тогда пусть хоть сексом по телефону занимаются

lazyklimm ★★★★★
()
Ответ на: комментарий от lazyklimm

жесть, ну и нравы у вас

не у нас, у тех кто ее использует, в каком-то смысле клиентов. Мы создаем, у самих треш и содомия вместо дисциплины, но работаем на совесть, потому «хоть сексом по телефону занимаемся». На основе юзе кейзов и историй внедрения(а так же фич-реквестов):

работу выполняют нормально и вовремя?

Нет

Коммерческие тайны не распространяют?

Распространяют

тогда пусть хоть сексом по телефону занимаются

вместо работы.

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

mikhalich ★★
() автор топика

воще не понимаю, зачем набросились на человека. я бы себе персонально такую штуку хотел - интересно проследить разок-другой, сколько на что времени уходит

jeuta ★★★★
()
Ответ на: комментарий от mashina

скажи что нет, делов то

всякие банки не могут жить без таких софтин, так что пусть пилит, даёшь линукс в банки и в прочую денежную среду.

dimon555 ★★★★★
()

Если коротко, то окна различать очень просто, это сделано где угодно (см. выше по треду или IronAHK и прочее). Или методом грубой силы: смотреть активное окно при перехвате каждого символа, это не настолько уж медленно. Различать поля средствами иксов нельзя, иксы ничего не знают о внутренностях окна современных тулкитов (зато в Motif и Tk проблем нет, там каждое поле = отдельное окно). Можно придумать тулкитозависимые велосипеды, но это сложно и нужно спрашивать знакомых с тулкитами.

С dead key всё веселее, их обработка емнип отдана клиенту то есть ты их не перехватишь. Можешь композить их сам, конечно, повторяя клиент. С азиатскими языками в любом случае будет секс, не факт, что с ними вообще хоть что-то можно сделать на уровне иксов, поэтому предположим, что в ТЗ их нет.

x3al ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.