App debug apk что это за программа

MnogoBlog

как создать сайт на wordpress, настроить и оптимизировать wordpress

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Смартфон вместо эмулятора в Android Studio

Есть много причин, по которым эмулятор в Android Studio не будет работать, поэтому если вы не хотите тратить время на поиск и устранения данной проблемы, то есть простой способ, о котором написано в данной статье ниже.

При каждом запуске приложения в Android Studio будет обновляться файл app-debug.apk в папке проекта – можно перенести его в смартфон запустить и протестировать приложение – получиться тот же эмулятор!

Соответственно при каждом изменении кода приложения в Android Studio придется удалять приложение на смартфоне и заново перекидывать изменившийся файл app-debug.apk с папки проекта на смартфон и устанавливать его.

А теперь более подробно.

1. Запускаем приложение в Android Studio:
Для этого нужно кликнуть по зеленой иконке «Run» в панели инструментов и выбрать любой эмулятор.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Далее ждем обновления файлов проекта (“построение билда”):

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Файлы проекта обновились!

2. Заходим в папку проекта:

Путь к папке проекта мы указывали при создании проекта:

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Но если вы его не помните, то его можно увидеть в левом верхнем углу в Android Studio:

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

В моём примере путь до папки проекта – “C:\gimnrus”

Заходим в папку проекта, а далее по следующему пути app\build\outputs, там у вас будет файл app-debug.apk.

В моём примере полный путь до файла app-debug.apk следующий:
“C:\gimnrus\app\build\outputs\apk\app-debug.apk”

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

3. Переносим файл app-debug.apk на смартфон и устанавливаем приложение:

Далее подключаем смартфон через USB кабель к компьютеру и перекидываем файл app-debug.apk, а чтобы разъём для USB кабеля постоянно оставался рабочим и не засорялся нужно закрывать его заглушкой, если она у вас сломалась, то рекомендую приобрести её на сайте: novena.pro/shop/category/detali/zaglushki, здесь огромный выбор заглушек для телефонов.

После заходим в смартфон, с помощью приложения “Диспетчер файлов” (или аналогичного fileManager) и находите файл app-debug.apk и устанавливаете приложение.

4. Тестируете приложение, меняете код в Android Studio.

Источник

Злой дебаг. Исследуем и взламываем приложения для Android при помощи отладчика

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Содержание статьи

Предыдущие статьи про взлом приложений:

Строго говоря, это не то чтобы отдельный способ взлома, а скорее, способ разобраться в поведении приложения, чтобы найти его слабые места. Смысл здесь следующий: представь, что у тебя на руках семпл малвари. Ее код сильно обфусцирован, декомпилятор едва переваривает половину кода, и разобраться в ее работе почти невозможно. Тебе нужен способ проследить ее воркфлоу, разобраться в том, какая цепочка классов вызывается при возникновении определенных событий.

Во все времена лучший способ сделать это состоял в использовании отладчика. Но есть одна проблема: у тебя нет исходников, а без них отладчик мало полезен в твоем деле. Зато у тебя есть возможность декомпилировать приложение в Java (нередко только частично) или в достаточно высокоуровневый (в сравнении с машинным кодом) код smali, который всегда будет полностью корректным.

Так что в целом алгоритм твоих действий будет выглядеть так:

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Ни редакция, ни автор не несут ответственности за любой возможный вред, причиненный материалами данной статьи.

Флаг отладки

Android устроен таким образом, что не позволит подключиться с помощью отладчика к приложению, которое этого не хочет. А факт «хотения» определяется флагом отладки, который представляет собой простую строку в файле AndroidManifest.xml приложения.

Поэтому первое, что мы должны сделать, — это разобрать приложение, выставить флаг отладки в значение true и собрать обратно. Проще всего это сделать с помощью утилиты apktool. Просто натравливаем ее на подопытное приложение, и готово:

В текущем каталоге появится подкаталог app (ну или как назывался пакет с приложением).

Теперь приложение необходимо запаковать и подписать:

Утилиту sign можно найти на GitHub.

После этого приложение можно установить на устройство.

Декомпиляция и дизассемблирование

Дизассемблерный листинг приложения у нас уже есть, мы получили его, разобрав приложение с помощью apktool. Мы можем импортировать его в Android Studio и начать отладку. Но лучше все-таки попытаться получить исходники Java, гораздо более легкие в чтении.

