Чи можуть користувачі перетворити файл apk моєї програми назад у фактичний код? Якщо вони це роблять - чи є спосіб запобігти цьому?
Чи можуть користувачі перетворити файл apk моєї програми назад у фактичний код? Якщо вони це роблять - чи є спосіб запобігти цьому?
Відповіді:
По-перше, файл apk - це просто модифікований файл jar. Тож справжнє питання полягає в тому, чи можуть вони декомпілювати файли dex всередині. Відповідь така. Вже існують розбирачі, такі як дедексер та смалі . Ви можете очікувати, що вони лише покращаться, і теоретично з часом може бути можливо декомпілювати до фактичного джерела Java (принаймні іноді). Див. Попереднє запитання про декомпіляцію DEX у вихідний код Java .
Пам’ятайте, що затуманення ніколи не працює. Виберіть хорошу ліцензію та зробіть все можливе, щоб забезпечити її виконання згідно із законом. Не витрачайте час на ненадійні технічні заходи.
Можлива декомпіляція файлу .apk. Але може бути важко зрозуміти код, якщо він затуманений.
ApkTool для перегляду ресурсів у файлі APK
apktool.bat d sampleApp.apk
Використання dex2jar
dex2jar sampleApp.apk
Декомпіляція .jar за допомогою JD-GUI
Я також можу додати, що на сьогоднішній день можна декомпілювати програму для Android в Інтернеті, не потребуючи програмного забезпечення!
Ось 2 варіанти для вас:
Завантажте цей інструмент jadx https://sourceforge.net/projects/jadx/files/
Розпакуйте його, а потім у папці lib запустіть файл jadx-gui-0.6.1.jar, тепер перегляньте файл apk. Зроблено. Автоматично apk буде декомпілювати та зберегти його, натиснувши кнопку збереження. Сподіваюся, це буде працювати у вас. Дякую
Іноді ви отримуєте непрацюючий код, використовуючи dex2jar
/ apktool
, особливо у циклах. Щоб уникнути цього, використовуйте jadx , який декомпілює байт-код dalvik у вихідний код Java, не створюючи спочатку файл .jar
/, .class
як dex2jar
це робиться (я думаю, apktool використовує dex2jar). Він також є з відкритим кодом і знаходиться в активному розвитку. Він навіть має графічний інтерфейс для фанатиків графічного інтерфейсу. Спробуй це!
Чи можуть користувачі перетворити файл apk моєї програми назад у фактичний код?
так.
Люди можуть використовувати різні інструменти, щоб:
FDex2
для вивантаження dex
файлу
dex2jar
конвертувати вjar
jadx
для перетворення у java
вихідний кодЯкщо вони це роблять - чи є спосіб запобігти цьому?
так. Кілька (можна комбінованих) способів запобігти (певною мірою) цьому:
ProGuard
Більш детально можна ознайомитись із моїм підручником з китайської мови :安卓 应用 的 安全 和 破解
Так, існує безліч програмного забезпечення для декомпіляції файлу .apk.
Нещодавно я склав остаточний список 47 найкращих декомпіляторів APK на своєму веб-сайті. Я розклав їх на 4 різні секції.
Сподіваюсь, ця колекція буде для вас корисною.
Посилання: https://www.edopedia.com/blog/best-apk-decompilers/