Я пытаюсь сделать экстрактор dyld, похожий на dyld_decache и dsc_extractor. Но у меня проблемы с разбором раздела __objc_selrefs.
В целях тестирования я использовал libsystem_trace.dylib и смог найти и проанализировать его mach_header, его сегменты и разделы. Но просматривая раздел __DATA.__objc_selrefs, я нахожу указатели типа 0x201b8647fc8 и 0x201b860d716, которые слишком высоки и указывают вне кеша.
Напротив, в обычном файле Macho указатели в разделе __objc_selrefs указывают на соответствующую им строку в разделе __TEXT.__objc_methname.
Я знаю, что dyld скользит и перебазирует разделы, но после долгих возни я так и не смог исправить указатели. Любое руководство было бы удивительным, особенно учитывая, как мало ресурсов там.