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

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
Просмотров: 8421 | Комментарии: 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) [Материал]
Ураааа получилось Только ребята как мне найти 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) [Материал]
У кого то получилось?

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

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

Stalker 2 Mobile
Комментов: 0 | Загрузок: 13
STALCER 3-D
Комментов: 5 | Загрузок: 102
Rise Of Antares
Комментов: 1 | Загрузок: 125
РЕЗНЯ 3D: Not city of sins
Комментов: 0 | Загрузок: 237
Vice Multi-Player 0.1 beta RC 8-4-9-5
Комментов: 0 | Загрузок: 93
GTA San Andreas Beta 1
Комментов: 1 | Загрузок: 291
Galaxy Force 2 FINAL
Комментов: 47 | Загрузок: 1
Haunting abandoned mansion (color mod)
Комментов: 0 | Загрузок: 218
Deadly game Resident Evil 7 DLC
Комментов: 0 | Загрузок: 309
GTA SA FLY
Комментов: 0 | Загрузок: 397

Открыт код Stalker Mobile 3D
Комментов: 1 | Просмотров: 236
ГДЕ JAVA- ТУСОВКА? - ТУТ!
Комментов: 0 | Просмотров: 396
Чат в Телеге
Комментов: 0 | Просмотров: 575
ODN Remake - скриншоты
Комментов: 1 | Просмотров: 550
O. D. N Remake
Комментов: 0 | Просмотров: 644
Новый сайт с мобильными загрузками - Oldfag
Комментов: 7 | Просмотров: 1966
Здорово и вечно 2 свободное человечество анонс номер два
Комментов: 9 | Просмотров: 1869
Случайный мод
Мод игры Боби Заяц! Заменил главного героя, музыку и сюжет.
2016 352 6 4.0
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Пользователи
Гости сайта
100%
Всего на сайте 2 человека

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