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

Забыл пароль
Регистрация
Меню сайта
Главная страница
Моды ПК игр Форум Flash игры/журналы Помощь сайту WAP/PDA версия сайта Мы вКонтакте
Категории
Уроки по модификации java [175]
Уроки по переводу java игр [15]
Программы для компьютера [102]
Программы для телефона [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
Просмотров: 7266 | Комментарии: 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) [Материал]
У кого то получилось?

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

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

Нагибатор 3D (Repressor) Prefinal
Комментов: 27 | Загрузок: 2666
Parkour 3d from quantum
Комментов: 0 | Загрузок: 29
Micro Team fortress pre-alpha
Комментов: 2 | Загрузок: 811
Evil House - По мотивам Resident Evil Village
Комментов: 1 | Загрузок: 827
ZOA 3D Билд 7621
Комментов: 10 | Загрузок: 1051
Большой Шлепа
Комментов: 3 | Загрузок: 644
Хроники Хаоса
Комментов: 1 | Загрузок: 1182
Deep 3D Submarine Odyssey sound MOD
Комментов: 0 | Загрузок: 89
Crazy Chicken: DeluXe
Комментов: 0 | Загрузок: 534
The long dark mobile
Комментов: 7 | Загрузок: 187

Здорово и вечно свободное человечество
Комментов: 3 | Просмотров: 151
Silent evill quantum
Комментов: 5 | Просмотров: 163
PES 5 RPL
Комментов: 26 | Просмотров: 517
Evil House - По мотивам Resident Evil Village
Комментов: 5 | Просмотров: 510
S.T.A.L.K.E.R. Mobile part_2
Комментов: 24 | Просмотров: 1259
Lost in taiga 3d: Winter survival
Комментов: 7 | Просмотров: 1097
Comcraft Remastered Version
Комментов: 1 | Просмотров: 1127
Случайный мод
mcs mod 2011- это новый мод на micro counter strike.
В этом моде изменено:
карты, оружие, деревья и т.д.
язык: русский
спасибо FMR за текстуры людей,деревьев и картинки с горами!!!
2381 276 11 4.0
Статистика
Онлайн всего: 2
Гостей: 2
Пользователей: 0
Пользователи
Гости сайта

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