Kopieren Sie den Inhalt der Zwischenablage per Skript in eine Datei

Ich möchte ein Shell-Skript schreiben, das den Inhalt der Zwischenablage (nur Klartext) kopiert, wenn sich der vorherige Inhalt ändert. Wenn ich das Skript jedes Mal starte, wenn ich etwas kopiere (damit sich der Inhalt der Zwischenablage ändert), kopiert das Skript die neuen Werte in eine Datei.

Ich habe ein Skript geschrieben, das korrekt funktioniert:

#!/bin/bash
prev=" "
while true
do
curr=$(pbpaste)
if [ "$curr" != "$prev" ]
then
   echo -n " " >> /Users/davide/desktop/file   
echo -n $curr >> /Users/davide/desktop/file     
fi
done

Diese Lösung gefällt mir nicht so gut. Es muss verschiedene Wege geben, dieses Problem zu lösen.

1) Holen Sie sich den Inhalt der Zwischenablage, speichern Sie ihn in einer Variablen und vergleichen Sie diesen Wert mit dem aktuellen Wert der Zwischenablage (meine Lösung.)

2) Erkennungstaste gedrückt CMD+C. Wenn der Benutzer drückt CMD+C(Verknüpfung zum Kopieren von etwas in die Zwischenablage), ändert sich mit ziemlicher Sicherheit der Inhalt der Zwischenablage, aber ich weiß nicht, ob es möglich ist, den Tastendruck zu erkennen, ohne zusätzliche Bibliotheken zu installieren.

3) Sehen Sie sich den Prozess an.

Prozesse, die der Kopieraktion CMD+C zugeordnet sind

PBOARD-Prozessinfo

Kann die CPU- oder Speicherauslastung des pboard-Prozesses überwacht werden (wenn etwas in die Zwischenablage kopiert wird, ändert sich der Wert dieses Prozentsatzes)?

Oder (ich weiß nicht, ob es möglich ist) kann ich den Adressraum des Prozesses sehen?

Also meine Frage ist folgende:

Gibt es Ihrer Meinung nach eine bessere Alternative zu dem von mir geschriebenen Skript unter Berücksichtigung der Alternativen 2 und 3?

Das klingt nach einem netten Proof of Concept für Malware, um in der Zwischenablage nach Passwörtern zu suchen. Ich vermute, dass dies früher oder später gequetscht wird und Sie eine Berechtigung erhalten müssen, um Änderungen in der Zwischenablage auszuspionieren. Wir werden sehen, was aus der WWDC in Sachen Datenschutz herauskommt – vielleicht geht das ja noch eine Weile
Wrt Ihre Option Nr. 2, bitte lesen Sie dies für einige Ideen. Lesen Sie auch diesen Beitrag
Wie werden Sie Änderungen in der Zwischenablage "beobachten"? Dazu benötigen Sie etwas mehr als ein Skript.
Es gibt einen Open-Source-Keylogger für Macs, der Code enthält, um Ihnen den Einstieg zu erleichtern.

Antworten (1)

Ein Produkt wie dieses existiert bereits und ist kostenlos im App Store erhältlich – Flycut .

Von ihrer Github- Projektseite:

Speichern Sie das aktuell angezeigte Zwischenablage-Verlaufselement in einer Datei, indem Sie die Lünette schließen. Löschen Sie das Element aus dem Verlauf der Zwischenablage, wenn das große S gedrückt wurde. Clipping wird in einer Datei auf dem Desktop gespeichert, ähnlich wie Screenshots von OS X gespeichert werden, z. B. „Desktop/Clipping 2015-07-15 at 08.35.10.txt