I got curious what my binary iphone files contained, so I opened some in a text editor. To my surprise, there are a lot of methods and stuff being mentione开发者_如何转开发d, even in the binaries that are code signed (I thought they got encrypted?). Not that it is a problem, I'm just curios. Why are there so many things in plain text?
http://pici.se/pictures/VRujRvhUi.png http://pici.se/pictures/VRujRvhUi.png
There are all sorts of plain text strings in executables, such as string table entries, string constants, and so on. An Objective-C, being very dynamic, uses method names at runtime also (hence the need for names in the binary). While the executable image may be signed, the contents is not necessarily encrypted. The signature will be applied to some form of hash of the file's contents, which can be used for verification.
The encryption is only on a portion of the binary when it is encrypted by Apple - so even in the released version of your binary, some things are visible as plain text.
-t
精彩评论