Untrusted executable code programs (applets or controls) are written in
native, directly executable code. The executable code is loaded into a
pre-allocated memory range (sandbox) from which references to outside
memory are severely restricted by checks (sniff code) added to the
executable code. Conventional application-program interface (API) calls in
the untrusted code are replaced with translation-code modules (thunks)
that allow the executable code to access the host operating system, while
preventing breaches of the host system's security. Static links in the
code are replaced by calls to thunk modules. When an API call is made
during execution, control transfers to the thunk, which determines whether
the API call is one which should be allowed to execute on the operating
system.
Τα untrusted εκτελέσιμα προγράμματα κώδικα (applets ή έλεγχοι) γράφονται στον εγγενή, άμεσα εκτελέσιμο κώδικα. Ο εκτελέσιμος κώδικας φορτώνεται σε μια προ-διατιθέμενη σειρά μνήμης (sandbox) από την οποία οι αναφορές στην εξωτερική μνήμη περιορίζονται σοβαρά από τους ελέγχους (sniff κώδικας) που προστίθενται στον εκτελέσιμο κώδικα. Η συμβατική διεπαφή εφαρμογή-προγράμματος (API) καλεί μέσα το untrusted κώδικα αντικαθίσταται με τις ενότητες μετάφραση-κώδικα (thunks) που επιτρέπουν στον εκτελέσιμο κώδικα για να έχουν πρόσβαση στο λειτουργικό σύστημα οικοδεσποτών, αποτρέποντας τις παραβιάσεις της ασφάλειας του συστήματος οικοδεσποτών. Οι στατικές συνδέσεις στον κώδικα αντικαθίστανται από τις κλήσεις στις ενότητες thunk. Όταν μια κλήση API γίνεται κατά τη διάρκεια της εκτέλεσης, μεταφορές ελέγχου στο thunk, το οποίο καθορίζει εάν η κλήση API είναι μια που πρέπει να επιτραπεί για να εκτελέσει στο λειτουργικό σύστημα.