ОК, есть несколько способов показать все файлы в конкретном коммите ...
Чтобы уменьшить информацию и показать только имена файлов, которые были сделаны, вы можете просто добавить --name-only
или --name-status
flag ..., эти флажки просто показывают вам имена файлов, которые отличаются от предыдущих коммитов, как вы хотите ...
Итак, вы можете сделать git diff
, а затем --name-only
, с двумя хэш после
, что-то вроде ниже:
git diff --name-only 5f12f15 kag9f02
Я также создаю изображение ниже, чтобы показать все шаги, которые нужно пройти в этой ситуации:
Самый простой способ проверить - просмотреть embedded.mobileprovision
( [[NSBundle mainBundle] (скрытый) ofType: nil]
):
openssl asn1parse -inform der
), но плохой способ взлома - просто искать < plist
и
. get-task-allow
Еще вы можете проверить права, встроенные в исполняемый файл ( otool -l
перечисляет его как LC_CODE_SIGNATURE
). Анализировать это еще более утомительно (вам нужно проанализировать заголовок Mach-O и команды загрузки, а для «универсальных» двоичных файлов, которые теперь используются по умолчанию, вам нужно будет проверить загруженную в данный момент архитектуру или все архитектуры).
get-task-allow
get-task-allow
Я не думаю, что в правах различают сборки Ad Hoc и App Store.
Кроме них и сертификата, которым он подписан, нет никакой разницы между приложениями для разработки / специальных приложений / приложений из магазина приложений (в профиле прав / инициализации есть еще кое-что, но я не могу придумать ничего более надежного).
Ни то, ни другое не так сложно обойти. Для первого метода приложение может просто «переключить» - [NSBundle pathForResource: ofType:]
. Второй способ немного сложнее, в зависимости от того, какой API вы используете для чтения файла.
Я извлек файл embedded.mobileprovision и вставил его в онлайн-программу просмотра ASN.1 (например, http://www.geocities.co.jp/SiliconValley-SanJose/3377/asn1JS.html ), и вот что получилось:
SEQUENCE {
OBJECTIDENTIFIER 1.2.840.113549.1.7.2 (signedData)
[0] {
SEQUENCE {
INTEGER 1
SET {
SEQUENCE {
OBJECTIDENTIFIER 1.3.14.3.2.26
NULL
}
}
SEQUENCE {
OBJECTIDENTIFIER 1.2.840.113549.1.7.1 (data)
[0] {
OCTETSTRING 3c3f786d6c20766 ... 6c6973743e0a
}
}
[0] {
SEQUENCE {
SEQUENCE {
[0] {
INTEGER 2
}
... [much more]
С этим и некоторым знанием ASN.1 ваше объяснение имеет смысл.
Интересной частью является строка октетов, начинающаяся с 3c3f786d6c. Это часть XML в формате списка свойств Apple, которая содержит все ответы о типе распространения (разработчик, ad-hoc, App Store).