Làm cách nào để bạn nâng cao quyền của người dùng lên root bằng API ủy quyền để có thể sử dụng mach_inject?Nâng cao quyền sử dụng mach_inject
6
A
Trả lời
5
Bạn không cần phải root để sử dụng mach_inject; thay vào đó, bạn cần ký mã của mình. Chỉ với mục đích thử nghiệm (và trong 10.4/10.5), bạn cũng có thể làm cho ứng dụng của bạn setgid procmod.
Xem TN2206 để biết thêm thông tin.
3
Cũ câu hỏi, nhưng câu trả lời đúng:
Trừ khi bạn sở hữu pid/nhiệm vụ, bạn thực sự cần phải DÙ là root hoặc là thành viên của procmod. Trong OS X, điều này có rất ít việc phải làm với việc ký mã. Mach_inject/Mach_star sử dụng bởi bẫy Mach task_for_pid(), yêu cầu các đặc quyền trên. Trong iOS, bạn cũng cần quyền tương ứng (task_for_pid-allow), đây là nơi ký mã sẽ có ích (sử dụng ldid để tự ký).