| 1 | + | // Made by @asdhuman. |
| 2 | + | /* |
| 3 | + | |
| 4 | + | Застереження щодо неофіційного DLC "Дія" (скрипт Frida) |
| 5 | + | |
| 6 | + | Ця модифікація є незалежною, неофіційною зміною поведінки мобільного застосунку "Дія" за допомогою скрипту Frida. |
| 7 | + | Усі права на офіційний застосунок "Дія", його назву, торговельні марки та пов'язану інтелектуальну власність |
| 8 | + | суворо зберігаються їхніми відповідними власниками. |
| 9 | + | Будь ласка, уважно прочитайте це застереження перед використанням. |
| 10 | + | |
| 11 | + | Відсутність схвалення незаконного використання: Автор цього скрипту не схвалює, не заохочує та не підтримує |
| 12 | + | будь-яке незаконне, шахрайське або зловмисне використання цієї модифікації. Цей скрипт призначений лише для |
| 13 | + | особистого дослідження та розважальних цілей. Будь-яке використання цього скрипту для спотворення особистих |
| 14 | + | даних, фальсифікації інформації або вчинення будь-якої незаконної діяльності суворо заборонено і є виключною |
| 15 | + | відповідальністю користувача. |
| 16 | + | |
| 17 | + | Ключові моменти: |
| 18 | + | - ЦЕ НЕ Офіційний Продукт "Дія": Цей скрипт не розроблений, не схвалений і не пов'язаний з урядом України, |
| 19 | + | Міністерством цифрової трансформації України або офіційними розробниками застосунку "Дія". |
| 20 | + | - Лише зміна під час виконання: Цей скрипт працює шляхом зміни логіки застосунку в пам'яті під час його виконання. |
| 21 | + | Він не передбачає перепакування або розповсюдження модифікованого APK-файлу застосунку "Дія". |
| 22 | + | - Лише клієнтські модифікації: Цей скрипт не змінює нічого ні де, крім рантайму екземпляра застосунку. |
| 23 | + | |
| 24 | + | Використання на власний ризик: Використання цього скрипту здійснюється виключно на ваш власний ризик. |
| 25 | + | Автор цього скрипту не несе жодної відповідальності за будь-які наслідки, що можуть виникнути |
| 26 | + | внаслідок його використання, включаючи, але не обмежуючись: |
| 27 | + | - Неочікувану поведінку або нестабільність застосунку "Дія". |
| 28 | + | - Помилки у відображеній інформації. |
| 29 | + | - Потенційні конфлікти з майбутніми оновленнями офіційного застосунку "Дія". |
| 30 | + | - Будь-які юридичні наслідки, хоча вони малоймовірні з огляду на характер модифікації. |
| 31 | + | |
| 32 | + | Відсутність гарантій або підтримки: Не надається жодних гарантій, явних чи неявних, пов'язаних з цим скриптом. |
| 33 | + | Підтримка щодо його встановлення, використання або будь-яких проблем, що можуть виникнути, не надаватиметься. |
| 34 | + | |
| 35 | + | Призначено для особистого, некритичного використання: Ця модифікація призначена лише для |
| 36 | + | особистих розваг та некритичного використання. |
| 37 | + | Її НЕ слід використовувати для офіційних цілей або в ситуаціях, де потрібна точна та незмінена ідентифікація чи документи. |
| 38 | + | Поважайте офіційну функціональність: Будьте обізнані, що цей скрипт змінює передбачувану функціональність |
| 39 | + | та відображення офіційного застосунку "Дія". Вкрай важливо розуміти та поважати офіційне призначення та |
| 40 | + | інформацію, надану немодифікованим застосунком, у реальних сценаріях. |
| 41 | + | Потенціал виявлення: Хоча цей скрипт працює в пам'яті, майбутні оновлення застосунку "Дія" можуть включати |
| 42 | + | заходи для виявлення та запобігання таким змінам під час виконання. |
| 43 | + | |
| 44 | + | Використовуючи цей скрипт, ви підтверджуєте, що прочитали, зрозуміли та погодилися з умовами цього застереження. |
| 45 | + | |
| 46 | + | Настійно рекомендується вимкнути або видалити цей скрипт перед використанням застосунку "Дія" |
| 47 | + | для будь-яких офіційних або критичних цілей. |
| 48 | + | |
| 49 | + | ===================== Disclaimer (English) ======================== |
| 50 | + | |
| 51 | + | Disclaimer for Unofficial Diia DLC (frida script) |
| 52 | + | |
| 53 | + | This modification is an independent, unofficial alteration of the Diia mobile application's behavior using a Frida script. |
| 54 | + | All rights to the official Diia application, its name, trademarks, and associated intellectual property are strictly reserved by their respective owners. |
| 55 | + | Please read this disclaimer carefully before using it. |
| 56 | + | |
| 57 | + | No Condoning of Illegal Use: The creator of this script do not condone, encourage, or endorse any illegal, |
| 58 | + | fraudulent, or malicious use of this modification. This script is intended for personal exploration and |
| 59 | + | entertainment purposes only. Any use of this script to misrepresent identity, falsify information, or engage |
| 60 | + | in any unlawful activity is strictly prohibited and is the sole responsibility of the user. |
| 61 | + | |
| 62 | + | Key Points: |
| 63 | + | - THIS IS NOT an Official Diia Product: This script is not developed, endorsed, or affiliated with the Ukrainian government, the Ministry of Digital Transformation of Ukraine, or the official Diia application developers. |
| 64 | + | - Runtime Modification Only: This script operates by modifying the application's logic in memory at runtime. It does not involve repackaging or distributing a modified APK of the Diia application. |
| 65 | + | - Only clientside modifications: This script does not change anything elsewhere but app runtime. |
| 66 | + | |
| 67 | + | Use at Your Own Risk: Use of this script is entirely at your own risk. The creator(s) of this script assume no responsibility for any consequences arising from its use, including but not limited to: |
| 68 | + | - Unexpected behavior or instability of the Diia application. |
| 69 | + | - Errors in displayed information. |
| 70 | + | - Potential conflicts with future updates of the official Diia application. |
| 71 | + | - Any legal repercussions, although unlikely given the nature of the modification. |
| 72 | + | |
| 73 | + | No Warranty or Support: There is no warranty or guarantee of any kind associated with this script. |
| 74 | + | No support will be provided for its installation, use, or any issues that may arise. |
| 75 | + | |
| 76 | + | Intended for Personal, Non-Critical Use: This modification is intended for personal entertainment and non-critical use only. |
| 77 | + | It should NOT be relied upon for official purposes or in situations where accurate and unaltered identification or |
| 78 | + | documents are required. |
| 79 | + | Respect Official Functionality: Be aware that this script alters the intended functionality and presentation |
| 80 | + | of the official Diia application. It is crucial to understand and respect the official purpose and information |
| 81 | + | provided by the unmodified application in real-world scenarios. |
| 82 | + | Potential for Detection: While this script operates in memory, future updates to the Diia application may include |
| 83 | + | measures to detect and prevent such runtime modifications. |
| 84 | + | |
| 85 | + | By using this Frida script, you acknowledge that you have read, understood, and agree to the terms of this disclaimer. |
| 86 | + | |
| 87 | + | It is strongly recommended to disable or remove this script before using the Diia application for any official or critical purposes. |
| 88 | + | */ |
| 89 | + | |
| 90 | + | // To start, connect your device via ADB, start frida gadget, and run this: |
| 91 | + | // frida -U -f ua.gov.diia.app -l .\dlc.js |
| 92 | + | |
| 93 | + | |
| 94 | + | // We use java perform to insure that this code will be run when jvm is ready |
| 95 | + | |
| 96 | + | Java.perform(function () { |
| 97 | + | const Resources = Java.use("android.content.res.Resources"); |
| 98 | + | // for some strings only resource replacement works |
| 99 | + | Resources.getString.overload('int').implementation = function (resId) { |
| 100 | + | const originalString = this.getString(resId); |
| 101 | + | if (originalString.includes("Привіт")) { // on splashscreen on start |
| 102 | + | const newString = "deeznuts™️"; |
| 103 | + | return newString; |
| 104 | + | } |
| 105 | + | |
| 106 | + | if (originalString.includes("Відскануйте обличчя")) { |
| 107 | + | const newString = "Федоров дивиться на вас не відриваючи очей. Посміхніться. Ну або пальчик прикладіть."; |
| 108 | + | return newString; |
| 109 | + | } |
| 110 | + | |
| 111 | + | return originalString; |
| 112 | + | }; |
| 113 | + | }); |
| 114 | + | |
| 115 | + | Java.perform(function() { |
| 116 | + | let StringClass = Java.use("java.lang.String"); |
| 117 | + | StringClass.toString.implementation = function() { |
| 118 | + | // kinda nasty, but will survive updates. And its not running on UI loop, thank gods... |
| 119 | + | let result = this.toString(); |
| 120 | + | if (result.includes("👋")) { |
| 121 | + | result = result.replace(/👋/g, "🌸"); // kvitochka |
| 122 | + | } |
| 123 | + | |
| 124 | + | if (result.includes("Дія")) { |
| 125 | + | result = result.replace(/Дія/g, "Прікол"); |
| 126 | + | } |
| 127 | + | |
| 128 | + | if (result.includes("на Шлюб онлайн через Дію")) { |
| 129 | + | // please review your photos better before posting them on gov platfroms :3 |
| 130 | + | result = "Не дивись у правий верхній куток" |
| 131 | + | } |
| 132 | + | |
| 133 | + | if (result.includes("Накопичено кешбеку за")) { |
| 134 | + | result = "Накопичено єБалів за %s" |
| 135 | + | } |
| 136 | + | |
| 137 | + | if (result.includes("До вашої Дії підключено новий")) { |
| 138 | + | result = "До вашої Дії підключено нового співробітника СБУ" |
| 139 | + | } |
| 140 | + | |
| 141 | + | if (result.includes("Я забув код доступу")) { |
| 142 | + | result = "Забув(-ла) код доступу?" // should be gender-neutral |
| 143 | + | } |
| 144 | + | |
| 145 | + | if (result.includes("Вийти")) { |
| 146 | + | result = "Не виходь." // don't you dare! |
| 147 | + | } |
| 148 | + | |
| 149 | + | |
| 150 | + | // add desired replacements as you wish 😉 |
| 151 | + | |
| 152 | + | // obviosly you can't replace your name, sex, date of birth, ITN, and so on... |
| 153 | + | // because its illegal you dummy!! no code for that 🙅♀️ |
| 154 | + | |
| 155 | + | return result; // returning original string |
| 156 | + | }; |
| 157 | + | }); |
| 158 | + | |
| 159 | + | console.log("DLC should be applied"); |