Script zum "Entlarven" "getarnter" Scripte?

der_Kay

der_Kay

Aktives Mitglied
Thread Starter
Dabei seit
02.09.2004
Beiträge
1.765
Reaktionspunkte
25
Hallo,

Sheep hat demonstriert, wie man mit einfachsten Mitteln den "wahren" Dateityp, in diesem Falle ein Shell-Script vor den Augen des Benutzers als PNG, MP3 oder was auch immer tarnen kann, sodass ein Doppelklick u. U. Code ausführt.
Mir (Newbie) schwebt nun ein Script (- vielleicht als Ordneraktion -) vor, dass eine Datei auf eben diese "Diskrepanzen", - z.B. PNG mit Terminal öffnen -, untersucht.
Die TN2017 befasst sich mit dem Thema der Zuordnung von Anwendungen zu Dokumenten und beschreibt ein hierarchisiertes Vorgehen bei eben dieser Zurodnung, bei der Type-, Creator-Flag und Dateiendung u.s.w. herangezogen werden. Nur zum wirklich wichtigen Punkt: "Has the user specified the application for this document?" finde ich nix.
Gibt es eine Funktion / ein Shelltool welche(s) genau diese Info liefert?

Und vor allem: Unter welchen Umständen überleben diese vom Benutzer zugeordneten Öffnungsattribute? Zippen der Datei hat sie zerstört...

Gruss,

Kay
 
Der Thread ist schon etwas älter, aber ich habe ihn vor einer Weile entdeckt und gebookmarkt ( :kopfkratz ), weil ich die Idee ganz interessant fand.

Jetzt bin ich dazu gekommen, mich damit einmal ein bisschen zu befassen - herausgefunden habe ich folgendes:

Es gibt im Terminal die Möglichkeit, die Resource Forks - welche u.a. bestimmen, mit welchem Programm eine Datei geöffnet wird - auszulesen. Das geht so:

Code:
cat foo/..namedfork/rsrc
("foo" ist der Name der Datei, der Rest ist wörtlich zu verstehen)

Das Resultat ist ein Buchstabensalat, weil das Ganze Binary ist. Nichtsdesto trotz liefert das indirekt wertvolle Informationen, wenn man es so erweitert:

Code:
cat foo/..namedfork/rsrc | grep Terminal

Auf eine Datei mit manipuliertem - d.h. auf Terminal gestelltem - "Öffnen mit"-Attribut (und NUR bei solchen) angewendet gibt das folgendes zurück:

"Binary file (standard input) matches"

Bei allen anderen Dateien, normale Shell-Scripts mit der Endung .command (welche automatisch mit dem Terminal geöffnet werden) inbegriffen, ist das Resultat "" (also nichts). Die zuständige Applikation scheint nämlich erst in den ResForks aufzutauchen, wenn man diese ändert, wenn die Standard-App zum Zuge kommt, steht nichts (kann das jemand bestätigen?).

Der Witz daran: Genau die o.g. Manipulation ist es, die solche "getarnten" Shell-Scripts auszeichnet, man kann letztere also auf diese Weise sehr leicht erkennen.

Das Ganze muss jetzt allerdings noch verfeinert werden, weil ich vermute, dass hier ziemlich leicht Fehlalarme entstehen können. Insbesondere müsste man noch die Datei-Endung miteinbeziehen - optimal wäre ein Vergleich mit dem Datei-Icon, aber bei letzterem wäre ich jetzt definitiv auf die Mithilfe eines/r ResFork-Fachmannes/frau angewiesen ;). Dadurch könnte man Dateien allgemeiner auf Ungereimtheiten auf hin untersuchen, also nicht nur genau diesen Fall erkennen.


Meine Vision wäre (ebenfalls), das irgendwie als Ordner-Aktion oder Finder-Plugin umzusetzen, damit das etwas praktikabler wird - mal sehen, was draus wird :).
 
Zurück
Oben Unten