<?xml version="1.0"?>
<rss version="2.0"><channel><title>&#x421;&#x442;&#x430;&#x442;&#x442;&#x456; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x43D;&#x456;&#x445; &#x442;&#x435;&#x43C;</title><link>https://fine-ukraine.top/forum/267-%D1%81%D1%82%D0%B0%D1%82%D1%82%D1%96/</link><description>&#x421;&#x442;&#x430;&#x442;&#x442;&#x456; &#x43E;&#x441;&#x442;&#x430;&#x43D;&#x43D;&#x456;&#x445; &#x442;&#x435;&#x43C;</description><language>uk</language><item><title>&#x42F;&#x43A; &#x43F;&#x435;&#x440;&#x435;&#x442;&#x432;&#x43E;&#x440;&#x438;&#x442;&#x438; Android &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x441;&#x442;&#x440;&#x456;&#x439; &#x434;&#x43B;&#x44F; &#x43F;&#x440;&#x43E;&#x441;&#x43B;&#x443;&#x445;&#x43E;&#x432;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F;</title><link>https://fine-ukraine.top/topic/23373-yak-peretvoriti-android-na-pristrij-dlya-prosluhovuvannya/</link><description><![CDATA[<p>Раніше ми пояснювали <a rel="external nofollow" href="https://t.me/bugnotfeature/2201">як з iPhone зробити пристрій, що прослуховує</a> через функцію «Live-прослуховування»: надягаєте бездротові навушники, включаєте функцію і слухаєте все, що відбувається навколо пристрою, сидячи в іншій кімнаті. В Android такої функції немає, але можна використовувати іншу програму Ear Agent.<br><br>Як це зробити:<br><br>1. Завантажуємо та відкриваємо <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.nainfomatics.microphone.earspy&amp;hl=ru&amp;gl=US">програму Ear Agent</a> .<br>2. Дозволяємо доступ до мікрофона та підключаємо бездротові навушники.<br>3. Натискаємо кнопку в центрі екрана, залишаємо телефон і йдемо в іншу кімнату.<br><br>Програма передаватиме весь звук у навушники. У програмі нижче кнопки активації є еквалайзер. Якщо зі звуком проблеми – побалуйтесь із частотами: підсиліть/заглушіть деякі з них. І звук буде ідеальним.</p>]]></description><guid isPermaLink="false">23373</guid><pubDate>Sat, 19 Sep 2026 05:58:18 +0000</pubDate></item><item><title>&#x260E;&#xFE0F; &#x42F;&#x43A; &#x43F;&#x440;&#x438;&#x445;&#x43E;&#x432;&#x430;&#x442;&#x438; &#x441;&#x432;&#x456;&#x439; &#x43D;&#x43E;&#x43C;&#x435;&#x440; &#x442;&#x435;&#x43B;&#x435;&#x444;&#x43E;&#x43D;&#x443; &#x43F;&#x456;&#x434; &#x447;&#x430;&#x441; &#x434;&#x437;&#x432;&#x456;&#x43D;&#x43A;&#x430; &#x43D;&#x430; Android</title><link>https://fine-ukraine.top/topic/23370-%E2%98%8E%EF%B8%8F-yak-prihovati-svij-nomer-telefonu-pid-chas-dzvinka-na-android/</link><description><![CDATA[<p>Для параноїків: якщо ви не хочете показувати номер телефону під час дзвінка, для вас є два варіанти. Перший — підключити <strong>платну</strong> послугу свого оператора, другий — скористатися <strong>безкоштовним</strong> додатком "Hide my Number".<br><br>Як ним користуватися:<br><br>1. Переходимо в PlayMarket і завантажуємо програму <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.camel.hide_my_number">"Hide my Nubmer"</a> .<br>2. У головному меню зсуваємо повзунок, щоб він став зеленим. Тепер програма приховує ваш номер.<br>3. Натискаємо значок трубки, щоб набрати номер для дзвінка або значок людини, щоб вибрати когось зі списку контактів.<br>4. Дзвонимо!</p>]]></description><guid isPermaLink="false">23370</guid><pubDate>Sat, 19 Sep 2026 05:55:07 +0000</pubDate></item><item><title>&#x42F;&#x43A; &#x437;&#x440;&#x43E;&#x431;&#x438;&#x442;&#x438; &#x432;&#x430;&#x448; Android &#x43C;&#x430;&#x43A;&#x441;&#x438;&#x43C;&#x430;&#x43B;&#x44C;&#x43D;&#x43E; &#x430;&#x43D;&#x43E;&#x43D;&#x456;&#x43C;&#x43D;&#x438;&#x43C;</title><link>https://fine-ukraine.top/topic/23369-yak-zrobiti-vash-android-maksimalno-anonimnim/</link><description><![CDATA[<p><span style="font-family: Helvetica, Arial, sans-serif;">Якщо у вас Android або iOS, ваш смартфон збирає та передає третім особам купу ваших особистих даних – від розташування до записів телефонних розмов. Щоб уникнути цього, встановіть на телефон альтернативну прошивку LineageOS, заточену на приватність та безпеку.</span></p><p><span style="font-family: Helvetica, Arial, sans-serif;">Як їй користуватися:</span><br><br><span style="font-family: Helvetica, Arial, sans-serif;">1. Переходимо на </span><a rel="external nofollow" href="https://lineageos.org/">сайт</a><span style="font-family: Helvetica, Arial, sans-serif;"> та натискаємо на кнопку «Get LineageOS». Доступно лише на смартфонах Android.</span><br><span style="font-family: Helvetica, Arial, sans-serif;">2. Вибираємо модель свого пристрою зі списку та дотримуємося інструкції з встановлення.</span><br><span style="font-family: Helvetica, Arial, sans-serif;">3. Готово! Налаштовуємо ОС під себе. Замість встановлених програм, що стежать за вами, ви побачите проекти з відкритим вихідним кодом ні чим не гірше за звичайні: від калькулятора до будильника. Система ще й продовжує термін служби вашого Android завдяки допомозі спільноти учасників.</span><br><br>Також під цю ОС є приватніший<span style="font-family: Helvetica, Arial, sans-serif;"> </span><a rel="external nofollow" href="https://divestos.org/">форк</a><span style="font-family: Helvetica, Arial, sans-serif;">, що блокує сотні тисяч трекерів і рятує вас від уразливостей. А замість LineageOS є аналог </span><a rel="external nofollow" href="https://www.replicant.us/">Replicant</a><span style="font-family: Helvetica, Arial, sans-serif;">.</span><br></p>]]></description><guid isPermaLink="false">23369</guid><pubDate>Sat, 19 Sep 2026 05:54:16 +0000</pubDate></item><item><title>&#x42F;&#x43A; &#x43F;&#x440;&#x438;&#x431;&#x440;&#x430;&#x442;&#x438; &#x440;&#x435;&#x43A;&#x43B;&#x430;&#x43C;&#x443; &#x432; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x430;&#x445; &#x43D;&#x430; Android-&#x441;&#x43C;&#x430;&#x440;&#x442;&#x444;&#x43E;&#x43D;&#x456;</title><link>https://fine-ukraine.top/topic/23365-yak-pribrati-reklamu-v-programah-na-android-smartfoni/</link><description><![CDATA[<p>Як це зробити:<br><br>1. Заходимо в "Налаштування" свого пристрою<br>2. Вбиваємо в пошуку (або шукаємо самостійно) "Приватний DNS"<br>3. Вписуємо туди наступний рядок і зберігаємо - <a rel="external nofollow" href="https://dns.AdGuard.com">dns.AdGuard.com</a>.<br><br><br><strong>Важливо:</strong> якщо не можете знайти пункт «Приватний DNS» (зазвичай на Xiaomi), доведеться встановити <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.ceyhan.sets">спеціальний додаток</a> . Воно <strong>активує цю функцію</strong> — і тоді потрібно повторити три кроки вище.</p>]]></description><guid isPermaLink="false">23365</guid><pubDate>Sat, 19 Sep 2026 05:48:47 +0000</pubDate></item><item><title>&#x41D;&#x430;&#x43B;&#x430;&#x448;&#x442;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F; TOR &#x43D;&#x430; Android</title><link>https://fine-ukraine.top/topic/6716-nalashtuvannya-tor-na-android/</link><description><![CDATA[<p><strong>Багато хто користується TOR але як же його налаштувати і бути анонімним</strong></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Перед установкою встановлюємо</span></p></summary><p>Перед налаштуванням встановлюємо<br>Сам <strong>Tor</strong> браузер з play market ( <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=org.torproject.torbrowser">Тик</a> )<br>Спеціальний впн для Тора Orbot ( <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=org.torproject.android">Тик</a> )</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Налаштування VPN Orbot</span></p></summary><p>Налаштування VPN Orbot<br>Після входу в програму натискаєте Запустити<br>Для коректної роботи Тора потрібно налаштувати правило годинник, не знаю з чим це пов'язано але краще налаштувати<br>якщо хочете включити Впн для всього пристрою вмикаєте Впн мод</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Налаштування самого Tor браузера</span></p></summary><p>Настроювання самого Tor браузера<br>Заходимо в налаштування Тора і ставимо захист на максимум і не змінюємо пошуковик (він теж дає теж анонімність)<br>Також можна включати режим анонімності, щоб історія і куки не зберігалися</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Мости</span></p></summary><p>Мости<br>Знаходимо кнопку використовувати мости, далі кидаємо запит на отримання моста або вводимо свій в користувальницький міст<br>Також на сайті BridgeDB або у бота в телеграмі @GetBridgesBot можна отримати список мостів</p></details><p><span style="font-family: Helvetica, Arial, sans-serif;">Тепер вас сайти не блокують</span></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Вузли</span></p></summary><p>Щоб не було палева з боку національної сторони стеження, рекомендую у виключених вузлах вказати там де ви знаходитесь. Наприклад,<br>перебуваєте в Україні.</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Додатково</span></p></summary><p>Також рекомендую встановити доповнення<br><br>NoScript блокує небезпечні скрипти<br><br>Https Everywhere Переходить на більш захищений якщо це можливо<br><br>Decentraleyes захищає від відстеження<br><br>Privacy Possum та Privacy Badger для захисту від трекерів та аналітиків</p></details>]]></description><guid isPermaLink="false">6716</guid><pubDate>Wed, 19 Aug 2026 15:32:49 +0000</pubDate></item><item><title>&#x417;&#x430;&#x445;&#x438;&#x441;&#x442; &#x43E;&#x441;&#x43E;&#x431;&#x438;&#x441;&#x442;&#x438;&#x445; &#x434;&#x430;&#x43D;&#x438;&#x445; &#x43D;&#x430; Android-&#x442;&#x435;&#x43B;&#x435;&#x444;&#x43E;&#x43D;&#x456;</title><link>https://fine-ukraine.top/topic/6597-zahist-osobistih-danih-na-android-telefoni/</link><description><![CDATA[<p>Мобільних комп'ютерів давно більше, ніж стаціонарних. І наших особистих даних на них так само значно більше, ніж на стаціонарних. При цьому поточний дизайн OS мобільних пристроїв створює враження, що одне з їх основних завдань - якомога сильніше спростити доступ третім особам (в основному - корпораціям і державі, але й дрібним розробникам мобільних додатків теж обламується від цього пирога) до ваших особистих даних.<br><br>Часткова відкритість Android трохи покращує ситуацію, але <strong>повноцінного вирішення проблеми витоку приватних даних поки що не існує</strong> . Основна проблема в тому, що поки на пристрої використовуються <a rel="external nofollow" href="https://ru.wikipedia.org/wiki/%D0%91%D0%BB%D0%BE%D0%B1">блоби</a> немає жодних гарантій, що в них немає закладок (на зразок <a rel="external nofollow" href="https://www.fsf.org/blogs/community/replicant-developers-find-and-close-samsung-galaxy-backdoor">виявлених у прошивках Samsung Galaxy</a> ). Аналогічна проблема з пропрієтарними програмами без відкритих вихідних даних (на зразок пакету GApps, починаючи з самого Google Play Маркет). По суті все навпаки — вкрай висока ймовірність, що закладки там є. Нерідко їх навіть не намагаються приховувати, видаючи за зручні "фічі" для синхронізації та/або бекапу ваших даних, забезпечення вас корисною рекламою, та "захист" від шкідливого софту або на випадок втрати пристрою. Один з найнадійніших способів захисту своїх даних описаний в статті <a rel="external nofollow" href="https://blog.torproject.org/blog/mission-impossible-hardening-android-security-and-privacy">Mission Impossible: Hardening Android for Security and Privacy</a> , але там мова не про телефон, а про планшет, причому з підтримкою тільки WiFi (мобільних чіпів без блобів взагалі поки ще немає, для мобільного інтернету разом з цим планшетом пропонується використовувати окремий т.к. цьому модемі особистих даних просто немає), і, про всяк випадок, фізично відрізаним мікрофоном. Але, незважаючи на неможливість повноцінно захистити особисті дані на телефоні, я вважаю, що варто зробити максимум можливого: <strong>прикрити стільки каналів витоків, скільки вийде</strong> — мало хто може дозволити собі не використовувати мобільний телефон або не тримати на ньому особисті дані (хоча б контакти та історію дзвінків).<br><br>Відразу уточню, що про анонімність взагалі не йтиметься. Це окрема велика та складна тема, яка, зокрема, вимагатиме використання Tor, повної відмови від GSM та перекладу всієї телефонії на шифрований VoIP, etc. На цю тему варто почитати попереднє посилання та скористатися програмами від <a rel="external nofollow" href="https://guardianproject.info/apps/">The Guardian Project</a> . Але робити це може мати сенс лише за умови, що ваші дані не втечуть прямо з телефону, тобто. після вирішення описаних у цій статті завдань. Наведені нижче прийоми захисту від ідентифікації/відстеження не дають анонімності, вони просто прикривають деякі додаткові канали витоку особистих даних (до яких відноситься і те, де і коли ви буваєте).<br><br>Ще одна проблема - складність і не краще юзабіліті описаних рішень робить їх малодоступними для середнього користувача. Передбачається, що читач вміє міняти прошивки телефону, користуватися adb і хоч трохи орієнтується у командному рядку Linux. В принципі, більшу частину описаного можна (і потрібно!) автоматизувати і зробити доступним за натисканням пари кнопок звичайному користувачеві, але цього ніхто не зробив.</p>]]></description><guid isPermaLink="false">6597</guid><pubDate>Wed, 19 Aug 2026 03:48:29 +0000</pubDate></item><item><title>&#x411;&#x435;&#x437;&#x43F;&#x435;&#x447;&#x43D;&#x438;&#x439; jabber-&#x43A;&#x43B;&#x456;&#x454;&#x43D;&#x442; &#x437; &#x43F;&#x456;&#x434;&#x442;&#x440;&#x438;&#x43C;&#x43A;&#x43E;&#x44E; OTR &#x434;&#x43B;&#x44F; &#x43C;&#x43E;&#x431;&#x456;&#x43B;&#x44C;&#x43D;&#x438;&#x445; Android &#x442;&#x430; iOS</title><link>https://fine-ukraine.top/topic/6596-bezpechnij-jabber-kliyent-z-pidtrimkoyu-otr-dlya-mobilnih-android-ta-ios/</link><description><![CDATA[<p>Досить довгий час я був спантеличений питанням пошуку месенджера, який би підтримував xmpp, з шифруванням OTR, а найголовніше, що він працював на iOS без jailbreake. До речі! <a rel="" href="https://fine-ukraine.top/topic/6595-zdirniki-na-ios-abo-sho-robiti-yaksho-pislya-vidvidin-sajtu-zablokovanij-ekran/">на iOS 10.3 вже є jailbreake неприв'язаний.</a> Відразу зазначу, що ідеального месенджера я не знайшов, але зупинив свій вибір на chatsecure! Його головний мінус - це те, що кожного разу коли ви повертаєте його на iOS - ваш статус стає офлайн і повідомлення про нові чати та повідомлення не приходять. В іншому ChatSecure – практично ідеальний. Проста установка, зручний, інтуїтивно зрозумілий інтерфейс, бездоганна робота шифрування.</p><p>Отже: <strong>Встановлення та перший запуск програми.</strong><br><br>-Завантаження. Завантажити та завантажити програму можна зі стандартного каталогу програм: Google Play \ AppStore, Просто введіть у пошуку chatsecure ;-)<br><br>-запуск. Коли ви вперше запускаєте програми, ви отримаєте пропозиції запаролити вхід. Ви також можете встановити пароль для шифрування. У цьому випадку всі надіслані та збережені повідомлення на вашому смартфоні будуть під паролем. Якщо ви вважаєте це зайвим, шифруватися будуть тільки повідомлення, що передаються.<br><br>-Обліковий запис. Якщо у вас кілька акаунтів, то радимо додати "Google" та "Jabber". Це дозволить вам обмінюватися миттєвими повідомленнями на Facebook, Google Talk, Hangouts. Але для кращої анонімності раджу використати виключно Jabber. Планую написати мануал для <a rel="" href="https://fine-ukraine.top/">Fine-Ukraine.top</a> – встановлення власного анонімного Jabber-сервера без логів.<br><br>Ви можете в будь-який момент зареєструвати свій обліковий запис, а також додати ще кілька облікових записів. Для цього необхідно ввести своє ім'я, пошту та пароль. Там же, в налаштуваннях, можете вибрати accounts і додати ще кілька акаунтів.<br><br><strong>Використання</strong><br><br>-вхід. При вході до програми ви можете використовувати будь-який обліковий запис, або одночасно переходити по всіх ваших облікових записах (що дуже зручно!). Для цього в налаштуваннях необхідно відзначити галочками бажані облікові записи.<br><br>-Шифрування. Якщо ви та ваш друг використовують приватне спілкування. І на обох пристроях встановлена підтримка OTR, ви можете пройти процедуру верифікації відбитків пальців (Фінгерпринт). Якщо Вам друг спілкується через комп'ютер чи ноутбук, Ви можете заздалегідь обмінятися відбитками електронною поштою, або особисто. Крім відбитка пальців, можна використовувати QR код. Так, перебуваючи недалеко один від одного, обидва співрозмовники з легкістю можуть відсканувати ці коди один у одного в телефоні, і надалі всі повідомлення будуть зашифровані.<br><br>-що пропонує ChatSecure. Отже, ми вже знаємо, що цей додаток є безпечним і можливості прочитати будь-кому ваші повідомлення немає можливостей. Але, що ще нам пропонує ChatSecure? Ви можете створювати групові чати, додавати співрозмовників, бачити статуси контактів та змінювати свої статуси. Ви можете використовувати миттєву передачу великих мультимедійних файлів, фотографій, відео та аудіо.</p>]]></description><guid isPermaLink="false">6596</guid><pubDate>Wed, 19 Aug 2026 03:46:13 +0000</pubDate></item><item><title>&#x41F;&#x435;&#x440;&#x435;&#x442;&#x432;&#x43E;&#x440;&#x435;&#x43D;&#x43D;&#x44F; Android &#x43D;&#x430; &#x43F;&#x440;&#x438;&#x441;&#x442;&#x440;&#x456;&#x439; &#x442;&#x435;&#x441;&#x442;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F; &#x43D;&#x430; &#x43F;&#x440;&#x43E;&#x43D;&#x438;&#x43A;&#x43D;&#x435;&#x43D;&#x43D;&#x44F;</title><link>https://fine-ukraine.top/topic/6594-peretvorennya-android-na-pristrij-testuvannya-na-proniknennya/</link><description><![CDATA[<p><strong>Підготовка Android смартфона до тестування на проникнення</strong></p><p>Почнемо підготовку вашого смартфона до тестування вторгнення. По самій Google Play, у нас є дві програми (платні та безкоштовні), щоб мати Android системи bash термінал.</p><p>Після встановлення програми, ми повинні будемо зробити “кореневий” режим, щоб мати повний доступ до системи Android. Тому ми можемо встановити pentest та інструменти моніторингу.</p><p>Apt-get - це потужна система керування пакетами, яка використовується для роботи з бібліотекою Ubuntu APT (Advanced Packaging Tool) для встановлення нових пакетів програмного забезпечення, видалення існуючих пакетів програмного забезпечення, оновлення існуючих пакетів програмного забезпечення.</p><p>По-перше, ми будемо використовувати дистрибутиви Linux репозиторіїв для pentest, в даному прикладі я використовую дистрибутив Kali Linux. Як тільки ми виконаємо команду apt-get update, у нас будуть надійні інструменти шрифтів.</p><p>Apt-get - це потужна система керування пакетами, яка використовується для роботи з бібліотекою Ubuntu APT (Advanced Packaging Tool) для встановлення нових пакетів програмного забезпечення, видалення існуючих пакетів програмного забезпечення, оновлення існуючих пакетів програмного забезпечення.</p><p><strong>Інструменти, які ми отримуємо після оновлення списку</strong></p><ul><li><p><a rel="external nofollow" href="https://nmap.org/">NMAP</a>: сканер безпеки, сканер портів та інструмент дослідження мережі.</p></li><li><p><a rel="external nofollow" href="https://www.bettercap.org/">Bettercap</a>: потужний інструмент для виконання атак MITM</p></li><li><p><a rel="external nofollow" href="https://github.com/trustedsec/social-engineer-toolkit">Setoolkit</a>: дозволяє виконувати багато видів діяльності соціальної інженерії.</p></li></ul><p>Спочатку ми протестуємо інструмент "NMAP" у мережі, до якої підключено смартфон.</p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">NMAP</span></p></summary><p><span style="font-family: Helvetica, Arial, sans-serif;">Команда: # nmap 192.168.0.0 / 24</span></p><p>З встановленим NMAP ми маємо кілька способів сканування мережі та тестування деяких служб, які знаходяться на серверах. У цій простій лабораторії ми провели сканування мережі та визначили два мережеві ресурси (але без уразливої служби для атаки).</p><p>Давайте почнемо "сніффер" у мережі, щоб знайти важливі облікові дані у програмах, які не використовують шифрування для зв'язку. Давайте зробимо тест <strong>за допомогою інструмента "bettercap".</strong></p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Bettercap</span></p></summary><p>Вставити команду: # bettercap-sniffer</p><p>Ми отримали облікові дані для входу до Access router.</p><p>Крім HTTP, ми також отримуємо HTTPS, але не будуть розглянуті в цій статті.</p><p>З найслабшою ланкою інформаційної безпеки, що є користувачем, він завжди буде схильний до атак і навіть не усвідомлюючи, що цифровий сертифікат веб-сайту буде змінено на сертифікат зловмисника, що виконує атаку MITM.</p><p>Ми не можемо використовувати смартфон 100% як ноутбук із тисячами інструментів вторгнення; звичайно, ми матимемо кілька обмежень, тому що це смартфон. Однак, звичайно, ми можемо використовувати мобільний телефон у мостовому режимі, відомому як “Поворот”.</p><p>Ви можете використовувати VPS як командний елемент управління і використовувати поворот на Android для виконання pentest.</p><p>Інший метод заміни, використовуючи інструменти для виконання цієї техніки та отримання Apache2 на Android, ми можемо вставити шкідливу сторінку, щоб користувач міг вставити свої облікові дані для входу на сторінку і таким чином отримати доступ до неї.</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Setoolkit</span></p></summary><p>Вставити команду: # service apache2 start &amp;&amp; /usr/share/setoolkit / setoolkit</p><p>Ми перевіряємо, що служба apache працює правильно.</p><p>Як тільки ми змінимо тестову сторінку з apache і залишимо підроблену сторінку Google для цього тесту, ми вставимо електронний лист та пароль, щоб переконатися, що атака працює.</p><p>Підроблена сторінка після тестів apache</p><p>Після того, як жертва вставляє свої облікові дані на підробленій сторінці, він буде перенаправлений на сторінку Google, не розуміючи, що він був зламаний."</p><p>У цьому облікові дані були захоплені і вставлені в текстовий файл для кращого перегляду. Внаслідок втрати входу в систему, зломщик може отримати доступ до електронної пошти та файлів спокійно.</p></details>]]></description><guid isPermaLink="false">6594</guid><pubDate>Wed, 19 Aug 2026 03:41:52 +0000</pubDate></item><item><title>10 &#x43D;&#x430;&#x439;&#x43A;&#x440;&#x430;&#x449;&#x438;&#x445; &#x431;&#x43B;&#x43E;&#x43A;&#x443;&#x432;&#x430;&#x43D;&#x44C; &#x434;&#x43E;&#x434;&#x430;&#x442;&#x43A;&#x456;&#x432;</title><link>https://fine-ukraine.top/topic/6593-10-najkrashih-blokuvan-dodatkiv/</link><description><![CDATA[<p><strong>Блокування програм</strong> також відоме як <strong>блокування конфіденційності</strong> є однією з найважливіших проблем конфіденційності для всіх користувачів мобільних пристроїв. Смартфони дуже особисті, і програма всередині дійсно несе різні форми персональних даних, таких як фотографії, повідомлення, банк програми та багато іншого. Безпека та конфіденційність цих даних зазвичай віддають перевагу користувачам, але для цього їм потрібна належна безпека заходи для їх пристроїв та додатків.<br><br>Телефони андроїда пропонують сумісність числа застосувань, на часи навіть ненадійні сторонні програми, простий Людина-в-диску атаки або Android шкідливих програм може мати права на читання персональних даних і захист проти таких атак буде потрібно багато роботи, але простий додаток блокується часто називається блокуванням конфіденційності, яка може захистити смартфонів.<br><br>Особисті програми, такі як WhatsApp, Instagram, Facebook, Пошта та фінансові програми, такі як Gpay, Paytm, банківські програми повинні бути захищені за допомогою блокування додатків, щоб зберегти нашу інформацію та дані в безпеці.</p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">App блокування Ivymoile</span></p></summary><p>Блокування програм <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.ivymobi.applock.free&amp;amp;hl=en_IN">Ivymoile</a> дозволить заблокувати практично будь-які програми, включаючи фото та відео. IT приходить з невидимою характеристикою замку картини, а також приймає зображення люди, які вводять неправильний пароль.<br><br>Це також допоможе вам приховати програми, налаштувати блокування програми частота, та випадковий варіант клавіатури для зменшення шансів вгадування пароля.<br><br>Ось список програми AppLock можуть охоплювати соціальні, Системні, Android pay та сторонні програми.<br><strong>Інші основні моменти цієї програми включає:</strong></p><ul><li><p>DIY теми-Налаштування теми / шпалери.</p></li><li><p>Вторгнутися селфі</p></li><li><p>Можливість заміни значок AppLock до інших іконок додатків.</p></li><li><p>Енергозбереження та один кран для включення / вимикання AppLock варіант.</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Блокування програм за допомогою Domobile Labs</span></p></summary><p><strong>Блокування програм</strong> або <strong>блокування конфіденційності </strong>Domobile Labs це ще один найкращий варіант, доступний у Google Play Store. Подібний Розробка Ivymobile, ця програма може знову заблокувати певні програми, у тому числі зображення та відео.<br><br>Він також запобігає анонімному видаленню програм, відбитків пальців підтримка автентифікації, розгортання блокувань для вхідних викликів та ін. системні функції як Bluetooth / Wi-Fi. Ця програма поставляється безкоштовно в "Івімобілі". Працює разом із випадковою клавіатурою та невидимою особливістю замку картини для пропозиції кращої безпеки для приладу власники.<br><br><strong>Основні моменти цього додатку включає:</strong></p><ul><li><p>Безпека над батьками перевірка Snapchat та музичне відео.</p></li><li><p>Безпека ваших ігор та галереї.</p></li><li><p>Додатковий рівень безпеки для конфіденційності у ваших соціальних додатках.</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">App Замки-Відбитків Пальців Pro</span></p></summary><p>Fingerprint Pro знову ефективне блокування програм, надаючи користувачам повну свободу, виберіть програми, які користувачі хотіли б заблокувати. Інтегрує за допомогою сканера відбитків пальців, щоб забезпечити додаткову безпеку для блокування ваших програм на вашому пристрої android.<br><br>На відміну від інших програм, цей не блокує зображення та відео, але натомість створюється сховище, всередині якого можна переміщувати зображення / відео та закрийте його вгору використовуючи ваші фінгерпринт або замок картини як замок конфіденційності. Але ця програма поставляється за $ 4,99 без безкоштовної версії доступний. Ця програма розроблена найкращим додатком-Tom Droid team.<br><br><strong>Декілька основних моментів програми включає в себе:</strong></p><ul><li><p>Валт для галереї</p></li><li><p>Теми блокування паролів</p></li><li><p>Захист електронної пошти, SMS та журналів дзвінків</p></li><li><p>Замок відбитка пальців</p></li><li><p>Невидимі візерунки</p></li><li><p>Менеджер паролів дозволяє користувачам перемикатися між, відбиток пальця, код проходу, DIY та пароль.</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">AppLock: Пароль Відбитка Пальця</span></p></summary><p>FingerPrint Password privacy lock, розроблений Keepsafe, є дуже чистим та простим <strong>додатком блокування</strong> . Так само, як і інші блокування програм, це також може подбати про будь-яку програму за допомогою PIN, шаблон або відбиток пальця для блокування програм. Крім того, ця програма чи підтримує десять різних мов з налаштуваннями, які дозволять користувачі повинні попередньо заблокувати програми, які вони можуть завантажити в майбутньому. Бути запропонованим безкоштовно, пароль фінгерпринт дуже простий і легкий до використовуйте блокування додатків або блокування конфіденційності для пристроїв android.<br><strong>Основні моменти включають:</strong></p><ul><li><p>PIN, шаблон і відбитки пальців безпеки</p></li><li><p>Проактивне блокування здатності</p></li><li><p>Простота та зручність використання</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">App Locker-Блокування Програм</span></p></summary><p><strong>App Locker</strong> розроблений <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.martianmode.applock&amp;amp;hl=en_US">BGNmobi</a> робить більшість функцій, подібних до інших App Locker. Ця програма приходить з малюнком, підтримкою відбитків пальців та блокуванням паролів. Крім того, ця програма поставляється з деякими варіантами налаштування, які будуть незнайомці від видалення програм. Знову ж таки дуже простий і корисний додаток, а не з такою кількістю інших функцій.<br><br><strong>Основні моменти включають:</strong></p><ul><li><p>Пароль, шаблон та блокування відбитків пальців</p></li><li><p>Нові теми для блокування</p></li><li><p>Запобігання видаленню програм</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Блокування Додатків-Norton</span></p></summary><p>Norton є ще одне велике ім'я в цьому списку блокувань додатків, яке поставляється з чотиризначний PIN, шаблон і механізм блокування пароля. І пільги Norton are, він показує рекомендований набір додатків, які мають бути заблоковані для забезпечення безпеки, фотографує потенційних зловмисників, які спробуйте свої паролі.<br><br><strong>Основні моменти включають:</strong></p><ul><li><p>PIN, пароль та шаблон</p></li><li><p>Рекомендувати програми для блокування</p></li><li><p>Фотографую зловмисників.</p></li><li><p>Конфіденційність контенту</p></li><li><p>Безпека даних, навіть якщо пристрій втрачено або вкрадено</p></li><li><p>Запобігти ніяково "кишенькові диски"</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Perfect App Locks-App Protector</span></p></summary><p><a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.morrison.applocklite&amp;amp;hl=en_IN">Ідеально!</a> App Lock є ще одним, щоб додати цей список. Поставляється з основними особливостями, включаючи замок для Wi-Fi і Bluetooth. Але є пара незвичайних помилок, які були показані під час використання цієї програми, як безкоштовні, так і платні версії майже мають аналогічні функції, але перевага платного є оголошення безкоштовно.<br><br><strong>Основні моменти включають:</strong><br>Булавка, візерунок та жест.</p><ul><li><p>Керування яскравістю екрана вибраних програм</p></li><li><p>Запобігання обертанню екрана у програмах</p></li><li><p>Робить знімок користувачів після третьої невдалої спроби</p></li><li><p>Блокування дзвінків, WiFi, Bluetooth, встановлення / видалення програм</p></li><li><p>Найменше енергоспоживання</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Безпечне блокування для програм</span></p></summary><p><a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.systweak.applocker">Безпечний замок</a> для програм є ідеальним вибором для Android пристроїв. Це розумний і найкращий App locker, щоб зберегти ваші дані в безпеці. Особливості включають блокування паролів для додатків, блокування відбитків пальців, Параметри відновлення пароля, і ця програма не ділиться даними з третьою стороною на спині кінець, який є критичною річчю на сьогоднішньому ринку даних екосистема. Без реклами та мінімальне використання батареї.<br><strong>Основні моменти включають:</strong></p><ul><li><p>Код доступу та відбиток пальця</p></li><li><p>Параметри відновлення</p></li><li><p>Без реклами</p></li><li><p>Легка вага</p></li><li><p>Немає стороннього обміну даними</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">Smart AppLock-App Protector</span></p></summary><p><a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.thinkyeah.smartlockfree">Розумний</a> AppLock - ще один AppLocker, який постачається з цікавими налаштуваннями, перемикає та керує журналом телефону, щоб зберегти програми безпеки. Унікальна особливість ця програма маскуватиметься під заблокований екран і нехай люди думають вони взагалі не розблокували телефон. Крім того, він забезпечує автоматичне перезавантаження, відстрочені можливості блокування додатків, сканування відбитків пальців опції та оповіщення про злом для власника пристрою.<br><br><strong>Основні моменти включають:</strong></p><ul><li><p>Замаскований вид блокування екрану</p></li><li><p>Множинні типи замку можна поєднати</p></li><li><p>PIN, пароль, відбиток пальця та шаблон</p></li><li><p>Менше пам'яті</p></li><li><p>Попередження після порушення</p></li><li><p>Параметри відкладеного блокування</p></li><li><p>Шифрування фотографій та відео за допомогою GalleryVault</p></li></ul></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><span style="font-family: Helvetica, Arial, sans-serif;">CM AppLock-екран блокування безпеки</span></p></summary><p>CM Блокування програм не тільки захищає ваші програми, захищаючи їх від анонімні користувачі, але він також захищає програми від вірусів та інших шкідливих програм. Такі функції, як миттєве очищення для збільшення швидкості пристрій, що блокує екран паролями, ПІН-кодом, малюнком та відбитком пальця блокування, приховати фотографії та відео, фотографує зловмисників та кілька барвистих тем.<br><br><strong>Основні моменти включають:</strong></p><ul><li><p>Блокування додатків та можливості запобігання шкідливим програмам</p></li><li><p>Шаблон, PIN-код, пароль та відбиток пальця</p></li><li><p>Безпека по фото та відео</p></li></ul></details>]]></description><guid isPermaLink="false">6593</guid><pubDate>Wed, 19 Aug 2026 03:33:02 +0000</pubDate></item><item><title>&#x41F;&#x440;&#x430;&#x432;&#x438;&#x43B;&#x430; &#x431;&#x435;&#x437;&#x43F;&#x435;&#x43A;&#x438; &#x434;&#x43B;&#x44F; &#x444;&#x430;&#x439;&#x43B;&#x456;&#x432; &#x43C;&#x430;&#x43D;&#x456;&#x444;&#x435;&#x441;&#x442;&#x443; Android</title><link>https://fine-ukraine.top/topic/6592-pravila-bezpeki-dlya-fajliv-manifestu-android/</link><description><![CDATA[<p>Файли маніфесту відіграють важливу роль для кожної програми для Android. У цьому файлі розробник Android визначає дозволи, які потрібні програмі, дії, які може виконувати програма, та загальні інші дії. З точки зору безпеки файл маніфесту, як правило, є першим, що тестер на проникнення перевірить на предмет взаємодії.<br><br>Тому наступний список може використовуватися як розробниками, так і тестерами для проникнення, щоб гарантувати, що файл маніфесту не містить будь-яких неправильних налаштувань, які зловмисник може використовувати зловмисником.<br><br><strong>Режим налагодження</strong><br>Тег налагодження визначає, чи може програма бути налагоджена чи ні. Якщо програма може бути налагоджена, вона може надати зловмиснику багато інформації. Очікується, що для додатків Android, які не перебувають у робочому стані, цей атрибут має значення <strong>true,</strong> щоб допомогти розробникам, проте перед фактичним випуском програми цей тег має бути встановлений у <strong>false</strong> .</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;application
android:debuggable="false"
&lt;/application&gt;</code></pre><p><br><strong>Прапор резервного копіювання</strong><br>Цей параметр визначає, чи можна виконувати резервне копіювання та відновлення даних програми користувачем, який увімкнув налагодження USB. Тому програмам, які обробляють і зберігають конфіденційну інформацію, таку як дані карти, паролі тощо. буд., слід встановити цього параметра значення <strong>false,</strong> щоб запобігти такі ризики.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;application
android:allowBackup="false"
&lt;/application&gt;</code></pre><p><br><strong>Зовнішнє сховище</strong><br>Програми, які мають дозвіл на копіювання даних у зовнішнє сховище, повинні бути перевірені щодо відсутності конфіденційної інформації.</p><p>Код</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/&gt;</code></pre><p><br><strong>Права доступу<br>Андроїд: ProtectionLevel</strong> атрибут визначає процедуру , що система повинна слідувати перед тими грантами дозволу на програму, яка запросила його. Є чотири значення, які можна використовувати з цим атрибутом:</p><ul><li><p>звичайний</p></li><li><p>небезпечно</p></li><li><p>підпис</p></li><li><p>signatureOrSystem</p></li></ul><p>Усі дозволи, які запитує додаток, повинні бути перевірені, щоб переконатися, що вони не становлять загрози безпеці.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;permission&gt;
android:protectionLevel="signature"
&lt;/permission&gt;</code></pre><p><strong>Компоненти програми</strong><br>Залежно від функціональності, програма може запускати службу, виконувати дії, отримувати контент з іншого джерела або отримувати наміри за телефоном або іншими програмами. Існує чотири компоненти програми:<br></p><ul><li><p>заходи</p></li><li><p>Сервіси</p></li><li><p>Постачальники контенту</p></li><li><p>Приймачі мовлення</p></li></ul><p>Дії, послуги, контент-провайдери та широкомовні приймачі можуть бути експортовані. Тому всім їм слід перевірити, що вони не виконують жодних конфіденційних дій і захищені відповідними дозволами, оскільки в іншому випадку інформація може бути розкрита зловмисним третім особам. На наступному зображенні показано, як у файлі маніфесту визначається широкомовний приймач:</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;receiver
android:exported="true"
android:name="string"
android:permission="string"
&lt;/receiver&gt;</code></pre><p><strong>Intents</strong><br>Інтенти можуть використовуватися для запуску дії, надсилання його будь-яким зацікавленим компонентам приймача мовлення та зв'язку з фоновою службою. Повідомлення про наміри повинні бути перевірені, щоб переконатися, що вони не містять конфіденційної інформації, яка може бути перехоплена.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>&lt;intent-filter&gt;
&lt;action android:name="string" /&gt;
&lt;category android:name="string" /&gt;
&lt;/intent-filter&gt;</code></pre>]]></description><guid isPermaLink="false">6592</guid><pubDate>Wed, 19 Aug 2026 03:25:03 +0000</pubDate></item><item><title>&#x428;&#x438;&#x444;&#x440;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F; &#x434;&#x430;&#x43D;&#x438;&#x445; &#x43D;&#x430; Android &#x437;&#x430; &#x434;&#x43E;&#x43F;&#x43E;&#x43C;&#x43E;&#x433;&#x43E;&#x44E; Jetpack Security</title><link>https://fine-ukraine.top/topic/6591-shifruvannya-danih-na-android-za-dopomogoyu-jetpack-security/</link><description><![CDATA[<p>Ви коли-небудь намагалися зашифрувати дані у своєму додатку? Як розробник, ви хочете, щоб дані були в безпеці, і в руках сторони, яка має право їх використання. Але якщо ви, як більшість розробників Android, і у вас немає спеціальної групи безпечників, яка б допомагала правильно шифрувати дані вашої програми. Пошукавши в Інтернеті, як зашифрувати дані, ви можете отримати відповіді, які застаріли на кілька років і зробити неправильні висновки<br><br>. Бібліотека сприяє використанню AndroidKeyStore при використанні безпечних та відомих криптографічних примітивів. Використання EncryptedFile та EncryptedSharedPreferences дозволяє локально захистити файли, які можуть містити конфіденційні дані, ключі API, токени OAuth та інші типи секретів.<br><br>Чому ви хочете зашифрувати дані у вашому додатку? Хіба Android, починаючи з 5.0, не шифрує вміст розділу даних користувача за умовчанням? Звичайно, це так, але є деякі випадки використання, коли вам може знадобитися додатковий рівень захисту. Якщо ваша програма використовує спільне сховище, ви повинні зашифрувати дані. У домашньому каталозі програми ваша програма повинна шифрувати дані, якщо ваша програма обробляє конфіденційну інформацію, включаючи, крім іншого, інформацію, що дозволяє встановити особистість (PII), медичні записи, фінансові дані або корпоративні дані. По можливості, ми рекомендуємо прив'язувати цю інформацію до біометрії для додаткового рівня захисту.<br><br>Jetpack Security заснований на Tink, кросплатформному проекті безпеки з відкритим вихідним кодом від Google. Тинк може підійти, якщо вам потрібне загальне шифрування, гібридне шифрування або щось подібне. Структури даних Jetpack Security повністю сумісні із Tink.<br><br><strong>Генерація ключів</strong><br>Перш ніж ми почнемо шифрувати ваші дані, важливо зрозуміти, як ваші ключі шифрування зберігатимуться в безпеці. Jetpack Security використовує master key, який шифрує всі subkeys, що використовуються кожної криптографічної операції. JetSec надає рекомендований master key за промовчанням у класі MasterKeys. Цей клас використовує базовий ключ AES256-GCM, який генерується та зберігається в AndroidKeyStore. AndroidKeyStore - це контейнер, який зберігає криптографічні ключі в TEE або StrongBox, що ускладнює їхнє вилучення. Subkeys зберігаються в об'єкті SharedPreferences, що настроюється.<br><br>Насамперед ми використовуємо специфікацію AES256_GCM_SPEC у Jetpack Security, яка рекомендується для загальних випадків використання. AES256-GCM є симетричним і загалом швидко працює на сучасних пристроях.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>val keyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC)</code></pre><p>Для додатків, які потребують більш ретельного налаштування або обробляють дуже конфіденційні дані, рекомендується створити KeyGenParameterSpec, вибираючи варіанти, які мають сенс для використання. Ключі з прив'язкою часу з BiometricPrompt можуть забезпечити додатковий рівень захисту від рутованих або скомпрометованих пристроїв.<br><br><strong>Важливі опції:</strong></p><ul><li><p>userAuthenticationRequired() та userAuthenticationValiditySeconds() можуть використовуватися для створення ключа з прив'язкою до часу. Ключі з прив'язкою до часу вимагають авторизації за допомогою BiometricPrompt для шифрування та дешифрування симетричних ключів.</p></li><li><p>unlockedDeviceRequired () встановлює прапор, який допомагає запобігти доступу до ключа, якщо пристрій не розблоковано. Цей прапор доступний на Android Pie та вище.</p></li><li><p>Використовуйте setIsStrongBoxBacked (), щоб виконувати криптографічні операції на більш продуктивному окремому чіпі. Це мало впливає на продуктивність, але є більш безпечним. Він доступний на деяких пристроях з Android Pie або вище.</p></li></ul><p><strong>Примітка</strong><br>Якщо ваша програма шифрує дані у фоновому режимі, вам не слід використовувати ключі з прив'язкою до часу або вимагати, щоб пристрій був розблокований, оскільки ви не зможете виконати це без присутності користувача.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>// Кастомний master key
val advancedSpec = KeyGenParameterSpec.Builder(
    "master_key",
    KeyProperties.PURPOSE_ENCRYPT or KeyProperties.PURPOSE_DECRYPT
).apply {
    setBlockModes(KeyProperties.BLOCK_MODE_GCM)
    setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_NONE)
    setKeySize(256)
    setUserAuthenticationRequired(true)
    setUserAuthenticationValidityDurationSeconds(15) // must be larger than 0
    if (Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.P) {
        setUnlockedDeviceRequired(true)
        setIsStrongBoxBacked(true)
    }
}.build()

