Я пытаюсь прочитать постоянные (или инициализирующие) строки из двоичного файла iPhone Mach-O iPhone. Я понимаю, что 3 соответствующих сегмента сегмента: _ TEXT. _cstring _ TEXT. _ustring и _ DATA. _cfstring. Однако, хотя я знаю, что строковая информация хранится в этих трех блоках данных, которые я извлек, я не могу понять это, и все это выглядит как мусор - я не вижу никаких распознаваемых символьных строк. Может кто-нибудь пролить свет на это и дать мне представление о том, какие шаги необходимо предпринять, чтобы прочитать строковые данные?
Я посмотрел на некоторый код (GetAddrOfConstantCFString () из http://llvm.org/svn/llvm-project/cfe/trunk/lib/CodeGen/CodeGenModule.cpp),, но, опять же, не могу связать его с тем, что вижу в двоичных файлах.
В моем случае размеры рассматриваемых разделов:
__TEXT.__cstring (99 K-bytes)
__TEXT.__ustring (<200 bytes)
__DATA.__cfstring (29 K-bytes)
Чтобы дать вам представление, первые 32 байта секции __cfstring, которые, как я думаю, будет содержать реальные строки, выглядят так:
Дамп _ ДАННЫЕ. _cfstring
00 00 00 00 c8 07 00 00 74 02 0d 00 15 00 00 00
00 00 00 00 c8 07 00 00 8c 02 0d 00 01 00 00 00
...
Большое спасибо за вашу помощь!