Для этого приложение необходимо декомпилировать. Сделать это можно с помощью нескольких различных инструментов, но я предпочитаю использовать декомпилятор Jadx. Он хорошо переваривает код, имеет средства деобфускации и активно развивается.

Скачиваем Jadx, запускаем, выбираем apk-файл приложения. Откроется главное окно приложения. Слева будут пакеты, справа исходники. Лучше сразу проверить их корректность (действительно ли получился читаемый Java-код), а затем можно экспортировать их с помощью меню File → Save as gradle project.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа Декомпиляция приложения в Jadx

Продолжение доступно только участникам

Вариант 1. Присоединись к сообществу «Xakep.ru», чтобы читать все материалы на сайте

Членство в сообществе в течение указанного срока откроет тебе доступ ко ВСЕМ материалам «Хакера», позволит скачивать выпуски в PDF, отключит рекламу на сайте и увеличит личную накопительную скидку! Подробнее

Вариант 2. Открой один материал

Заинтересовала статья, но нет возможности стать членом клуба «Xakep.ru»? Тогда этот вариант для тебя! Обрати внимание: этот способ подходит только для статей, опубликованных более двух месяцев назад.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Евгений Зобнин

Редактор рубрики X-Mobile. По совместительству сисадмин. Большой фанат Linux, Plan 9, гаджетов и древних видеоигр.

Источник

Отладка приложений для Android без исходного кода на Java

О чем статья

В этой статье я сжато, без «воды», расскажу как отлаживать приложения для Android не имея их исходного кода на Java. Статья не совсем для новичков. Она пригодиться прежде всего тем кто более или менее понимает синтаксис Smali и имеет некоторый опыт в reversing engineering приложений для Android.

Инструменты

Нам понадобится Apk-tool 1.4.1 и NetBeans 6.8. Да-да, именно эти древние версии! С более новыми версиями отладка к сожалению «не заводится», о чем уже неоднократно упоминалось в различных обсуждениях (см. например тут и тут).

На установке подробно не останавливаюсь. NetBeans устанавливается по умолчанию, просто запускам инсталляцию и кликаем Next-Next-Next. Установка Apk-tools заключается в обычной распаковке файла apktool.jar в любую папку.

Также по ходу дела нам понадобится DDMS — он есть в Android SDK.

Отладка

В этом разделе дана пошаговая инструкция. Она писалась для Windows, но вероятно сработает и на Linux и Mac OS. Черновик этой инструкции на английском также есть у меня в блоге, но ссылку не дам, ибо правила. Эта инструкция более или менее повторяет оригинальную инструкцию с Apk-tool wiki, однако содержит некоторые дополнительные пункты, без которых отладка может «не завестись». В своё время у меня не заводилась, и я нашел эти дополнительные пункты методом усиленного гугления и «научного тыка». Надеюсь, теперь мой опыт кому-то сэкономит время.

Пожалуйста, следуйте инструкции в точности – это важно!

Подводные камни

Без подвоха тут конечно никак. Обычно всё идёт хорошо, строго по инструкции, аж до шага 13. А вот на шаге 13 люди часто ставят breakpoint в самом начале кода приложения: например в методе onCreate(. ) в activity с которой начинается выполнение приложения. Оно вроде бы и логично – если не совсем понятно откуда начинать отлаживать приложение, лучше начинать с самого начала. Однако в большинстве случаев дело не идёт. Отлаживаемое приложение работает себе как ни в чем не бывало, а подлый breakpoint в onCreate(. ) ни в какую не желает срабатывать.

Это происходит из-за того что мы подсоединяем отладчик к уже работающему приложению. Это значит код в начале приложения (например в том же методе onCreate в activity с которой начинается выполнение приложения) уже выполнился, и ставить на него breakpoint’ы как правило (хотя не всегда конечно) бесполезно. Более того, когда мы присоединяем отладчик к работающему приложению, оно не останавливается пока не сработает наш breakpoint или пока мы его сами не остановим – об этом моменте также стоит помнить.

В своей следующей статье я показываю трюк, который позволяет отлаживать Java приложения для Android без исходного кода с самого начала, т.е. именно с того самого первого метода onCreate(. ) (или даже конструктора) в activity с которой начинается выполнение приложения.