val advancedKeyAlias = MasterKeys.getOrCreate(advancedSpec)</code></pre><p><br><strong>Розблокування ключів, що прив'язані за часом</strong><br>Ви повинні використовувати BiometricPrompt для авторизації пристрою, якщо ваш ключ був створений з наступними параметрами:</p><ul><li><p><em>userAuthenticationRequired</em> true</p></li><li><p><em>userAuthenticationValiditySeconds</em> &gt; 0</p></li></ul><p>Після аутентифікації користувача ключі розблокуються на час, встановлений у полі <em>validity seconds</em> . AndroidKeystore не має API для запиту налаштувань ключа, тому ваша програма повинна відстежувати ці налаштування. Ви повинні створити свій екземпляр BiometricPrompt у методі onCreate () в <em>activity</em> , в якому ви представляєте діалогове вікно користувачеві.<br><br>Код BiometricPrompt для розблокування ключів із прив'язкою до часу:</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>// Activity.onCreate

val promptInfo = PromptInfo.Builder()
   .setTitle("Розблокувати") 
.setDescription("Ви бажаєте розблокувати цей ключ?")
    .setDeviceCredentialAllowed(true)
    .build()

val biometricPrompt = BiometricPrompt(
    this, // Activity
    ContextCompat.getMainExecutor(this),
    authenticationCallback
)

