Я ищу для исправления части отказа от кода с некоторым кодом.Как вставить команду LC_LOAD_DYLIB в двоичный файл Mach-O (OSX)
Программное обеспечение основано на углероде, поэтому я не могу использовать InputManager (по крайней мере, я не думаю, что смогу). Моя идея состояла в том, чтобы добавить ссылку dylib к заголовку mach-o и запустить новый поток при вызове процедуры инициализации.
Я сбрасываю с помощью заголовка mach-o с помощью шестнадцатеричного кода, чтобы добавить соответствующую команду загрузки (LC_ LOAD_DYLIB).
otool сообщает, что я ожидаю увидеть, поэтому я уверен, что файл правильно отформатирован.
Load command 63 cmd LC_LOAD_DYLIB cmdsize 60 name @executable_path/libAltInput.dylib (offset 24) time stamp 1183743291 Fri Jul 6 19:34:51 2007 current version 0.0.0 compatibility version 0.0.0
Однако запуск бинарного дает мне следующую ошибку
dyld: bad external relocation length
Все, что я могу догадаться, это означает, что мне нужно изменить разделы LC_ SYMTAB или LC_ DYNSYMTAB ...
У кого-нибудь есть идеи?
Отлично. Это отличный совет. Чтобы ответить вам, нет, я не распространяю приложение. Я исправляю его для личного использования, так что я могу использовать альтернативный HID (я все же оставил надежду как на дистрибутив приложения, так и на производителя драйверов для HID). – 2008-11-07 19:28:24