Если есть вопросы – пожалуйста задавайте их в комментариях или в личных сообщениях. Постараюсь ответить по-возможности оперативно, но если буду тупить – пожалуйста наберитесь терпения. Постараюсь ответить всем.

Источник

App debug apk что это за программа

Platform-tools: r31.0.3
ADB: 1.0.41 (31.0.3-7562133)
Fastboot: 31.0.3-7562133
Make_f2fs: 1.14.0 (2020-08-24)
Mke2fs: 1.46.2 (28-Feb-2021)
Последнее обновление утилит в шапке: 01.08.2021

Если что-то неправильно, то в списке подключенных устройств (List of devices attached) будет пусто.

adb push Копировать файл/папку PC->девайс.

adb pull [ ] Копировать файл/папку девайс->PC.

adb sync [ ] Копировать PC->девайс только новые файлы.
Ключи:
-l Не копировать, только создать список.

adb shell Запуск упрощенного unix shell.
Примеры использования

adb emu Послать команду в консоль эмулятора

adb install [-l] [-r] [-s] Послать приложение на устройство и установить его.
Пример: adb install c:/adb/app/autostarts.apk Установить файл autostarts.apk лежащий в папке /adb/app/ на диске с:
Ключи:
-l Блокировка приложения
-r Переустановить приложение, с сохранением данных
-s Установить приложение на карту памяти
Установка split apk

adb uninstall [-k] Удаление приложения с устройства.
Ключи:
-k Не удалять сохраненные данные приложения и пользователя.

adb wait-for-device Ждать подключения устройства.

adb start-server Запустить службу/демон.

adb kill-server Остановить службу/демон.

adb get-state Получить статус:
offline Выключен.
bootloader В режиме начальной загрузки.
device В режиме работы.

adb get-serialno Получить серийный номер.

adb status-window Непрерывный опрос состояния.

adb remount Перемонтировать для записи. Требуется для работы скриптов, которые изменяют данные на.

adb reboot bootloader Перезагрузка в режим bootloader.

adb reboot recovery Перезагрузка в режим recovery.

adb root Перезапуск демона с правами root

adb usb Перезапуск демона, прослушивающего USB.

adb tcpip Перезапуск демона, прослушивающего порт TCP.

adb ppp [параметры] Запуск службы через USB.
Note: you should not automatically start a PPP connection. refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
Параметры:
defaultroute debug dump local notty usepeerdns

fastboot erase Стереть раздел.
Разделы: boot, recovery, system, userdata, radio
Пример: fastboot erase userdata Стирание пользовательских данных.

fastboot update Прошивка из файла имя_файла.zip

fastboot flashall Прошивка boot + recovery + system.

fastboot getvar Показать переменные bootloader.
Пример: fastboot getvar version-bootloader Получить версию bootloader.

fastboot boot [ ] Скачать и загрузить kernel.

fastboot flash:raw boot [ ] Создать bootimage и прошить его.

fastboot devices Показать список подключенных устройств.

fastboot continue Продолжить с автозагрузкой.

fastboot reboot Перезагрузить аппарат.

f astboot reboot-bootloader Перезагрузить девайсв режим bootloader.
Перед командами fastboot можно использовать ключи:
-w стереть данные пользователя и кэш
-s Указать серийный номер устройства.
-p

Указать название устройства.
-c Переопределить kernel commandline.
-i Указать вручную USB vendor id.
-b Указать в ручную базовый адрес kernel.
-n

Указать размер страниц nand. по умолчанию 2048.

Пример ниже выводит в лог все сообщения с тэгом «ActivityManager» с приоритетом «Info» или выше, и сообщения с тэгом «MyApp» и приоритетом «Debug» или выше:
adb logcat ActivityManager:I MyApp:D *:S
Последний элемент в выражении фильтра *:S устанавливает приоритет «silent» для всех остальных тэгов, тем самым обеспечивая вывод сообщений только для «View» и «MyApp». Использование *:S – это отличный способ для вывода в лог только явно указанных фильтров (т.е. в выражении фильтра указывается «белый список» сообщений, а *:S отправляет все остальное в «черный список»).

При помощи следующего выражения фильтра отображаются все сообщения с приоритетом «warning» или выше для всех тэгов:
adb logcat *:W

