Двоичные файлы iPhone Mach-O, хранилище строк, __TEXT / __ DATA

Я пытаюсь прочитать постоянные (или инициализационные) строки из двоичного файла iPhone Mach-O. Я понимаю, что 3 соответствующих сегмента. Секции - это _ ТЕКСТ. _cstring _ ТЕКСТ. _ustring и _ ДАННЫЕ. _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, который, хотя я и должен был содержать фактические строки, выглядят следующим образом:

Dump _ ДАННЫЕ. _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
...

Большое спасибо за вашу помощь!

6
задан pracheta986919 6 January 2013 в 11:25
поделиться