Android декомпилирует APK, чтобы получить код и ресурсы

Введение в этот раздел

«Декомпиляция Apk» выглядит очень высококлассно, но на самом деле это не так: это декомпиляция нашего APK с помощью некоторого программного обеспечения для декомпиляции, чтобы получить исходный код, изображения, ресурсы XML и другие файлы программы; Я не знаю. Делали ли вы когда-нибудь это раньше, видя, что интерфейс чужого приложения сделан очень красиво, или вам нравятся чужие графические материалы, проще говоря, мы можем загрузить чужой APK, а затем изменить имя суффикса на xxx. zip, а затем распакуйте: автор только что распаковал APK:

Мы можем открыть каталог res, чтобы получить материал изображения внутри.

Однако с помощью этого метода можно получить только ресурсы растровых файлов, такие как .png или .jpg. Если это ресурс XML, при его открытии мы обнаружим искаженные символы. И если мы хотим увидеть Java-код APK программа, она тоже не работает, потому что они все запакованы в файлclasss.dex! Но декомпиляция может решить ваши проблемы~ Кроме того, не используйте декомпиляцию для незаконных действий, таких как переупаковка APK-файлов других людей, использование вашей собственной подписи и последующий выпуск их на соответствующий рынок... Кроме того, мы имеем в виду чужие APK-файлы. коды, а не полная копия! ! ! Помнить! !

1. Три инструмента для подготовки

  1. apktool: получение файлов ресурсов, извлечение файлов изображений, файлов макетов и некоторых файлов ресурсов XML.
  2. dex2jar: декомпилировать APK в исходный код Java (конвертировать class.dex в файл jar)
  3. jd-gui: просмотреть конвертированный jar-файл в 2, то есть просмотреть Java-файл.Для удобства читателей вот три упакованы вместе и помещены на облачный диск, и вы можете скачать их, если они вам понадобятся: три инструмента, связанных с декомпиляцией  .zip

2. Используйте apktool для декомпиляции APK и получения изображений и ресурсов XML:

После распаковки загруженного apktool мы можем увидеть следующие файлы (игнорируя два csdn, один — декомпилированный apk, а другой — декомпилированный файл):

 Затем дважды щелкните cmd.exe, чтобы перейти в командную строку, введите:  apktool.bat d csdn.apk  и нажмите Enter:

Затем вы увидите созданную папку csdn, содержащую нужные нам ресурсы. 

 Хорошо, XML-ресурс здесь, верно? Имиджевый материал также доступен!


3. Используйте dex2jar для преобразования class.dex в файл jar:

Разархивируйте загруженную папку dex2jar и скопируйте class.dex из распакованного APK в каталог, где находится dex2jar.bat:

Откройте cmd и перейдите в этот каталог: введите: d2j-dex2jar.batclasses.dex.

Затем мы видим, что создается jar-пакет:

 Хорошо, преобразование завершено!


4. Используйте jd-gui для просмотра кода Java в пакете jar:

Хорошо, откройте папку jd-gui

После открытия открываем конвертированный jar-пакет в нашем 3, видим внутри код:

 Клиент csdn не путает код... Может это в духе опенсорса, давайте изучим код! Вообще говоря, выпуск apk будет перепутан, а затем будет выполнено некоторое шифрование или будет использована сторонняя платформа шифрования, и чаще используется «шифрование любви». Если вам интересно, вы также можете проверить более подробное введение в Baidu!

Supongo que te gusta

Origin blog.csdn.net/leyang0910/article/details/130893488
Recomendado
Clasificación