Как стать автором
Обновить
27
-3

Пользователь

Отправить сообщение

Погружение в Smali. До и После. Decompile-Change-Build

Время на прочтение6 мин
Количество просмотров2.2K

В этой статье я позволю себе немного отклониться от темы, непосредственно касающейся Smali. Сегодня немного о том, откуда приходит Smali и куда возвращается. Поговорим о разборке и сборке файлов APK.
Статья предназначена для людей, которые знают основы разработки приложений под OS Android. Кто считает себя "речным котиком" и "морским мурзиком" в этом деле может спокойно пропустить эту статью мимо глаз.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Погружение в Smali. Как выглядят Java и Kotlin со стороны

Время на прочтение6 мин
Количество просмотров3.3K

Эта статья для начинающих исследователей файлов APK. Хотя почему только для начинающих? Иногда стоит остановиться и разложить по полочкам то, что накопилось. И тогда можно найти логичное и простое объяснение тому, чего не понимал. Или увидеть то, чего раньше не замечал.

Читать далее
Всего голосов 11: ↑8 и ↓3+5
Комментарии2

Защита кода приложения Android. Когда хотели как лучше, а вышло не очень

Время на прочтение4 мин
Количество просмотров6.3K

В статье расскажу пару случаев из практики анализа защиты приложений Android. Имена и место событий изменены. Любые совпадения — случайность

Читать далее
Всего голосов 28: ↑25 и ↓3+22
Комментарии7

В помощь тем, кто погружается в Smali

Время на прочтение6 мин
Количество просмотров2.8K

Целевая аудитория этой статьи — люди, которые решили заняться исследованием .apk файлов, имеющие опыт разработки под Android и знакомые с основами синтаксиса Smali. Эта статья является оригинальной и ранее нигде не публиковалась. При копировании, прошу указывать ссылку на этот источник.

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

Мой стандартный хирургический набор, на сегодняшний день, состоит из таких инструментов:
apktool - для декомпиляции и сборки apk
jadx-gui - когда хочется получить код приложения (или, что чаще — часть кода) в виде Java.
Bytecode Viewer — когда хочется получить код в виде Java, используя разные декомпиляторы, что дает иногда весьма интересные результаты.
zipalign — утилита из состава Android Studio, предназначенная для выравнивания содержимого файлов, упакованных в .apk.
apksigner - утилита из состава Android Studio, предназначенная для подписи исследуемого файла, и успешного его запуска на устройстве.

средства автоматизации собственной разработки — накапливаются с опытом. Иногда возникает столько рутинной работы, типа заменить A на B во всех файлах, что руки опускаются. Но, мы не из тех, кто сдается. И поэтому, исключительно из-за своей лени пишем утилиты, которые, собственно и позволяют нам лениться ). Однако, для меня, основными инструментами все же являются: файловый менеджер с хорошо организованным внутрифайловым поиском ( я использую Krusader, потому что Ubuntu), и редактор с какой-никакой подсветкой синтаксиса (я использую Kate, потому что Ubuntu).

На основании своего опыта исследования классических .apk (когда программа написана на Java или Kotlin c UI на xml шаблонах), ответственно заявляю, что получить из оригинального .apk рабочий проект Android Studio МОЖНО! И я говорю далеко не про Hello World. Но и тут есть свои особенности. Все зависит от того, насколько автор программы позаботился о защите ее кода. По моим наблюдениям до 80% программ уровня ширпотреба не имеют никакой защиты кроме примитивной обфускации.

Однако, и в этом случае для получения рабочего проекта на Java, скорее всего придется потрудиться. Во-первых: многие куски кода придется дописывать самому — декомпиляторы очень часто не справляются, но честно пишут, там где не могут воспроизвести код. Во-вторых: необходимо будет восстанавливать ресурсы из десятичного индекса в их привычный для разработчика Android вид. В третьих: подби

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Кто сканирует Интернет. Время ковать железо

Время на прочтение6 мин
Количество просмотров11K
Не хочу отказываться от заголовка. Ведь он выполняет свою задачу – привлекает внимание. Искренне прошу не сердиться, если содержание статьи не оправдало ваших ожиданий. Время теперь такое. «Такие материалы», — говорили они «нужно размещать на форумах для любителей, а на Хабре только высокоинтеллектуальная IT публика рассказывает о том, чего вам и не понять никогда да и пытаться понимать не нужно». Однако, Слава Хабру! Он достаточно демократичен.

Что-то зацепила меня тема сетевой безопасности в части анализа сетевого трафика и обнаружения Несанкционированной Сетевой Активности (далее по тексту НСА).
Читать дальше →
Всего голосов 8: ↑6 и ↓2+4
Комментарии11

Кто сканирует Интернет. Продолжение следует

Время на прочтение4 мин
Количество просмотров12K
Всем привет! Прежде всего, хочу поблагодарить всех, кто участвовал в обсуждении моей первой статьи: «Кто сканирует Интернет и существует ли Австралия».

Публиковал статью без всякого умысла, просто поднял тему, которая так или иначе касается всех. Не только тех кто связан с ИТ, но и любого, чей сервер или ПК сидит на «реальных»(«белых») адресах Интернет.

Как я и предполагал, после публикации статьи, резко вырос «интерес» к IP-адресу на котором висит сборщик статистики. Многие, ради шутки, вставляли в URL сообщения, различные наборы символов и т.д. Так обнаружилось, что существуют и Австралия и Новая Зеландия. Да и много кто еще.

image

Читать дальше →
Всего голосов 18: ↑15 и ↓3+12
Комментарии17

Кто сканирует Интернет и существует ли Австралия

Время на прочтение4 мин
Количество просмотров58K
Любой, кто поднимал сайты знает, что стоит запустить веб-сервер, как на него начинают приходить запросы. Еще и DNS про него толком не знает, а в лог-файле ошибок httpd уже полно записей вроде таких:

image

Вот мне стало интересно, и я решил изучить этот вопрос поглубже. Как только появилось время, я написал парсер логов веб-сервера. Поскольку люблю наглядность, результаты поместил на карту.
И вот какая картина получилась:
Читать дальше →
Всего голосов 63: ↑55 и ↓8+47
Комментарии156

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность