Chúc mừng!Kỹ thuật đảo ngược một Apple Kext - Xây dựng lại lớp
Tôi hiện đang cố gắng mở rộng chức năng của Magic Mouse. Để làm điều này, tôi hy vọng sẽ viết một kext chặn các sự kiện từ trình điều khiển cảm ứng đa điểm, AppleMultitouchDriver.kext, diễn giải chúng, và hoặc gửi các sự kiện mới hoặc chuyển tiếp sự kiện thực tế. Cách tiếp cận này tương tự như cách tiếp cận được sử dụng bởi DoubleCommand.
Tôi đã tạo một kext thử nghiệm nhỏ để chặn các sự kiện chuột (nhấp, chuyển động, v.v.) vì điều đó cũng sẽ cần thiết.
Vấn đề tôi đang gặp phải là tôi không thể chặn các sự kiện từ các đối tượng AppleMultitouchDevice và/hoặc AppleMultitouchHIDEventDriver vì không có định nghĩa lớp cho chúng. Tôi cần có thể gán lại con trỏ cho hàm gọi lại như tôi làm trong trình chặn chuột và được thực hiện trong DoubleCommand. Theo như tôi biết, điều này có nghĩa là tôi cần phải xây dựng lại lớp AppleMultitouchDevice. Tôi đã có thể để có được một tham chiếu đến trường hợp của đối tượng AppleMultitouchDevice, vì vậy tôi chỉ cần để có thể đúc nó và sử dụng nó.
Bây giờ bạn có nền, đây là những câu hỏi trực tiếp của tôi:
- gì phương pháp làm tôi cần phải sử dụng để thiết kế đối chiếu các kext hoặc tái tạo lại lớp học trong câu hỏi?
- Những chương trình nào có sẵn sẽ hỗ trợ tôi trong nỗ lực này?
- Có hướng dẫn hoặc sách điện tử nào tập trung vào chủ đề cụ thể mà bạn biết không?
- Tôi có thể gán lại con trỏ gọi lại mà không thực sự tạo lại toàn bộ lớp không?
- Bất kỳ điều gì khác tôi có thể đã bỏ lỡ vì tôi rất mới mẻ với điều này.
Cảm ơn bạn đã được tư vấn hoặc hỗ trợ !!
Apple có cung cấp nguồn cho kexts của họ không? –
Có, đối với hầu hết trong số họ. Điều này, tuy nhiên, được giữ kín. Tôi đoán họ không muốn mọi người nhìn vào cách tất cả các công nghệ độc quyền được cấp bằng sáng chế của họ hoạt động cho cảm ứng đa điểm. – Tyler