Привет Гость!
Ты можешь:
Войти или зарегистрироваться

Забыл пароль
Регистрация
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [176]
Уроки по переводу java игр [15]
Программы для компьютера [102]
Программы для телефона [85]
Модификация смартфонных игр [15]
Symbian, Android, iPhone и т.д.
Прочее [35]
Уроки по модификации ПК игр [10]
Мини-чат
Главная » Статьи » Модификация смартфонных игр

10.05.2013, 19:38

Apk на Jar


Google использует расширение .APK для приложений Android. На первый взгляд этот формат не поддерживается на ПК. Но он является, ни чем иным как .ZIP файлом, замаскированным под .APK. И его легко открыть, изменив расширение. После этого вы сможете открыть и просмотреть содержимое файла приложения.

Если же вы хотите получить доступ к исходному коду, вам необходим самый важный файл – classes.dex. Но он тоже зашифрован. Для того, что бы получить доступ к его содержимому, необходимо воспользоваться программой Dex2Jar и JD-GUI.
После того как вы скачали эти две программы, распакуйте их. Скопируйте файл classes.dex в папку с Dex2Jar и выберите в свойствах classes.dex «открыть с помощью… – Dex2Jar», файл будет перепакован в .jar, который можно уже открыть для редактирования в JD-GUI.

Также можно использовать программу для "вскрытия" *.apk - файлов APKTool

Описание:
Программа будет полезна разработчикам и переводчикам программ для платформы Android.
Может быть использована для локализации ПО, добавления функций и т.д.

На данный момент программа работает под управлением ОС Linux, Windows, MacOS. При помощи данной утилиты не может быть вскрыто приложение framework-res.apk, поскольку в нем используются некие собственные секретные разработки Google, но обещают, что в дальнейшем это будет исправлено.

Для использования программы требуются базовые знания по SDK, aapt, PATH, smali.

На компьютере должно быть установлено JDK (Java SE Development Kit)

Kачаем и устанавливаем:

JDK (Java SE Development Kit)
APKTool - достаточно просто распаковать этот архив, например в корень диска C:
Распаковка apk
Для распаковки apk-файла в командной строке выполняем:
C:\ApkTools\apktool-d.cmd С:\app\my_app.apk
(my_app.apk название приложения) (Так же можно просто изменить apk на zip)
В результате в каталоге, где лежал наш apk появится папка my_app в которой будет находиться содержимое нашего apk.
После внесения необходимых изменений необходимо собрать новый apk.

Если же вы хотите получить доступ к исходному коду, вам необходим самый важный файл – classes.dex. Но он тоже зашифрован. Для того, что бы получить доступ к его содержимому, необходимо воспользоваться программой Dex2Jar и JD-GUI.

После того как вы скачали эти две программы, распакуйте их. Скопируйте файл classes.dex в папку с Dex2Jar и выберите в свойствах classes.dex «открыть с помощью… – Dex2Jar», файл будет перепакован в .jar, который можно уже открыть для редактирования в JD-GUI.

Упаковка apk

Выполняем сборку нового apk-файла.
В командной строке запускаем:
C:\ApkTools\apktool-b.cmd С:\app\my_app
После сборки в С:\app\my_app должна появиться папка build\apk. В ней есть всё, что упаковывается в apk, кроме папки C:\app\my_app\assets.
Итак, копируем в build\apk папку assets
Далее выделяем все файлы/папки, жмем на любом правой кнопкой, в появившемся меню выбираем WinRAR - Добавить в архив...
На вкладке Общие - формат архива: ZIP
На вкладке файлы - поле "Файлы, добавляемые в архив без сжатия" вставить:
*.arsc *.png *.ogg
У полученного ZIP - архива меняем расширение на apk.
Подписываем полученный apk:
C:\ApkTools\Sign.cmd my_app.apk
Sign.cmd внутри архива apk создаст папку META-INF, в которой будут храниться сертификат, контрольные суммы и подписи всех файлов.
Если положить apk непосредственно в C:\ApkTools\, то отпадет нужда прописывать полные пути в командной строке.

Файла classes.dex, контейнер, вскрыв который можно получить исходный код приложения под Android.
Предстоит проделать два несложных этапа. Но сначала необходимо сказать в двух словах о том, что же из себя представляет формат DEX или Dalvik Executable. На самом деле это файл, содержащий в себе программный код для виртуальной машины Dalvik. Приложения для Android пишутся на языке Java, но после компиляции кода в .class-файлы, вызывается утилита dx, которая транслирует их в один файл classes.dex, являющийся основной составляющей APK файла.

