В поиске секретов. iOS Пентест. Часть третья

Вас приветствует Ян - старший пентестер из компании Xilant ! В этот раз научу вас искать, то что разрабы забывают прячут в приложениях iOS. Возможно мы найдем пароли, личные данные, а может даже и API-ключи от бэкенда, что позволит нам продолжать атаку на следующем уровне. Для этого нам понадобятся знания из прошлой статьи . Напомню, что мы научились получать root-доступ к более-менее свежим iOS устройствам, а также пользовались аналогом adb через ssh и iproxy. Это дало нам полный доступ к системным ресурсам iOS и позволило не только устанавливать geek-твики, но и воздействовать на память и процессы. Чтобы не выходить за рамки закона, мы будем использовать тестовое приложение DVIA-v2 для обучения себя этим навыкам. Ведь тот кто знает как нападать, сможет себя защитить.

https://habr.com/ru/companies/technokratos/articles/1011416/

#ios_development #взлом #пентест #безопасность_данных #root

В поиске секретов. iOS Пентест. Часть третья

Вас приветствует Ян - старший пентестер из компании Xilant ! В этот раз научу вас искать, то что разрабы забывают прячут в приложениях iOS. Возможно мы найдем пароли, личные данные, а может даже и...

Хабр

Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

Swift Package Manager отлично подходит для модульной архитектуры, но по мере роста проекта Package.swift быстро превращается в длинный список строковых зависимостей. В статье показываю, как превратить Package.swift в типобезопасный DSL на Swift: - убрать строковые зависимости - автоматически генерировать feature-модули - зафиксировать архитектурные правила на уровне компиляции

https://habr.com/ru/articles/1010564/

#swift #swiftpm #dsl #swift_package_manager #ios #ios_development #modularity

Пишем декларативный Package.swift: DSL для модульной архитектуры iOS проекта

Swift Package Manager сегодня является стандартным инструментом для модульной архитектуры iOS-проектов. Он позволяет разделять код на независимые модули, ускорять сборку и явно описывать зависимости....

Хабр

Малоизвестная возможность Swift: for case let, о которой не знают многие iOS-разработчики

Swift известен системой pattern matching . Большинство разработчиков используют её в switch , иногда в if case или guard case . Но в языке есть ещё одна конструкция, которую многие никогда не видели — for case let . Интересно, что даже разработчики с несколькими годами опыта часто о ней не знают. Более того, в официальной документации Apple она упоминается лишь вскользь, потому что технически это не отдельная фича языка, а комбинация существующих механизмов. Тем не менее, эта конструкция может заметно упростить код. В этой статье я хочу разобраться:

https://habr.com/ru/articles/1006412/

#swift #for_case #ios #ios_разработка #ios_development

Малоизвестная возможность Swift: for case let, о которой не знают многие iOS-разработчики

Swift известен системой pattern matching . Большинство разработчиков используют её в switch , иногда в if case или guard case . Но в языке есть ещё одна конструкция, которую многие никогда не видели —...

Хабр

Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как должное, пока они не ломаются. Одна из таких критических мелочей - способность приложения помнить, где вы остановились. Вы читаете длинную статью, сворачиваете приложение, чтобы ответить на сообщение, возвращаетесь через минуту, а вас выбрасывает в самое начало текста. Раздражает, правда? Или пишете заметку, переключаетесь на браузер, возвращаетесь, а клавиатура скрыта и курсор потерян. В этой статье мы разберем, как технически грамотно реализовать сохранение позиции скролла и состояния курсора в iOS-приложениях. Мы уйдем дальше банальных советов и рассмотрим реальные сценарии с навигацией, табами и асинхронной загрузкой данных, чтобы ваши пользователи никогда не чувствовали себя потерянными. Продолжим

https://habr.com/ru/articles/991164/

#swift__разработка #uikit #ios #ios_development #mobile_development #мобильная_разработка

Сохранение позиции прокрутки и состояния курсора при переходах по навигации в iOS

Вы когда-нибудь замечали разницу между просто хорошим приложением и тем, которое ощущается «родным», надежным и дорогим? Часто дело не в дизайне или анимациях, а в мелочах, которые мы воспринимаем как...

Хабр

Навигация на SwiftUI: чего не хватает и как исправить

