Я собираюсь исправить какой-нибудь код из-за ненужного ПО.
Программное обеспечение на основе углерода, поэтому я не могу использовать 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 ...
У кого-нибудь есть идеи?