Если logcat запускается на машине разработчика (не через удаленный adb shell), можно также установить значение выражения фильтра по умолчанию задав переменную окружения ANDROID_LOG_TAGS:
export ANDROID_LOG_TAGS=»ActivityManager:I MyApp:D *:S»

Следует обратить внимание что задав переменную окружения ANDROID_LOG_TAGS она не будет работать в эмуляторе/устройстве, если вы будете использовать logcat в удаленном shell или используя adb shell logcat.
Вышеописанная команда export работает в ОС *nix и не работает в Windows.

Контроль формата вывода лога

brief Показывать приоритет/тэг и PID процесса (формат по умолчанию).
process Показывать только PID.
tag Показывать только приоритет/тэг.
thread Показывать только процесс:поток и приоритет/тэг.
raw Показать необработанное сообщение, без полей метаданных.
time Показывать дату, время вызова, приоритет/тэг и PID процесса.
long Показывать все поля метаданных и отдельно сообщения с пустыми строками.

Источник

Декомпиляция и отладка Android-приложений

В статье будет рассказано о том, как подключить отладчик к Android-приложению и пошагово пройти через вызываемые методы, используя информацию, полученную после декомпиляции приложения.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

В статье будет рассказано о том, как подключить отладчик к Android-приложению и пошагово пройти через вызываемые методы, используя информацию, полученную после декомпиляции приложения. Хорошая новость в том, что для отладки не требуются привилегии суперпользователя. Описанные техники могут быть очень кстати во время пентестов мобильных приложений, поскольку мы можем «проникнуть» в код во время работы программы, получить и записать информацию, к которой обычно у нас нет доступа. Например, можно перехватить трафик перед шифрованием и на лету получить ключи, пароли и любую другую ценную информацию. Статья будет полезна пентестерам и разработчикам мобильных приложений, желающих получить более глубокие знания о возможных атаках на платформе Android.

Требования к тестовой среде:

В статье будет использоваться следующая конфигурация: Windows 8, Android Studio и IntelliJ IDEA. Устройство: Nexus 4 с Android версии 4.4.4. Рекомендую все утилиты добавить в переменную окружения PATH, чтобы облегчить и ускорить доступ к этим инструментам.

Android application package (APK), используемый в статье, можно скачать отсюда: com.netspi.egruber.test.apk.

Инструкция ниже поможет вам подготовить устройство для экспериментов.

Активация раздела Developer Options

Для начала на Android-устройстве должна быть разрешена отладка через USB (опция USB debugging), что позволит «общаться» с девайсом при помощи инструментов из набора Android SDK. Однако перед этим необходимо активировать раздел Developer options. На устройстве зайдите в раздел Settings > About Phone и кликните несколько раз на пункт Build Number, после чего должно появиться сообщение о том, что раздел Developer options активирован.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 1: Для того чтобы активировать раздел Developer options, необходимо несколько раз кликнуть на Build number

Разрешение отладки через USB

Чтобы разрешить отладку через USB-порт, зайдите в раздел Settings > Developer options и отметьте флажок напротив USB debugging.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 2: Включение опции USB debugging

Подключение устройства и запуск ADB

После подключение устройства к компьютеру через USB-порт, должно появиться сообщение «USB debugging connected on the device». Также следует проверить, можно ли подключиться к устройству при помощи приложения Android Debug Bridge (ADB), входящего в состав Android SDK (пакет Android SDK Platform-tools). В командной строке введите следующую команду:

Устройство должно отобразиться в списке.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 3: Список подключенных устройств

Если устройство не отобразилось в списке, то наиболее вероятная причина в некорректно установленных драйверах (в Windows). В зависимости от устройства драйвер можно найти либо в Android SDK, либо на сайте производителя.

Проверка приложения на возможность отладки

Перед отладкой Android-приложений вначале необходимо проверить, есть ли такая возможность. Проверку можно выполнить несколькими способами.

Первый способ – запустить Android Device Monitor, входящий в состав Android SDK (в папке tools). В Windows файл называется monitor.bat. При открытии Android Device Monitor устройство отобразится в разделе Devices.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 4: Приложение Android Device Monitor

Если какое-либо приложение на устройстве можно отлаживать, это приложение также отобразится в списке. Я создал тестовую программу, но список пуст, поскольку программу отлаживать нельзя.

