iPhone Недокументированный API Security.framework - PullRequest
1 голос
/ 12 ноября 2010

Я прочитал некоторую информацию о получении файлов .h для недокументированного API.Большинство источников рекомендуют class-dump (или class-dump-x и class-dump-z).

Однако это не работает с iPhone Security.framework.Он не содержит информации времени выполнения Objective C.

Единственный другой способ, который я нашел, - это использовать nm или otool.Это даст имена функций и разборки для них.

Кто-нибудь знает какой-нибудь более быстрый способ получить подпись недокументированных функций, чем чтение разборки и попытка выяснить, какие параметры идут, куда и что это может быть?

Ответы [ 2 ]

3 голосов
/ 17 ноября 2010

Вы имеете в виду этот недокументированный API, , документированный здесь ..

Security.framework не является частным или недокументированным.

Что касается заголовков, установленных на моем жестком дискев SDK 3.2 я нахожу:

/ Security.framework / Headers / Security.h /Security.framework/Headers/Secbase.h /Security.framework/Headers/SecCertificate.h /Security.framework/Headers/SecIdentitiy.h /Security.framework/Headers/SecImportExport.h /Security.framework/Headers/SecItem.h /Security.framework/Headers/SecKey.h /Security.framework/Headers/SecPolicy.h /Security.framework/SecRandom.h /Security.framework/Headers/SecTrust.h

Что касается небольшого обратного инжиниринга 101, вы должны понимать, что фреймворк не содержит или в любом случае не использует файлы заголовков или сигнатуры функций.,При условии, что они предназначены исключительно для блага разработчика.В скомпилированном фреймворке нет ни кода C, ни C ++, ни объективного-c, а только необработанный машинный код.

Как вы уже видели, если используется target-c, Class-Dump может довольно хорошо организовать работуСимволы target-c превращаются во что-то, похожее на заголовочный файл, только пропуская информацию о типе, которая не используется во время выполнения, поэтому все еще не так полезна.

Если исходным языком был C, то вы облажались.Может быть символ имени функции, но нет информации об аргументах или типе возвращаемого значения.

1 голос
/ 05 марта 2013

Существует множество дополнительных недокументированных API, которые не упомянуты в официальной документации. Например, часть из них можно увидеть здесь:

http://www.opensource.apple.com/source/Security/Security-55163.44/sec/Security/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...