moon_aka_sun: (Default)
[personal profile] moon_aka_sun

Как подправить что-то в чужом приложении. Точнее, как заставить это потом работать.

1. Берём apk, разархивируем его, как обычный zip.
2. Из важных файлов в корне будут resources.arsc, classes.dex, Правим их. Насколько я понял, исходники ресурсов лежат в каталоге res, но там править что-либо бесполезно, т.к. всё уже скомпилировано в arsc.
3. Если dex редактировался, то нужно поменять его чек-суммы внутри. Байты 12..31 (здесь и далее нумерация с нуля) -- это SHA1 содержимого файла, начиная с байта 32, а байты 8..11 -- это Adler32-сумма SHA1+всего остального. Пересчитать чек-суммы можно с помощью java-программы (я её запостил также в коммент).
3.1. Компилируем программу: javac ReDEX.java
3.2. Запускаем: java ReDEX classes.dex
3.3. Вручную правим байты 8..31 (например, с помощью HxD или Vim+xxd)
4. Теперь всё что нужно, это запаковать и подписать архив:
4.1. Убираем каталог META-INF, т.к. у нас будет свой.
4.2. Архивируем в обычный zip-файл. Можно и со сжатием 9.
4.3. Генерируем свой ключ с помощью джавовской утилиты: cd C:\Java && mkdir keys && keytool -v -genkey -alias yourname.keystore -keyalg RSA -validity 20000 -keystore keys/yourname.keystore (введите: Password... Password... YourName..., потом ENTER 5 раз, потом yes, потом опять ENTER)
4.4. Подписываем архив: jarsigner -keystore keys\yourname.keystore -signedjar result.archive.apk source.archive.name.apk yourname.keystore
4.5. Внутри архива будет создан каталог META_INF с тремя файлами - ключом и двумя файлами сигнатур.
5. Всё. Можно копировать в андрофон и инсталлировать.

This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

December 2016

S M T W T F S
    123
4 5678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 16th, 2025 02:07 am
Powered by Dreamwidth Studios