Поэтому целью первого этапа обратной разборки будет обратное преобразование файла DEX в формат JAR (Java Archive), zip-подобный архив с набором файлов на языке Java и метаданными. Для выполнения такого преобразования понадобится утилита dex2jar. Пользоваться ею очень просто – достаточно скормить утилите нужный APK-файл (или предварительно вынутый из него classes.dex). Для этого можно воспользоваться консолью или просто перетащить файл на батник dex2jar. Если все пройдет без проблем, то в той же директории появится файл под названием «<название приложения>_dex2jar.jar», он-то и будет нужен для второго этапа.

Второй этап представляет собой реверс инжиниринг файла JAR. Это просто zip-архив, открыв его штатным архиватором, мы увидим внутри набор файлов с расширением .class, которые являются скомпилированным Java-кодом.

Для того, чтобы удобно посмотреть их содержимое в читабельном виде, понадобится приложение Java Decompiler (JAD). Распаковываем архив, запускаем программу (она обладает графическим интерфейсом) и с её помощью открываем (Файл — Открыть) полученный на предыдущем этапе JAR-файл.

Нетрудно видеть, что мы добрались до кода приложения под Android. Здесь много служебных файлов, не очень интересных. Подсмотреть, какие классы являются стартовыми, можно в файле Manifes.xml. Чтобы сохранить все файлы в читаемом виде в одном архиве, выберите пункт File – Save All Sources. Это позволит позже загрузить их в более удобную IDE или открыть нормальным редактором вроде Notepad++ и анализировать код со всеми удобствами.
Категория: Модификация смартфонных игр | Добавил: Sancar2001
Просмотров: 8216 | Комментарии: 7 | Рейтинг: 5.0/3

Всего комментариев: 7
Спам
islommurod98   (07.06.2013 11:23) [Материал]
Блин я все настроил только Jar файл при запуске говорит неправильный MIDlet-1. Что делать? Как мне узнать MIDlet-1? :(

Спам
stsyn   (07.06.2013 09:21) [Материал]
islommurod98, мне кажется его там нет...

Спам
islommurod98   (06.06.2013 23:17) [Материал]
Ураааа получилось :D apl Только ребята как мне найти MIDlet-1 в manifest?

Спам
islommurod98   (31.05.2013 13:20) [Материал]
Не получается <_<

Спам
Shine   (19.05.2013 13:40) [Материал]
ниче не понял %)

Спам
smert124   (15.05.2013 11:46) [Материал]
Зачем Java Decompiller? Можно деобфусцировать и FernFlower запустить.

Спам
islommurod98   (15.05.2013 00:14) [Материал]
У кого то получилось?

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

о, привет
Новинки
  • Файлы
  • Статьи
  • Новости

Rise Of Antares
Комментов: 1 | Загрузок: 43
РЕЗНЯ 3D: Not city of sins
Комментов: 0 | Загрузок: 100
Vice Multi-Player 0.1 beta RC 8-4-9-5
Комментов: 0 | Загрузок: 18
GTA San Andreas Beta 1
Комментов: 1 | Загрузок: 171
Galaxy Force 2 FINAL
Комментов: 42 | Загрузок: 1
Haunting abandoned mansion (color mod)
Комментов: 0 | Загрузок: 148
Deadly game Resident Evil 7 DLC
Комментов: 0 | Загрузок: 226
GTA SA FLY
Комментов: 0 | Загрузок: 281
GTA SA Mobile: Definitive Edition
Комментов: 1 | Загрузок: 492
QUAKE
Комментов: 51 | Загрузок: 432

Чат в Телеге
Комментов: 0 | Просмотров: 51
ODN Remake - скриншоты
Комментов: 0 | Просмотров: 78
O. D. N Remake
Комментов: 0 | Просмотров: 126
Новый сайт с мобильными загрузками - Oldfag
Комментов: 7 | Просмотров: 1489
Здорово и вечно 2 свободное человечество анонс номер два
Комментов: 9 | Просмотров: 1417
Дневник разработки "Шизофрения 3D" #2 - Концепция
Комментов: 2 | Просмотров: 1429
Дневник разработки "Шизофрения 3D" #1 - Общая инфа
Комментов: 0 | Просмотров: 1380
Случайный мод
Эта игра не является полностью сделано мной, это моя изменение игры Car Jack Streets. Для меня, часть Vice City был лучшим
5012 931 25 4.1
Статистика
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Пользователи
Гости сайта

[ Нас сегодня посетили ]
При копировании материалов, желательно оставлять ссылку на этот сайт!
© Tommy_M 2009-2024 | Хостинг от uCoz