Второй способ проверить приложение на возможность отладки – исследовать файл AndroidManifest.xml из пакета приложения (APK, Android application package). APK представляет собой zip-архив, содержащий всю информацию, необходимую для запуска приложения на Android-устройстве.

Всякий раз, когда приложения загружается из Google Play Store, также загружается и пакет приложения. Все загруженные APK-файлы обычно хранятся на устройстве в папке /data/app. Если у вас нет прав суперпользователя, вы не сможете получить список файлов из директории /data/app. Хотя, если вы знаете имя APK-файла, можете скопировать его при помощи утилиты adb. Чтобы узнать имя APK-файла, введите следующую команду:

Появится командная строка устройства. Затем введите следующую команду:

Отобразится список всех пакетов на устройстве.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 5: Перечень пакетов на устройстве

Глядя на список, находим тестовое приложение.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 6: Пакет созданного тестового приложения (выделено белым)

Теперь необходимо скопировать файл пакета. Открываем шелл и вводим следующую команду:

adb pull /data/app/[.apk file] [location]

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 7: Копируем APK-файл с устройства в систему

Теперь нужно открыть файл пакета и исследовать содержимое AndroidManifest.xml. К сожалению, мы не можем просто так распаковать архив, поскольку APK-файл закодирован в бинарном формате. Для раскодировки чаще всего используется утилита apktool, хотя я использую APK Studio, поскольку у этого приложения дружелюбный графический интерфейс. Далее в статье будет рассказываться об APK Studio.

В APK Studio кликните на маленькую зеленую иконку, задайте имя проекту и укажите путь к APK файлу. Затем укажите пусть для сохранения проекта.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 8: Создание нового проекта в APK Studio

После открытия APK выберите файл AndroidManifest.xml и посмотрите параметры тега application. Если флаг android:debuggable отсутствует (или присутствует, но установлено значение false), значит, приложение отлаживать нельзя.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 9: Содержимое файла AndroidManifest.xml

Модификация файла AndroidManifest.xml

При помощи утилиты apktool или APK Studio мы можем модифицировать файлы и упаковывать содержимое обратно в пакет. Сейчас мы изменим файл AndroidManifest.xml так, чтобы приложение можно было отлаживать. Добавляем внутрь тега application строчку android:debuggable=»true».

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 10: Изменяем содержимое тега application

После добавления флага кликаем на иконку «молоток» и заново собираем пакет. Пересобранный пакет будет находиться в директории build/apk.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 11: Повторная сборка пакета завершилась успешно

После пересборки пакет подписывается и его можно заново установить на устройстве (все Android-приложения должны быть подписаны). Большинство приложений не проверяет сертификат, при помощи которого происходит подпись. В противном случае необходимо изменить код, выполняющий эту проверку.

Теперь нужно установить пересобранный пакет. Вначале удаляем старое приложение при помощи следующей команды:

adb pm uninstall[package name]

Затем устанавливаем новый пакет:

adb install [.apk file]

Также можно удалить и установить пакет одной командой:

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 12: Установка пересобранного пакета

Проверьте, чтобы переустановленное приложение корректно запускалось на устройстве. Если все работает, переходим обратно в Android Device Monitor, где должно появиться тестовое приложение.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 13: Теперь пересобранное приложение можно отлаживать

Настройка среды разработки (IDE)

Теперь к пересобранному приложению можно подцепить отладчик, но вначале нужно создать проект в среде разработки (в статье используется IntelliJ IDEA). Создаем новый проект. В поле Application name указываем произвольное имя. В поле Package name указываем имя, в точности совпадающее с иерархией папок пересобранного пакета.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 14: Создание нового проекта в IntelliJ IDEA

Обычно имя APK-файла совпадает со структурой папок, хотя, если вы не уверены, в APK Studio проверьте иерархию директорий до папки, где находятся файлы приложений. В моем случае имя и структура папок полностью совпадают (com.netspi.egruber.test).

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 15: Иерархия директорий тестового приложения

Снимите флажок «Create Hello World Activity» и завершите создание проекта (все остальные параметры остаются по умолчанию). Новый проект должен выглядеть примерно так:

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 16: Иерархия папок и файлов нового проекта

