Для начала введу такое понятие как Deferred Rendering (не путать с Deferred Shading, т.к. последнее относится к освещению)
Странная фраза какая-то. Сколько не читал на эту тему, всю жизнь под Deferred Rendering подразумевался скорее общий подход к разделению рендера на стадии рендера геометрии и собственно шейдинга. Deferred Shading уже является классической реализацией в 2 прохода, которую описали вы. Альтернативная реализация, которая можно сказать уже вытеснила с рынка классическую, это light pre-pass или deferred lighting уже с 3 проходами.
Собственно, CryEngine 3, который впервые показал миру SSLR (возможно даже сами crytek являются авторами, не знаю), использует deferred lighting.
После этих слов ожидал увидеть дампер связки ключей. Оно конечно все там в безопасности, но если речь о jailbreak, то все ее содержимое можно получить в открытом виде.
А описанный метод больше похож на туториал по cycript. Для простого баловства с игрульками и реверсинга простейших private API — пожалуйста. И то, лично мне удобнее в IDA сразу залезть. Тем более что, попадется вам приложение, где все obj-c символы (селекторы и классы) подменены на что-то иное (рандом или просто A, AA, B, CDC), то ничем уже ни cycript, ни class-dump не помогут. Видел такие лично. Не говоря уже о С/С++. Боюсь, что с массовым переходом на Swift и эта лавочка прикроется. И ничего кроме IDA не останется.
Видимо, вам не повезло. Такой сертификат выдают на раз два. Достаточно предоставить все данные на юридическое лицо и по телефону сказать «ай нид сертификэт ту мэйк инхауз апликатионс». У нас это заняло недели две и большую часть времени просто ожидали, когда нам позвонят, и когда предоставят собственно сертификат после звонка.
У меня было наоборот. Это было voip приложение — сразу после установки оно автоматически было запущено в фоне (с помощью парочки трюков естественно можно заставить его там работать сколько потребуется). На свежем девайсе да, просит разрешение. Если на нем уже есть provision профиль, то все проходит тихо. По крайней мере, мне кажется что provision профиль меняет поведение, но не уверен. Не сильно изучал, что конкретно приводит к такому поведению.
Насколько помню, достаточно один раз поставить enterprise сертификат в устройство и приложение сразу после установки может быть автоматически запущено без всякого вмешательства пользователя — только в таком случае будет скрытый характер установки. Более того, возможно скрыть сам факт присутствия приложения от пользователя. Что можно делать вредоносного — красть личные данные. Вопреки расхожему мнению, apple еще не все закрыла. А если уж попадется более старая iOS (5-6), то там вообще можно разгуляться.
Думаю, пригодится, спасибо. Мои потребности обычно ограничиваются определением участка, на котором упало приложение. Когда пишешь jailbreak и не jailbreak приложения очень часто xcode не определяет символы, тем более он их не определяет для чужий приложений. Решается просто — нахожу ASLR смещение, а дальше в IDA все как на ладони.
www.imacsoft.com/iphone-to-mac-transfer.html Как видно, никакой криминалистики. Обычное гражданское приложение для благих целей. Умеет многое. Лично я фотографии и записи диктофона получить не смог, но самое интересное смог — контакты, историю звонков, СМС сообщения.
Незашифрованные файлы — интересные файлы включают лишь личные данные пользователи, которые, как я и сказал, в большинстве можно было и так получить без всяких скрытых сервисов. Собственно, сам iTunes должен как-то получать доступ к данным пользователя. Теми же способами получает его и сторонний софт — библиотека imobiledevice использует теже протоколы.
Удаленно — там все далеко не так просто. Удаленно это через WiFi sync, а так просто эта функция не включается. Да и работает так криво, что лучше бы ее и не было. По крайней мере я так и добился от нее стабильной работы. Ежели вы можете подключиться по WiFi sync, то значит все теже самые данные вы и так можете получить без всяких скрытых сервисов через все теже стандартные протоколы iTunes, которые хорошо изучены.
Тоже самое с трафиком — так просто одним щелчком пальца его все равно не получить. Более того, насколько я знаю, он дает только http трафик. Т.е. бесполезен более чем полностью для доступа к хоть каким-то серьезным данным в трафике пользователя.
Ну и так, ходят слухи, что любое AppStore приложение до сих пор имеет доступ ко всем SMS сообщениям без всякого на то разрешения со стороны пользователя. Еще есть слух, что и примерное местоположение (в радиусе нескольких километров) тоже без ведома пользователя может получить любое приложение. Но это все слухи, да.
Совершенно непонятно, с чего вдруг подняли такую панику, когда основные данные можно было и так получить через всем известную библиотеку imobiledevice. Да, только по USB, но все же. Только вчера специально, услышав об этом докладе, я с помощью обычной бесплатной утилитки для бекапа даных скачал с запароленного iPhone 5S контакты, СМСки и историю звонков — т.е.все, что спецслужбам нужно. Никаких особенных демонов, насколько я знаю, оно не использует т.к. основано на imobiledevice, которая работает с сервисами вроде afcd. Ничего нигде не запаролено и это очевидно, что оно не запаролено. Телефон в заблокированном состоянии получает СМС, электронную почту, звонки — их надо сохранять в базу, а значит он должен уметь расшифровать и зашифровать эту базу без помощи пользователя. Единственный вариант хранить все данные во временной базе и складывать в основную, когда пользователь разблокирует телефон. Но ничего подобного в iOS не видно. Кто писал jailbreak приложения прекрасно знает, что доступ ко всем личным данным есть всегда, хоть какие пароли стоят. В том числе к keychain.
За сообщество говорить тут вряд ли кто сможет. Да и вообще, какая тут может быть защита. Раз антивируса нет, то единственное, что остается, это голова на плечах.
Ну понятно, просто фантазии на тему. Это не серьезно. Таким образом хорошо фантазируется и без установленного заранее jailbreak. Эксплуатация уязвимости для дистанционного jailbreak'а телефона и установки закладки является реальным вектором атаки. Jailbreak через переход по ссылке в Safari ведь был, а кто его знает, не нашел ли кто эту уязвимость еще раньше. Такой эксплоит будет стоить очень больших денег.
Читать — да. Писать куда угодно вы все равно не можете, Unix права никто не отменял. За пределами /var/mobile писать все равно не получится. Попробуйте записать что-то в /private — вас вежливо пошлют с «Permission denied». Сам механизм sandboxing, как и я написал, никуда не делся от этого. При разработке твиков все так же создает кучу проблем. Ну и стоит заметить, что совсем недавно тырить личные данные без ведома и контроля пользователя никто не мешал и без Jailbreak.
А что же насчет «возможно установка стороннего софта на телефон без вашего ведома»? Мне правда интересно, каким это образом JB позволяет такое делать. Чистый, только что установленный, с одной лишь Cydia без всяких полезных приложений из нее, которые и будут это осуществлять.
Signing — возможно установка стороннего софта на телефон без вашего ведома
Каким же это образом? Какой конкретный компонент позволяет дистанционно установить что-то на телефон без ведома пользователя?
Sandboxing — приложения могут прочитать больше чем позволено без возможности это контролировать
Приложения AppStore продолжают жить в sandbox, никто его не отключает при джейле. Собственно, весь механизм sandboxing остается в силе для всех приложений (в том числе системных), которые его используют.
ASLR — отключаются проверка ASLR (поправьте если не так).
Насчет этого не знаю, но о какой конкретно проверке идет речь, если ASLR это просто напросто рандомизация адресного пространства?
Сидия — Ненадежность программ из сидии.
А не надо ставить что попало откуда попало. Да и AppStore тоже вас не до конца защищает. Совсем недавно можно было посылать SMS сообщения без вашего ведома, а уж доступ к private API как был так и есть при должных усилиях для скрытия следов.
Есть еще вот такая штука morpher.com/ Единственное, не умеет шифровать пока что селекторы obj-C, т.е. методы будут как на ладони. Но методы можно и вручную вызывать, используя С-строки в качестве имен, которые этот обфускатор уже шифровать умеет. А вообще, проще критически части кода писать на С/С++ — имен методов и классов в бинарнике не будет, да еще и обфускатор с таким кодом куда лучше справляется, чем с obj-C.
Если речь о банальном дампе классов и их методов, то для этого дешифровывать и не нужно. С джейлбрейком можно загрузить в приложение MobileSubstrate библиотеку, которая делает дамп всех зарегистрированных классов и их методов. Или же использовать вот это github.com/limneos/weak_classdump Это не говоря о том, что в данном случае возможности mobilesubstrate библиотек и cycript этим далеко не ограничиваются.
Масштабы совершенно не те и даже эти баги не отменяют одного простого факта — поддержка DirectX в драйверах намного более стабильная и надежная. Противопоставлять тут OpenGL очень даже странно. Вы может не так часто играете, а я часто и это все прекрасно вижу. А именно, полнейшее отсутствие каких-либо проблем с драйверами. И недавней игрой, где они были, был именно Rage, который не то что баги имел — он просто был неиграбельным ввиду частоты кадров буквально в 1-2 fps.
А проблемы с драйверами у DirectX игр тоже есть, но подавляющее большинство из них относится к новым поколениям карт, что объяснимо и вообще нормально. Сам я эти баги не вижу, зато читаю о них в отчетах того же iXBT.
Суть моего поста выше в следующем — драйверная поддержка OpenGL на сегодня несравнимо хуже поддержки DirectX.
Желание может и есть, только Apple не дает никакого выбора с ее политикой обновлений. Ну и недавние истории, когда вышел Lion и многие остались на Snow Leopard. ОС стала не только прожерливее во всех планах, но и перестала поддерживать туже rosetta, что для некоторых оказалось очень плохой новостью.
А так, на данные момент вообще нет никаких вариантов. Хочешь даже просто какую-то программку бесполезную обновить — будь добр обновить ОС. И никого не волнует, как тебе нравится текущая ОС и насколько плохой стала новая. Скоро это ждет еще и пользователей iOS, где политика обновления еще более жесткая.
Как раз отлично он там и не работает. По крайней мере я специально писал про баги вендоровских драйверов. Тот же выход Rage недавно. Само по себе событие, что игра на OpenGL вышла. Так еще успех закрепился огромным количеством проблем с драйверами именно по причине того, что с OpenGL в них большие проблемы. Помню писали, что уже в процессе разработки пришлось отправлять множество отчетов о багах.
Странная фраза какая-то. Сколько не читал на эту тему, всю жизнь под Deferred Rendering подразумевался скорее общий подход к разделению рендера на стадии рендера геометрии и собственно шейдинга. Deferred Shading уже является классической реализацией в 2 прохода, которую описали вы. Альтернативная реализация, которая можно сказать уже вытеснила с рынка классическую, это light pre-pass или deferred lighting уже с 3 проходами.
Собственно, CryEngine 3, который впервые показал миру SSLR (возможно даже сами crytek являются авторами, не знаю), использует deferred lighting.
После этих слов ожидал увидеть дампер связки ключей. Оно конечно все там в безопасности, но если речь о jailbreak, то все ее содержимое можно получить в открытом виде.
А описанный метод больше похож на туториал по cycript. Для простого баловства с игрульками и реверсинга простейших private API — пожалуйста. И то, лично мне удобнее в IDA сразу залезть. Тем более что, попадется вам приложение, где все obj-c символы (селекторы и классы) подменены на что-то иное (рандом или просто A, AA, B, CDC), то ничем уже ни cycript, ни class-dump не помогут. Видел такие лично. Не говоря уже о С/С++. Боюсь, что с массовым переходом на Swift и эта лавочка прикроется. И ничего кроме IDA не останется.
Удаленно — там все далеко не так просто. Удаленно это через WiFi sync, а так просто эта функция не включается. Да и работает так криво, что лучше бы ее и не было. По крайней мере я так и добился от нее стабильной работы. Ежели вы можете подключиться по WiFi sync, то значит все теже самые данные вы и так можете получить без всяких скрытых сервисов через все теже стандартные протоколы iTunes, которые хорошо изучены.
Тоже самое с трафиком — так просто одним щелчком пальца его все равно не получить. Более того, насколько я знаю, он дает только http трафик. Т.е. бесполезен более чем полностью для доступа к хоть каким-то серьезным данным в трафике пользователя.
Ну и так, ходят слухи, что любое AppStore приложение до сих пор имеет доступ ко всем SMS сообщениям без всякого на то разрешения со стороны пользователя. Еще есть слух, что и примерное местоположение (в радиусе нескольких километров) тоже без ведома пользователя может получить любое приложение. Но это все слухи, да.
А что же насчет «возможно установка стороннего софта на телефон без вашего ведома»? Мне правда интересно, каким это образом JB позволяет такое делать. Чистый, только что установленный, с одной лишь Cydia без всяких полезных приложений из нее, которые и будут это осуществлять.
Каким же это образом? Какой конкретный компонент позволяет дистанционно установить что-то на телефон без ведома пользователя?
Приложения AppStore продолжают жить в sandbox, никто его не отключает при джейле. Собственно, весь механизм sandboxing остается в силе для всех приложений (в том числе системных), которые его используют.
Насчет этого не знаю, но о какой конкретно проверке идет речь, если ASLR это просто напросто рандомизация адресного пространства?
А не надо ставить что попало откуда попало. Да и AppStore тоже вас не до конца защищает. Совсем недавно можно было посылать SMS сообщения без вашего ведома, а уж доступ к private API как был так и есть при должных усилиях для скрытия следов.
А проблемы с драйверами у DirectX игр тоже есть, но подавляющее большинство из них относится к новым поколениям карт, что объяснимо и вообще нормально. Сам я эти баги не вижу, зато читаю о них в отчетах того же iXBT.
Суть моего поста выше в следующем — драйверная поддержка OpenGL на сегодня несравнимо хуже поддержки DirectX.
А так, на данные момент вообще нет никаких вариантов. Хочешь даже просто какую-то программку бесполезную обновить — будь добр обновить ОС. И никого не волнует, как тебе нравится текущая ОС и насколько плохой стала новая. Скоро это ждет еще и пользователей iOS, где политика обновления еще более жесткая.