private val authenticationCallback = object : AuthenticationCallback() {
        override fun onAuthenticationSucceeded(
            result: AuthenticationResult
        ) {
            super.onAuthenticationSucceeded(result)
            // Unlocked -- do work here.
        }
        override fun onAuthenticationError(
            errorCode: Int, errString: CharSequence
        ) {
            super.onAuthenticationError(errorCode, errString)
            // Handle error.
        }
    }

To use:
biometricPrompt.authenticate(promptInfo)</code></pre><p><br><strong>Шифруємо файли</strong><br>Jetpack Security включає клас EncryptedFile, який усуває проблеми, пов'язані із шифруванням файлових даних. Подібно до File, EncryptedFile надає об'єкт FileInputStream для читання і об'єкт FileOutputStream для запису. Файли шифруються за допомогою потокової передачі AEAD, яка відповідає визначенню OAE2. Дані поділяються на шматки та шифруються за допомогою AES256-GCM таким чином, що неможливо змінити їх порядок.<br></p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>val secretFile = File(filesDir, "super_secret")
val encryptedFile = EncryptedFile.Builder(
    secretFile,
    applicationContext,
    advancedKeyAlias,
    FileEncryptionScheme.AES256_GCM_HKDF_4KB)
    .setKeysetAlias("file_key") // опціонально
    .setKeysetPrefName("secret_shared_prefs") // опціонально
    .build()

