Nell'Editor di Script durante l'esportazione, c'è una casella di controllo "Run-only". Non è documentato nell'aiuto. Che cosa fa?
I file di AppleScript .scpt
normalmente contengono sia il codice sorgente (il testo che vedi) che il codice compilato (la versione che il computer può immediatamente eseguire). Queste due versioni non sono collegate in alcun modo nel file: il file contiene solo entrambe le versioni separatamente. (I file di testo .applescript
contengono solo codice sorgente.)
Normalmente, quando apri uno script in Script Editor, ignora la versione compilata e apre semplicemente la fonte. Quando si salva, compila l'origine e salva entrambe le versioni. "Run-only" significa che stai salvando solo la versione compilata, quindi non c'è più una versione leggibile dall'uomo.
Puoi utilizzare lo script run-only in diversi modi:
osascript /path/to/script
run script "path:to:script
set myScript to load script
myScript's myFunc()
(o myFunc() of myScript
) La decompilazione di uno script di sola esecuzione nel codice sorgente potrebbe essere difficile, ma uno script compilato non è completamente offuscato. Durante la compilazione, nomi e verbi vengono trasformati in codici a quattro lettere che AppleScript utilizza internamente. È facile da invertire: digita «class bhit»
in Script Editor e fai clic su compila → button returned
. Questi codici a quattro lettere possono essere trovati sparsi in file di script compilati.
Leggi altre domande sui tag applescript