R0 CREW

Реверс Андроид приложения

Здравствуйте уважаемые члены сообщества. Мне необходима Ваша помощь и/или совет в одном деле. У меня есть Андроид приложение, которое взаемодействует с сервером. Моя задача понять по какому алгоритму происходит соединение и какие данные ему передаются и принимаются. Задача с алгоритмом понятна: нужно декомпилировать код, смонтировать в проект и дебаггером найти нужную часть кода, выстроить алгоритм. Но код оказался обфусцированным, а колличество классов переваливает за 500, плюс весь код нерабочий. Пытался деобфусцировать код, но это не помогло улучшить читаемость и код по прежнему не работает. Тоесть, задача из трудной превратилась в очень трудную. Понять какие данные передаются на сервер я решил путём перехвата пакетов с помощью WireShark, но процесс остановился, когда я увидел, что tcp пакеты зашифрованы. Нужна помощь знающих людей, а именно: как или что делать в сложившейся ситуации с кодом, как расшифровать пакеты? Возможно Вы предложите другой подход? Спасибо заранее:)

Какой инструментарий использовал для декомпиляции?

dex2jar

Что значит код по прежнему не работает? Если я правильно понял, вы декомпилировали apk в java source code. Собрать рабочий вариант из сорцов нельзя. Cорцы используют для чтения кода и не более.

Если вам нужна отладка, то отлаживать нужно smali-код.

Вот статья по настройке рабочей среды для отладки apk: http://www.programering.com/a/MjM5UTMwATg.html

Спасибо попробую.)

смаликод понятно, а как быть с трафиком? как его прослушать?

Можно и сорцы отлаживать, вечером будет статья.

UPD: Статья

А как пошифрованный трафик можно дешифровать? Восстанови алгоритм и дешифруй. Плагин для WireShark можно написать.

А есть что нибудь готовое просто для ssl? который к примеру юзает Apache или jabber

Androguard еще есть, декомпилит кстати очень толково.

Заюзать прокси реализующий атаку main-in-the-middle, вот один из примеров: http://blog.philippheckel.com/2013/08/04/use-sslsplit-to-transparently-sniff-tls-ssl-connections/

Предлагается ещё sslsnif (есть в репозитории убунты), вроде ssltrip. Да и вообще любой mitmproxy

Intercepter-NG тоже вроде должен уметь там всякое ловить.