encryptedFile.openFileOutput().use { outputStream -&gt; 
// Записуємо дані до нашого зашифрованого файлу

encryptedFile.openFileInput().use { inputStream -&gt; 
// Зчитуємо дані із нашого зашифрованого файлу
}</code></pre><p><strong>Шифруємо SharedPreferences</strong><br>Якщо вашому додатку необхідно зберегти пари ключ-значення – наприклад, ключі API – JetSec надає клас EncryptedSharedPreferences, який використовує той самий інтерфейс SharedPreferences, до якого ви звикли.<br><br>І ключі, і значення зашифровано. Ключі шифруються з використанням AES256-SIV-CMAC, який забезпечує детермінований шифротекст; значення зашифровані за допомогою AES256-GCM і прив'язані до зашифрованого ключа. Ця схема дозволяє безпечно шифрувати дані ключа, водночас дозволяючи пошук.</p><p>Код:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>EncryptedSharedPreferences.create(
    "my_secret_prefs",
    advancedKeyAlias,
    applicationContext,
    PrefKeyEncryptionScheme.AES256_SIV,
    PrefValueEncryptionScheme.AES256_GCM
).edit {
    // Update secret values
}</code></pre>]]></description><guid isPermaLink="false">6591</guid><pubDate>Wed, 19 Aug 2026 03:20:21 +0000</pubDate></item><item><title>Google Android OS - &#x43F;&#x438;&#x442;&#x430;&#x43D;&#x43D;&#x44F; &#x449;&#x43E;&#x434;&#x43E; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x443;&#x432;&#x430;&#x43D;&#x43D;&#x44F;</title><link>https://fine-ukraine.top/topic/2139-google-android-os-pitannya-shodo-programuvannya/</link><description><![CDATA[<p>Обговорити тонкощі створення програм для Google Android OS.<br><br>При написанні коду його треба правильно оформлювати</p><pre spellcheck="" class="ipsCode language-c" data-language="C"><code>[code] та [/code]</code></pre><p><br>При написанні великого коду його треба ховати під спойлер</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>[SPOILER]зміст спойлера[/SPOILER]</code></pre><p><br>Скачати SDK <a rel="external nofollow" href="http://developer.android.com/"><u>http://developer.android.com/</u></a><br><u>Android Scripting Environment (ASE)</u> - створення скриптів прямо на пристрої під керуванням Android OS.</p>]]></description><guid isPermaLink="false">2139</guid><pubDate>Fri, 17 Jul 2026 04:11:50 +0000</pubDate></item><item><title>&#x421;&#x442;&#x432;&#x43E;&#x440;&#x435;&#x43D;&#x43D;&#x44F; &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C; &#x442;&#x430; &#x456;&#x433;&#x43E;&#x440; &#x43F;&#x456;&#x434; Android</title><link>https://fine-ukraine.top/topic/2138-stvorennya-program-ta-igor-pid-android/</link><description><![CDATA[<p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Android Studio - IDE для розробки програм для Андроїд від Google на основі IntelliJ IDEA.</span></p><p></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen" data-i-background-color="green"><div class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Встановлення</span></strong></p></div><p><a rel="external nofollow" href="https://developer.android.com/studio"><u>Сторінка завантажень на офіційному сайті</u></a>.</p></div><p></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Windows</span></strong></p></div><p>Необхідно встановити <a rel="external nofollow" href="https://www.oracle.com/java/technologies/downloads/"><u>JDK</u></a> та прописати системну змінну JAVA_HOME</p></div><p></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">OS X</span></strong></p></div><p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Встановлення Andoid Studio на OS X набагато простіше - необхідно інсталювати JDK, а потім Android Studio.</span></p></div><p></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">У разі проблеми з установкою на x64 системі</span></strong></p></div><p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">У кого є проблеми з установкою під Win64, скопіюйте файли java.exe і ще 2 файли java[якісь символи].exe з папки Windows\system32 в папку Windows\SysWOW64</span></p></div><p></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Не запускається емулятор</span></strong></p></div><p>Starting emulator for AVD ''<br>PANIC: Доступно не працює:<br>Комп'ютер → Властивості системи → Додаткові параметри системи → Змінні середовища. Створюємо нову змінну з іменем ANDROID_SDK_HOME та значенням – шляхом, де знаходиться папка AVD. Там же змінну Path, відкриваємо і в полі значень через точку з комою додаємо шлях до папки Android SDK</p></div><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Запускається емулятор, але з'являється помилка "pixel launcher isn't responding"</span></strong></p></summary><p>Під час запуску емулятора лаунчер повідомляє: Pixel launcher isn't responding. Жодної реакції на натискання.<br><br>Сталося на машині із вбудованою відеокартою Intel HD Graphics 3000 – у Windows 10 драйвер не підтримує OpenGL (ймовірно, пов'язано з цим).<br>Рішення: у налаштуваннях AVD встановити значення Software-GLES 2.0 для Emulated performance\Graphics</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="1761" src="https://fine-ukraine.top/uploads/monthly_2026_07/Screenshot_1.png.298a925187ecc051e04b4d7d327e0b18.png" alt="Screenshot_1.png" title="" width="500" height="347" loading="lazy"></p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Запускається емулятор, але видно чорний екран із трьома горизонтальними смугами, через які видно частину екрана пристрою.</span></strong></p></summary><p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Рішення: Змінити рендер на DirectX.</span></p><p><img class="ipsImage ipsRichText__align--block" data-fileid="1762" src="https://fine-ukraine.top/uploads/monthly_2026_07/Screenshot_1.png.5803ce11bfd286263c15aebdfd9b013c.png" alt="Screenshot_1.png" title="" width="500" height="141" loading="lazy"></p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p><strong><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Створення швидкого x86 емулятора Android (AVD) на прикладі Android 5.0.1 (API 21)</span></strong></p></summary><p>Запускаємо Android SDK Manager. Завантажуємо Intel x86 Atom System Image (ознайомтеся також з <a rel="external nofollow" href="https://developer.android.com/studio/run/emulator#acceleration"><u>Using Hardware Acceleration</u></a> , <a rel="external nofollow" href="https://habr.com/ru/companies/intel/articles/146114/"><u>Як розігнати емулятор Android</u></a> )</p><p><img class="ipsImage ipsRichText__align--block" data-fileid="1763" src="https://fine-ukraine.top/uploads/monthly_2026_07/Screenshot_1.png.c1b97fa7f8637f25a8d9e40cfe83ffe5.png" alt="Screenshot_1.png" title="" width="500" height="357" loading="lazy"></p><p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Створюємо нову AVD</span></p><p><img class="ipsImage ipsRichText__align--block" data-fileid="1764" src="https://fine-ukraine.top/uploads/monthly_2026_07/Screenshot_1.png.6f86ffefc140f61a69401fa7cc62d7db.png" alt="Screenshot_1.png" title="" width="295" height="500" loading="lazy"></p><p><span style="font-family: Verdana, Arial, Helvetica, sans-serif;">Користуємося</span></p><p><img class="ipsImage ipsRichText__align--block" data-fileid="1765" src="https://fine-ukraine.top/uploads/monthly_2026_07/Screenshot_1.png.82a5df0c626f03abf678f08fc5daa26c.png" alt="Screenshot_1.png" title="" width="329" height="481" loading="lazy"></p><p><br>Зміна місця зберігання AVD. <a rel="" href="https://fine-ukraine.top/topic/2137-zmina-miscya-zberigannya-avd/"><u>Інструкція</u></a>.</p></details><p></p><details class="ipsRichTextBox ipsRichTextBox--expandable ipsRichText__no-index"><summary class="ipsRichTextBox__title"><p>+</p></summary><ul><li><p>Якщо під час запуску емулятора повідомлення <strong>Cannot set up guest memory 'pc.ram': Invalid argument</strong> - перевірте обсяг пам'яті в установках емулятора, наприклад встановіть 512 Мб.</p></li><li><p>Також швидко працює Android x86 в VirtualBox (Є маркет в android-x86-4.2-20130228.iso)</p></li><li><p>Використовуйте у назвах файлів та каталогів лише символи латинського алфавіту.</p></li><li><p>Шлях до файлу не повинен перевищувати 256 символів.</p></li><li><p>Не використовуйте великі літери - "Error:Execution failed for task ':app:mergeDebugResources'. Unsupported node 'item' in file "\powertool\app\src\main\res\menu\menu.xml" - була з-за великої літери в "Menu" "</p></li></ul></details><p></p><p></p>]]></description><guid isPermaLink="false">2138</guid><pubDate>Fri, 17 Jul 2026 03:57:39 +0000</pubDate></item><item><title>&#x417;&#x43C;&#x456;&#x43D;&#x430; &#x43C;&#x456;&#x441;&#x446;&#x44F; &#x437;&#x431;&#x435;&#x440;&#x456;&#x433;&#x430;&#x43D;&#x43D;&#x44F; AVD</title><link>https://fine-ukraine.top/topic/2137-zmina-miscya-zberigannya-avd/</link><description><![CDATA[<p><strong>Передісторія</strong></p><p>Оскільки образи AVD займають досить багато місця, було прийнято рішення перенести їх разом з SDK з дефолтного розташування (домашньої директорії) кудись ще. З останнім проблем особливо не виникає (шлях можна задати в налаштуваннях Студії), а ось ніяких налаштувань щодо розташування AVD ні в самій Студії, ні в AVD Manager знайти не вдалося.</p><p><strong>Витяг з документа</strong></p><p>Для фізично переміщені файли поєднані з AVD, наступні команди syntax повинні бути використані:<br></p><p>android move avd -n &lt;avd name&gt; -p &lt;path to new location&gt;</p><p><br>Для прикладу, щоб перейти до AVD від свого поточного файлу системи розташування до /tmp/Nexus9Test:<br></p><p>android move avd -n Nexus9 -p /tmp/Nexus9Test</p><p><br>Note that the destination directory не потрібно, щоб existувати prior to executing the command to move<br>an AVD<br><br><strong>Пробуємо:</strong></p><p>didim@didim-ubuntu-main:~$ android <br>************************************************************************* <br>The "android" command is deprecated. <br>Для manual SDK, AVD, і Project Management, please use Android Studio. <br>Для командних ліній інструментів, використовуйте інструменти/bin/sdkmanager and tools/bin/avdmanager <br>*************************************************************************</p><p>Використовувати, значить, Студію, ага... Коригуємо PATH і пробуємо далі:<br></p><p>didim@didim-ubuntu-main:~$ avdmanager <br><br>Usage: <br>      avdmanager [global options] [action] [action options] <br>      Global options: <br>  -s --silent : Silent mode, shows errors тільки. <br>  -v --verbose : Verbose mode, shows errors, warnings і all messages. <br>     --clear-cache: Clear the SDK Manager repository manifest cache. <br>  -h --help : Help on a specific command. <br><br>Значні дії є складеними для verb і опційним direct object: <br>- list : Lists existing targets or virtual devices. <br>- list avd : Lists existing Android Virtual Devices. <br>- List target : Lists existing targets. <br>- List device : Lists existing devices. <br>- create avd : Creates a new Android Virtual Device. <br>- move avd : Moves або renames на Android Virtual Device. <br>- delete avd : Deletes на Android Virtual Device.</p><p>Здається, те, що потрібно.<br><strong>Увага!</strong>Автор цього поста не несе відповідальності за Ваше нерозуміння, криві руки чи індивідуальні проблеми несумісності софту. Усі маніпуляції з Вашим ПЗ Ви робите на свій страх та ризик.<br></p><p><strong>Отже, власне інструкція.</strong><br>Перевірено на Ubuntu 16.04, Android Studio 3.0, всі компоненти оновлено до останньої версії (на 19.11.2017)<br></p><ol type="1"><li><p>Додаємо в змінну оточення PATH (якщо не додано):</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>[шлях_до_sdk]/tools/bin/
</code></pre><p><strong>У моєму випадку це</strong></p><p>/opt/Android/Sdk/tools/bin/</p><p>Звичайно, цього можна і не робити, але тоді доведеться вводити шлях до програми вручну<br></p></li><li><p>Створюємо директорію для майбутнього розташування AVD<br></p><p><strong>У моєму випадку це</strong></p><p>/opt/Android/AVDs/</p><p></p></li><li><p>Якщо необхідно, з'ясовуємо назви ваших AVD командою <strong>avdmanager list avd</strong> :<br></p><p><strong> # </strong></p><p><strong>приклад</strong></p><p></p></li><li><p>Переміщуємо AVD:<br></p><p>avdmanager move avd -n [назва_AVD] -p [каталог_для_AVD]/[будь-яка_назва_каталогу]</p><p>Примітка: [будь-яка назва_каталогу] - обов'язковий підкаталог, інакше програма працювати не буде. Я вказав таке саме ім'я, яке було в оригіналі.<br></p><p><strong>У моєму випадку це</strong></p><p>avdmanager move avd -n Tab_10.1_FullHD_API_15 -p /opt/Android/AVDs/Tab_10.1_FullHD_API_15.avd</p><p></p></li><li><p>PROFIT, Студія підхоплює нові розташування без проблем.</p></li></ol><p><br><strong>1</strong>. Даний метод не переносить повністю каталог за замовчуванням, однак, у цьому каталозі залишаються лише конфігураційні файли .ini в кілька сотень байт, що містять шляхи до нового розташування AVD. Припустимо, що можна перенести важкі каталоги вручну, а потім виправити ці конфіги, але не перевіряв особисто, т.ч. радити не буду.<br><br><strong>2</strong>. Щодо створення нових AVD через меню Студії - вони, як і раніше, будуть створюватися в каталозі за замовчуванням і переносити їх доведеться вручну. Способу перепризначити каталог за замовчуванням Linux мені знайти, на жаль, не вдалося.</p>]]></description><guid isPermaLink="false">2137</guid><pubDate>Fri, 17 Jul 2026 03:56:36 +0000</pubDate></item><item><title>&#x423;&#x441;&#x442;&#x430;&#x43D;&#x43E;&#x432;&#x43A;&#x430; Android studio &#x43D;&#x430; Ubuntu</title><link>https://fine-ukraine.top/topic/2136-ustanovka-android-studio-na-ubuntu/</link><description><![CDATA[<ol type="1"><li><p>Встановити jdk</p></li><li><p>Встановити kvm (необхідний для роботи емулятора)</p></li></ol><p><br>Для встановлення студії є кілька способів</p><p><strong>Найпростіший</strong></p><ol type="1"><li><p>Відкрити "менеджер додатків Ubuntu"</p></li><li><p>Знайти пошуком Android studio</p></li><li><p>Натиснути кнопку встановити</p></li></ol><p><br>Встановлена таким способом андроїд студія оновлюватиметься трохи пізніше, ніж на сайті гугла</p><p><strong>Більш складний</strong></p><ol type="1"><li><p>Завантажити студію із сайту гугла</p></li><li><p>Розархівувати</p></li><li><p>Відкрити папку bin у терміналі</p></li><li><p>Ввести: ./studio.sh</p></li></ol><p><br>Встановлену в такий спосіб студію доведеться запускати у терміналі</p><p><br>Є й інші способи, але вони складніші і дають стару версію студії</p>]]></description><guid isPermaLink="false">2136</guid><pubDate>Fri, 17 Jul 2026 03:48:21 +0000</pubDate></item><item><title>&#x417;&#x43C;&#x456;&#x43D;&#x430; IMEI &#x442;&#x435;&#x43B;&#x435;&#x444;&#x43E;&#x43D;&#x430;</title><link>https://fine-ukraine.top/topic/1391-zmina-imei-telefona/</link><description><![CDATA[<p><img class="ipsImage ipsRichText__align--block" data-fileid="1480" src="https://fine-ukraine.top/uploads/monthly_2025_08/Screenshot_1.png.c33b6175c0a1d2e60707c844e661797c.png" alt="Screenshot_1.png" width="327" height="228" loading="lazy"></p><p>1. Встановлюємо драйвера ADB для свого телефону<br>2. Запускаємо консоль на ПК (cmd)<br>3. Підключаємо телефон до ПК<br>4. Прописуємо команди нижче по черзі.</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>adb shell
su
setprop sys.usb.config diag,adb</code></pre><p>5. Запускаємо програму з архіву та прописуємо в обидва поля новий IMEI і тиснемо "START"<br>Якщо з'явився напис PASS на зеленому тлі, то перезавантажуйте телефон і перевіряйте IMEI командою *#06#, якщо ні, то просто нахуя ви це все робили я не розумію.</p><p><a class="ipsAttachLink" data-fileid="1481" href="https://fine-ukraine.top/applications/core/interface/file/attachment.php?id=1481&amp;key=30aa89f080f9917eb56535ffd10dd3da" data-fileext="zip" rel="">imei.zip</a></p>]]></description><guid isPermaLink="false">1391</guid><pubDate>Sat, 30 Aug 2025 09:53:36 +0000</pubDate></item><item><title>&#x417;&#x430;&#x43F;&#x443;&#x441;&#x43A;&#x430;&#x454;&#x43C;&#x43E; &#x43A;&#x43E;&#x43D;&#x441;&#x43E;&#x43B;&#x44C;&#x43D;&#x456; Java &#x43F;&#x440;&#x43E;&#x433;&#x440;&#x430;&#x43C;&#x438; &#x43D;&#x430; Android</title><link>https://fine-ukraine.top/topic/1182-zapuskayemo-konsolni-java-programi-na-android/</link><description><![CDATA[<div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p></p></div><p><img class="ipsImage ipsRichText__align--block" data-fileid="1288" src="https://fine-ukraine.top/uploads/monthly_2025_06/peace_0d9cb5.png.c57b87828e6bd942557e21bde830a3e9.png" alt="peace_0d9cb5.png" width="480" height="354" loading="lazy"></p></div><p>Йтиметься про проект-утилітку, який може стати в нагоді кожному, хто вивчає Java і не завжди має під рукою ПК для перегляду роботи прикладу коду в польових умовах (якось — в метро, маршрутці, кафешці і т.д.).<br><br>Необхідність створити це притулок виникла коли я готувався до OCJP-сертифікації. Після успішного проходження, вирішив надати плоди своїх задумів на огляд шановним учасникам хабраспівтовариства.<br><br>Ноутбука у мене немає, а запускати приклади коду на смартфоні, сидячи на кухні за філіжанкою чаю, зручно.<br><br>Так уже повелося, що більшість прикладів для навчання зазвичай наводиться саме у форматі консольних програм. Чудовий інструмент <a rel="external nofollow" href="https://play.google.com/store/apps/details?id=com.aide.ui&amp;hl=ru">AIDE</a> дозволяє збирати Android-програму на основі Eclipse-проектів. Можливість, на жаль, недостатня для запуску консольних прикладів методом копіпасти.<br><br>Справа за малим - перенаправляємо потоки введення/виведення в UI контролі:</p><p></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>private static OutputStream mOutputStream = new OutputStream() {
            @Override
            public void write(int b) {
                MainActivity.getInstance().write((byte)b);
            }
    };

    @Override
    public void onCreate(Bundle savedInstanceState) {
        ...
        System.setOut(new PrintStream(mOutputStream));
        System.setErr(new PrintStream(mOutputStream));
        ...
    }</code></pre><p>Консольна програма стартує в окремому потоці з обробника activity <code>onResume()</code>:</p><p><code>@Override<br>			public void run() {<br>		    	try {<br>			    	//<br>			    	// Здесь запускается консольное приложение<br>			    	//<br>		    		Program.main(new String[0]);<br>		    	} catch (Throwable ex) { // Тут же ловим все исключения<br>		    		setErrorColor();<br>		    		ex.printStackTrace();<br>		    	}<br>			}</code><br>Тут можна задавати аргументи командного рядка — старий добрий <code>args</code>. Приклад – запуск <code>BankTellerSimulation</code>на 10 секунд:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>BankTellerSimulation.main(new String[] { "10" });
</code></pre><p>Підтримується робота кількох потоків ( <code>SimpleThreadsTest</code>):</p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p></p></div><p><img class="ipsImage ipsRichText__align--block" data-fileid="1289" src="https://fine-ukraine.top/uploads/monthly_2025_06/peace_0d9cb5.png.3c5633b6bc717108b586266cd4b3f15a.png" alt="peace_0d9cb5.png" width="288" height="180" loading="lazy"></p></div><p><br><code>HorseRace</code>і <code>BankTellerSimulation</code>приклади складніших багатопотокових додатків (взяті з книги <em>Thinking in Java, 4th Ed by Bruce Eckel</em> ).</p><h5><strong>Помилки часу виконання</strong></h5><p>Приклад <code>ErrorTest</code>:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Звичайний текст"><code>class FuuuuuuException extends RuntimeException {
	public FuuuuuuException(String message) {
		super(message);
	}
}
...
throw new FuuuuuuException("!!!TROLLFACE!!!");</code></pre><p><span style='font-family: "Arial", "Helvetica", sans-serif'>Отримуємо виняток:</span></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p></p></div><p><img class="ipsImage ipsRichText__align--block" data-fileid="1290" src="https://fine-ukraine.top/uploads/monthly_2025_06/peace_0d9cb5.png.41731250e7d25026c8abea5679df2ac5.png" alt="peace_0d9cb5.png" width="480" height="288" loading="lazy"></p></div><h5><strong>Введення</strong></h5><p><br>Насамкінець, для повноти можливостей, було додано консольне введення. Поки що мої пізнання в області інтерфейсу Android не великі. Абияк впхнути<code>EditText</code>вдалося, але результат не ідеальний :)<br><br>Запрошення введення рядка (<code>ReadingInputTest</code>):</p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p></p></div><p><img class="ipsImage ipsRichText__align--block" data-fileid="1291" src="https://fine-ukraine.top/uploads/monthly_2025_06/peace_0d9cb5.png.97000dcfa6716f7d33efd64895079334.png" alt="peace_0d9cb5.png" width="480" height="163" loading="lazy"></p></div><p><span style='font-family: "Arial", "Helvetica", sans-serif'>Далі:</span></p><div class="ipsRichTextBox ipsRichTextBox--alwaysopen"><div class="ipsRichTextBox__title"><p></p></div><p><img class="ipsImage ipsRichText__align--block" data-fileid="1292" src="https://fine-ukraine.top/uploads/monthly_2025_06/peace_0d9cb5.png.1ec4eab0a16393bef83155520979802a.png" alt="peace_0d9cb5.png" width="288" height="480" loading="lazy"></p></div><h5><strong>Функції меню</strong></h5><p><em>Exit</em>вимикає процес через<code>System.exit(0)</code>.<br><br>Програма "одноразова". Повторних перезапусків немає (не хотілося вовтузитися з очищенням значень статичних полів).<br><br>Що робить<em>Clear</em>– великий секрет.<br><strong>Що не працює</strong><br>•<code>assert</code>'і Java.</p><p><code>assert "Cat".equals("Dog");</code><br>виняток <code>java.lang.AssertionError</code>не кине. Не плутати з assert'ами JUnit - з ними все <a rel="external nofollow" href="http://habrahabr.ru/post/162741/#comment_5599467">гаразд</a> !)<br>• Клас <code>Console</code>.<br>• Поле введення не завжди фокусується.</p><h5><strong>Файли проекту</strong></h5><p>Вихідники можна забрати з <a rel="external nofollow" href="https://github.com/pnetesa/ConsoleApp">GitHub</a> або скачати <a rel="external nofollow" href="https://dl.dropbox.com/u/20368586/ConsoleApp.zip"><strong>zip-архів</strong></a> з проектами для Android Studio і Eclipse.<br><br>Описані приклади перебувають у пакеті <code>com.examples</code>. Всі приклади можна без змін запускати на звичайному ПК (run everywhere!).</p>]]></description><guid isPermaLink="false">1182</guid><pubDate>Wed, 04 Jun 2025 11:20:34 +0000</pubDate></item><item><title>&#x42F;&#x43A; &#x434;&#x43E;&#x434;&#x430;&#x442;&#x438; &#x441;&#x442;&#x430;&#x442;&#x442;&#x44E; &#x432; &#x430;&#x43D;&#x434;&#x440;&#x43E;&#x457;&#x434; &#x434;&#x43E;&#x434;&#x430;&#x442;&#x43E;&#x43A;</title><link>https://fine-ukraine.top/topic/1181-yak-dodati-stattyu-v-androyid-dodatok/</link><description><![CDATA[<p>Все залежить від того, який формат даних у ваших статей і як ви хочете їх відображати.</p><ol><li><p>Ідеальний випадок. Хтось дуже розумний надає вам статті у вигляді JSON, в якому окремо йдуть картинки та окремо блоки тексту. Причому в тексті є тільки теги форматування, що підтримуються андроїдом. У цьому випадку просто збережіть це (файл, БД, etc) і відобразіть за допомогою RecyclerView, TextView і ImageView.</p></li><li><p>Звичайний випадок. Вам видали простий HTML. Там найпростіші теги, мінімум стилів і картинки не вирівняні скрізь по-різному, а навпаки, йдуть просто між текстовими блоками, обрамленими своїми власними тегами. Тут трохи складніше, т.к. треба вручну порізати текст на частини, переконатися, що відображається спеціальне форматування тексту (жирний, підкреслення, etc) (якщо ні - написати спеціальний код, який це зробить). Далі все як у п.1.</p></li><li><p>Особливо занедбаний випадок. Ви працюєте з спадковим фронт-ендером. Він вам видав HTML з безліччю стилів, картинки скрізь і всюди по-різному розташовані, текст їх обтікає найхитрішими способами і взагалі. І при цьому треба зробити так, щоб воно все відображалось так само, як і в оригіналі, на сайті. Тут ви матимете великі проблеми. Теоретично можна і на нативних андроїд-в'юхах все це відмалювати, але це буде гранично складне завдання, порівнянне з написанням власного движка рендерингу браузера. Тут вам залишається здатися та використовувати WebView. Воно пригальмовуватиме, але все змалює. Для зберігання такого роду даних - див.</p></li></ol>]]></description><guid isPermaLink="false">1181</guid><pubDate>Wed, 04 Jun 2025 11:14:11 +0000</pubDate></item></channel></rss>
