Как выполнить программу, когда определенная строка вводится в определенное окно?

У меня есть 3 comps, 2 из которых имели эту же проблему, неважно, какая операционная система, которую я установил, все еще делала то же самое. Я нашел обновление Bios, которое исправило мою проблему. Убедитесь, что на вашем компьютере есть обновление Bios на веб-сайте производителей.

Обязательно прочитайте историю изменений обновлений BIOS, это история изменений на моих машинах. [F1] Надеюсь, это поможет.
-1
задан 8 November 2017 в 22:12

3 ответа

Использование logkeys в качестве кейлоггера

Доступно несколько программ для кейлоггеров, здесь я использую logkeys из репозиториев. Его основные команды:

sudo logkeys -s # start logging
sudo logkeys -k # stop logging

По умолчанию logkeys регистрирует устройство ввода по умолчанию на /var/log/logkeys.log. Программа предоставляет параметры для указания, например. регистрируемое устройство, путь к файлу журнала и используемая карта клавиатуры, все они можно найти в man logkeys. Кроме того, github README предоставляет полезные советы и помощь по поиску и устранению неисправностей.

Мониторинг logkeys output

Чтобы контролировать выходной файл кейлоггеров, я запускаю оболочку с правами root и использую простой while для непрерывного grep для слова безопасности banana yt. Если строка найдена, echo перезаписывает файл журнала, эффективно удаляя его содержимое, чтобы grep не находил одну и ту же строку дважды. После этого scrot снимает снимок экрана и сохраняет его, например. /home/user/2017-11-08_10:00:00_screenshot.png.

while :; do
  grep -q banana /var/log/logkeys.log &&
  (
    echo >/var/log/logkeys.log
    scrot "/home/user/$(date +%F_%T)_screenshot.png"
  )
done

Конечно, сценарий также нужно запускать с правами root. Вы можете добавить дополнительные команды внутри скобок или других тестов с дополнительными grep строками, например

grep -q apple /var/log/logkeys.log && echo "I found an apple!"

Тестирование того, имеет ли конкретная программа фокус

Чтобы запускать только те кнопки, (f20), чтобы получить имя сфокусированного окна с помощью:

xdotool getactivewindow getwindowname

Объединяя все это

#!/ind/bash

# The script takes two arguments, the first being the keyword which triggers 
# the below commands and the second being the name of the window to monitor, 
# with support of extended regular expressions.
# Example call: sudo bash /path/to/script "banana" '.*Kate'

sleep_time="1" # sleep time between tests for focused window in seconds
logfile="/var/log/logkeys.log" # path to the keylogger's logfile
logkeys_options="-o $logfile" # options for logkeys
commands(){ # command(s) to run
  scrot "/home/user/$(date +%F_%T)_screenshot.png"
}

while :; do
  # test if a window with the given name is focused
  if [[ "$(xdotool getactivewindow getwindowname)" =~ $2 ]]; then
    # start logkeys if not running
    [ -e /var/run/logkeys.pid ] || logkeys -s $logkeys_options
    # search logfile for given keyword
    grep -q "$1" "$logfile" && ( echo >"$logfile"; commands )
  else
    # stop logkeys if running
    [ -e /var/run/logkeys.pid ] && logkeys -k
  fi
  # sleep for $sleep_time seconds before testing again
  sleep $sleep_time
done

Я предлагаю начать сценарий с помощью например sudo bash /path/to/script "banana" '.*Kate' в окне терминала, который сам не контролируется, таким образом вы можете безопасно завершить его с помощью Ctrl + C.

1
ответ дан 22 May 2018 в 16:25
  • 1
    когда вы скорбите на скриншот, он сохраняет его в каталог в системе, и если да, можете ли вы указать каталог в системе? – dabberson567 9 November 2017 в 18:24
  • 2
    Файл, в котором должен быть сохранен скриншот, является единственным аргументом scrot, чтобы сохранить его в определенном месте, просто введите путь, как в scrot "/home/user/$(date +%F_%T)_screenshot.png" в скрипте, где /home/user/ - это путь, а остальное - имя файла , – dessert 10 November 2017 в 12:30

Использование logkeys в качестве кейлоггера

Доступно несколько программ для кейлоггеров, здесь я использую logkeys из репозиториев. Его основные команды:

sudo logkeys -s # start logging sudo logkeys -k # stop logging

По умолчанию logkeys регистрирует устройство ввода по умолчанию на /var/log/logkeys.log. Программа предоставляет параметры для указания, например. регистрируемое устройство, путь к файлу журнала и используемая карта клавиатуры, все они можно найти в man logkeys. Кроме того, github README предоставляет полезные советы и помощь по поиску и устранению неисправностей.

Мониторинг logkeys output

Чтобы контролировать выходной файл кейлоггеров, я запускаю оболочку с правами root и использую простой while для непрерывного grep для слова безопасности banana yt. Если строка найдена, echo перезаписывает файл журнала, эффективно удаляя его содержимое, чтобы grep не находил одну и ту же строку дважды. После этого scrot снимает снимок экрана и сохраняет его, например. /home/user/2017-11-08_10:00:00_screenshot.png.