В статье iOS-разработчик студии комплексной разработки цифровых продуктов и мобильных приложений CleverPumpkin разбирает ограничения SwiftUI при построении сложной навигации, с которыми команда столкнулась на одном из своих проектов. Он рассказывает, в каких сценариях приходилось подключать UIKit, чтобы сохранять стабильность, показывает варианты подходов и делится выводами, какие инструменты выбирать для контролируемой навигации. Статья может быть особенно полезна тем, кто разрабатывает архитектуру и выбирает подходящий стек технологий.

https://habr.com/ru/companies/cleverpumpkin/articles/972810/

#ios_разработка #swiftui #uikit #navigationstack #ios #ios_development

Навигация на SwiftUI: чего не хватает и как исправить

В 2019 году Apple представила SwiftUI. На презентации технология выглядела как фреймворк будущего: декларативный синтаксис, живые превью в Xcode, кроссплатформенность. Но со временем стало ясно, что...

Хабр

Apple Developer бесплатные курсы для обучения в iOS

Евгений предоставляет открытый доступ к фундаментальным материалам по Swift: от установки и настройки Xcode до базовых конструкций языка, работы с циклами, классами, замыканиями, дженериками и многим другим. Курс разбит на 66 небольших глав, которые проходят комфортно и последовательно. Подходит: начинающим с нуля Язык: RU 🔗 https://lazyload.academy/articles/list/ios/prepare-to-course Также на сайте доступен платный модуль по SwiftUI (76 глав) и модуль по многопоточности. Доступ открывается через Boosty — 1250 ₽/мес (стоимость полностью оправдана объёмом материала). Подробнее

https://habr.com/ru/articles/972450/

#ios #ios_programming #ios_development #ios_разработка #swift #swiftui #swift__разработка #swift_development #xcode #приложение_для_iphone

LazyLoad

К какому компоненту отнести тот или иной класс? Мой опыт разделения функциональности между компонентами

Привет, меня зовут Антон Огнев, я iOS-разработчик в ПСБ, и в этой статье расскажу о классах, компонентах и зависимостях между ними. Конкретно речь пойдет о том, какие принципы стоит всегда соблюдать при создании и поддержке компонентов, как определить, не рушит ли одна новая зависимость весь проект, как меняются приоритеты по компонентам между стартом новой разработки и зрелым продуктом. Большая часть теории основывается на книге «Чистая архитектура» Роберта Мартина. Я эту книгу читал несколько раз и каждый раз открывал для себя что-то новое, набирался опыта и на многие вещи начинал смотреть иначе. Между пояснением принципов буду делиться историями из собственных компонентных приключений в качестве примеров. Заглянули к себе в компоненты и обнаружили, что там бардак и обобщенные имена типа Cоmmon, Shared, Core, Base, Utils? Это текст для вас: сам был на вашем месте, помогу навести порядок.

https://habr.com/ru/companies/psb/articles/969568/

#компоненты #мобильные_приложения #ios #ios_разработка #ios_development #swift #swift__разработка

К какому компоненту отнести тот или иной класс? Мой опыт разделения функциональности между компонентами

Привет, меня зовут Антон Огнев, и в этой статье поговорю о классах, компонентах и зависимостях между ними. Конкретно речь пойдет о том, какие принципы стоит всегда соблюдать при создании и поддержке...

Хабр
Apple's Problem with Bodies

I tried to ship a wellbeing journal and discovered the App Store still isn’t sure whether the human body is health, lifestyle, or sin.

Vadim Drobinin - iOS Development Expert

"Xây dựng tầng WebSocket cho ứng dụng AI trên Flutter cho IOS với chức năng kết nối, xác thực và quản lý lỗi. Sử dụng Clean Architecture + BLoC pattern để đảm bảo tính maintainability. #WebSockets #Flutter #AI #IOS #CleanArchitecture #BLoC"
#Xây_dựng_ng_dụng_AI
#Công_nghệ_mới
#Phát_triển_ng_dụng
#Flutter_Development
#AI_Technology
#IOS_Development

https://www.reddit.com/r/SideProject/comments/1ooz6m5/websockets_connection_auth_error_management_for/

You can't cURL a Border

Country borders don't return JSON, they return judgment. So I built a state machine for travel when governments won't expose your state.

Vadim Drobinin - iOS Development Expert