После создания проекта нужно добавить исходный код из APK-файла для того, чтобы отладчик «знал» имена символов, методов, переменных и т. д. Хорошая новость в том, что Android-приложения можно декомпилировать практически без потери качества (исходный код будет совпадать с оригиналом). После декомпиляции исходный текст импортируется в среду разработки (IDE).

Получение исходных текстов из пакета приложения

Для начала необходимо преобразовать APK в jar-файл. Затем мы при помощи java-декомпилятора получим исходный текст приложения. Преобразование в jar будем делать при помощи утилиты dex2jar. У dex2jar есть файл d2j-dex2jar.bat, используемый для конвертирования APK в jar. Синтаксис команды довольно прост:

d2j-dex2jar.bat [.apk file]

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 17: Преобразование APK в jar

Затем открываем или перетаскиваем полученный файл в JD-GUI (это java-декомпилятор).

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 18: Структура jar-файла

Jar-файл должен отобразиться в виде иерархической структуры, внутри которой находятся java-файлы с читабельным исходным кодом. Заходим в File > Save All Sources, чтобы упаковать все исходные тексты в zip-архив.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 19: Сохранение исходных текстов декомпилированного файла

После сохранения исходных текстов распаковываем архив в отдельную директорию.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 20: Распакованный архив

Теперь нужно импортировать обе директории в созданный ранее проект в IDE. В IntelliJ заходим в папку src и копируем туда содержимое распакованного архива (две директории).

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 21: Обе папки скопированы в директорию src

Возвращаясь в Intellij, видим обновленный проект.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 22: В проекте появились исходные тексты

Если мы кликнем на какой-нибудь элемент из списка, то увидим исходный текст. Как видно на скриншоте ниже (исходный текст класса LoginActivity), исходный код обфусцирован при помощи ProGuard.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 23: Обфусцированный исходный текст класса LoginActivity

Теперь, когда в проекте появились исходные тексты, мы можем начать устанавливать точки останова на методах и переменных. По достижению точек останова приложение будет останавливаться. В качестве примера я установил точку останова на методе (прямо в обфусцированном коде), отвечающим за обработку информации, введенной в текстовом поле.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 24: Поставлена точка останова на обфусцированный метод

Как только появилась точка останова, подключаем отладчик к процессу на устройстве, кликнув на иконку с экраном в правом верхнем углу (на вашей IDE иконка может отличаться).

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 25: Подключаем отладчик к процессу

Далее вам будет предложено выбрать процесс, к которому нужно подключиться. Будут отображены только процессы с флагом android:debuggable=»true».

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 26: Перечень процессов для подключения отладчика

После выбора процесса отладчик подсоединится к устройству.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 27: Отладчик подключен к процессу, запущенному на устройстве

В текстовое поле я буду вводить число 42 (если помните, на соответствующем методе стоит точка останова).

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 28: В текстовое поле вводим число 42

После нажатия на кнопку «Enter Code» выполнение приложения прервется на точке останова, поскольку отладчик «осведомлен», какой метод вызывается на устройстве. Скомпилированное Android-приложение содержит отладочную информацию (например, имена переменных), доступную любому отладчику, совместимому с Java Debug Wire Protocol (JDWP). Если в приложении разрешена отладка, отладчик, совместимый с JDWP (в эту категорию попадает большинство отладчиков идущих в составе сред разработки для Java), сможет подсоединиться к виртуальной машине Android-приложения, а затем считывать и выполнять отладочные команды.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 29: Сработала точка останова

На скриншоте ниже видно число, которое ранее мы ввели в текстовом поле.

App debug apk что это за программа. Смотреть фото App debug apk что это за программа. Смотреть картинку App debug apk что это за программа. Картинка про App debug apk что это за программа. Фото App debug apk что это за программа

Рисунок 30: Перечень переменных текущего экземпляра класса

Мы можем не только считывать данные в приложении, но и вставлять свои собственные. Это может быть полезно, если мы, например, захотим прервать поток выполнения кода и обойти некоторые участки алгоритма. При помощи отладчика мы можем лучше понять логику работы приложения и проанализировать то, что недоступно обычному пользователю. Например, может оказаться очень полезным просмотр используемых функций шифрования и динамические ключи. Кроме того, иногда при отладке полезно знать, как функции взаимодействуют с файловой системой или базой данных, чтобы понять какая информация сохраняется приложением. Подобные манипуляции доступны на любом Android-устройстве без привилегий суперпользователя.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *