Domanda

Ho un'app che funziona usando sandboxing. Come posso eseguirlo senza sandboxing? Supponiamo di non poter semplicemente ricompilare l'app con il sandboxing.

È stato utile?

Soluzione

Questo funziona:

$ ditto MySandboxedApp.app MySandboxedApp.backup.app
$ codesign -f -s- MySandboxedApp.app

Nota il più extra in "-s-".

Altri suggerimenti

Ci sono molti modi in cui tutti fanno concettualmente la stessa cosa: fare sandbox_init una no-op. Ad esempio puoi usare gdb Per questo, imposta il punto di interruzione sandbox_init e ritorna subito dalla funzione. Oppure potresti ricaricare una libreria contenente un vuoto sandbox_init insieme a DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=foo.dylib dove foo.dylib contiene solo int sandbox_init() { return 0; }.

Nota che il sandboxing è volontario e se si esegue un'app fuori da un sandbox progettato, rendendo il tuo sistema più vulnerabile.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top