2012-02-20 33 views

Trả lời

7

này hoạt động:

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

Note trừ thêm trong "-S-".

+0

Tuyệt vời, điều này làm việc một điều trị với các ứng dụng AppStore. – Camsoft

0

Có nhiều cách làm tất cả các khái niệm giống nhau - làm cho sandbox_init không có gì. Ví dụ bạn có thể sử dụng gdb cho điều này, đặt điểm ngắt trên sandbox_init và trở về từ chức năng ngay lập tức. Hoặc bạn có thể tải trước thư viện chứa một số trống rỗng sandbox_init với DYLD_FORCE_FLAT_NAMESPACE=1 DYLD_INSERT_LIBRARIES=foo.dylib trong đó foo.dylib chỉ chứa int sandbox_init() { return 0; }.

Lưu ý rằng hộp cát là tự nguyện và nếu bạn chạy một ứng dụng bên ngoài hộp cát như được thiết kế, bạn sẽ làm cho hệ thống của bạn dễ bị tổn thương hơn.

+0

Tôi đã thử đặt điểm ngắt trên sandbox_init và nó không bị tấn công. Suy nghĩ? – Taylor

+0

Tôi đoán chúng ta đang nói về những điều khác nhau sau đó - Tôi đã nói về sandboxing rõ ràng (xem 'sandbox') như được sử dụng bởi OS X, nhưng tôi cho rằng bạn đang nói về sandboxing cửa hàng ứng dụng mà đặc điểm kỹ thuật khác nhau anentirely. –

Các vấn đề liên quan