Дом Securitywatch Rsac: обратный инжиниринг приложения для Android за пять минут

Rsac: обратный инжиниринг приложения для Android за пять минут

Видео: 017 ENG HTML and CSS Use the meta tag and the charset utf 8 to display characters like ñ (Октября 2024)

Видео: 017 ENG HTML and CSS Use the meta tag and the charset utf 8 to display characters like ñ (Октября 2024)
Anonim

Одна из самых распространенных тактик распространения вредоносных программ - или даже просто вредоносных приложений - на Android - это переупаковка приложений. Во время презентации на конференции RSA Пау Олива Фора из viaForensics продемонстрировала, что для обратного инжиниринга приложений Android требуется всего несколько минут.

Получение вашего приложения

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

Есть несколько способов получить APK. Если у вас есть приложение, которое вы хотите перепроектировать на своем Android, вы можете использовать файловый менеджер, такой как ASTRO, чтобы сохранить резервную копию на SD-карту. Также возможно подключить ваш Android к компьютеру, а затем использовать Android Debugging Bridge для переноса приложения на ваш компьютер. Вы также можете использовать онлайн-инструменты для удаления APK из Google Play.

Потянув его на части

Когда у вас есть APK для работы, вам нужно будет преобразовать его во что-то более удобное. Для этого Фора представил два варианта. Вы можете разобрать вашу цель с помощью такого инструмента, как Apktool, который преобразует файл скомпилированного кода приложения APK (исполняемый файл Dalvik или DEX) в язык ассемблера, такой как Smali. Или вы можете декомпилировать , что преобразует DEX в архив Java (JAR), а затем в Java.

Фора отметил, что, поскольку некоторые данные могут быть потеряны в процессе декомпиляции, лучше использовать декомпилятор, созданный для Android. Это пропускает шаг JAR, преобразовывая DEX непосредственно в Java.

Для людей, не заинтересованных в поиске всех этих инструментов самостоятельно, Фора предложил Сантоку. Это специальный дистрибутив Linux от viaForensics, в который предварительно загружены все инструменты, необходимые для разборки, модификации и перепаковки приложения Android. Это мощный инструмент цифровой криминалистики, о котором мы писали в прошлом.

Быстрый реверс

Если вы заснули в течение последних нескольких параграфов, это то место, где вы просыпаетесь. Используя Сантоку, Фора взял очень простое приложение для Android, которое он создал, и разобрал его на части. Затем он просмотрел код для конкретной строки, изменил код, переупаковал его, подписал, переустановил измененное приложение на свой Android и запустил. Весь процесс занял менее пяти минут.

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

Более страшный пример? Просто вернитесь к любому из вредоносных приложений-клонов, которые мы видели. Подумайте об этом, прежде чем скачать этот отрывочный клон FlappyBird.

Rsac: обратный инжиниринг приложения для Android за пять минут