while :; do grep -q banana /var/log/logkeys.log && ( echo >/var/log/logkeys.log scrot "/home/user/$(date +%F_%T)_screenshot.png" ) done

Конечно, сценарий также нужно запускать с правами root. Вы можете добавить дополнительные команды внутри скобок или других тестов с дополнительными grep строками, например

grep -q apple /var/log/logkeys.log && echo "I found an apple!"

Тестирование того, имеет ли конкретная программа фокус

Чтобы запускать только те кнопки, (f20), чтобы получить имя сфокусированного окна с помощью:

xdotool getactivewindow getwindowname

Объединяя все это

#!/ind/bash # The script takes two arguments, the first being the keyword which triggers # the below commands and the second being the name of the window to monitor, # with support of extended regular expressions. # Example call: sudo bash /path/to/script "banana" '.*Kate' sleep_time="1" # sleep time between tests for focused window in seconds logfile="/var/log/logkeys.log" # path to the keylogger's logfile logkeys_options="-o $logfile" # options for logkeys commands(){ # command(s) to run scrot "/home/user/$(date +%F_%T)_screenshot.png" } while :; do # test if a window with the given name is focused if [[ "$(xdotool getactivewindow getwindowname)" =~ $2 ]]; then # start logkeys if not running [ -e /var/run/logkeys.pid ] || logkeys -s $logkeys_options # search logfile for given keyword grep -q "$1" "$logfile" && ( echo >"$logfile"; commands ) else # stop logkeys if running [ -e /var/run/logkeys.pid ] && logkeys -k fi # sleep for $sleep_time seconds before testing again sleep $sleep_time done

Я предлагаю начать сценарий с помощью например sudo bash /path/to/script "banana" '.*Kate' в окне терминала, который сам не контролируется, таким образом вы можете безопасно завершить его с помощью Ctrl + C.

1
ответ дан 18 July 2018 в 03:41

Использование logkeys в качестве кейлоггера

Доступно несколько программ для кейлоггеров, здесь я использую logkeys из репозиториев. Его основные команды:

sudo logkeys -s # start logging sudo logkeys -k # stop logging

По умолчанию logkeys регистрирует устройство ввода по умолчанию на /var/log/logkeys.log. Программа предоставляет параметры для указания, например. регистрируемое устройство, путь к файлу журнала и используемая карта клавиатуры, все они можно найти в man logkeys. Кроме того, github README предоставляет полезные советы и помощь по поиску и устранению неисправностей.

Мониторинг logkeys output

Чтобы контролировать выходной файл кейлоггеров, я запускаю оболочку с правами root и использую простой while для непрерывного grep для слова безопасности banana yt. Если строка найдена, echo перезаписывает файл журнала, эффективно удаляя его содержимое, чтобы grep не находил одну и ту же строку дважды. После этого scrot снимает снимок экрана и сохраняет его, например. /home/user/2017-11-08_10:00:00_screenshot.png.

while :; do grep -q banana /var/log/logkeys.log && ( echo >/var/log/logkeys.log scrot "/home/user/$(date +%F_%T)_screenshot.png" ) done

Конечно, сценарий также нужно запускать с правами root. Вы можете добавить дополнительные команды внутри скобок или других тестов с дополнительными grep строками, например

grep -q apple /var/log/logkeys.log && echo "I found an apple!"

Тестирование того, имеет ли конкретная программа фокус

Чтобы запускать только те кнопки, (f20), чтобы получить имя сфокусированного окна с помощью:

xdotool getactivewindow getwindowname

Объединяя все это

#!/ind/bash # The script takes two arguments, the first being the keyword which triggers # the below commands and the second being the name of the window to monitor, # with support of extended regular expressions. # Example call: sudo bash /path/to/script "banana" '.*Kate' sleep_time="1" # sleep time between tests for focused window in seconds logfile="/var/log/logkeys.log" # path to the keylogger's logfile logkeys_options="-o $logfile" # options for logkeys commands(){ # command(s) to run scrot "/home/user/$(date +%F_%T)_screenshot.png" } while :; do # test if a window with the given name is focused if [[ "$(xdotool getactivewindow getwindowname)" =~ $2 ]]; then # start logkeys if not running [ -e /var/run/logkeys.pid ] || logkeys -s $logkeys_options # search logfile for given keyword grep -q "$1" "$logfile" && ( echo >"$logfile"; commands ) else # stop logkeys if running [ -e /var/run/logkeys.pid ] && logkeys -k fi # sleep for $sleep_time seconds before testing again sleep $sleep_time done

Я предлагаю начать сценарий с помощью например sudo bash /path/to/script "banana" '.*Kate' в окне терминала, который сам не контролируется, таким образом вы можете безопасно завершить его с помощью Ctrl + C.

1
ответ дан 24 July 2018 в 17:54

Другие вопросы по тегам:

Похожие вопросы: