Есть надобность получать данные, которые приходят в приложение (.apk). Есть ли какой-нибудь способ хотя бы смотреть данные, которые приходят от сервера в приложение, возможно через какой-нибудь эмулятор или другой инструмент. Заранее спасибо.
Есть. Я использовал 3 способа:
1) Сниффер на Android.
https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture&hl=ru
Довольно примитивная (уровень TCP), но рабочая штука. HTTPS декодирует.
2) Сниффер на Windows, то есть Fiddler, + Genymotion.
Нужно только правильно настроить прокси в Genymotion. Fiddler поднимает локальный прокси на ПК, и Genymotion должен работать через него.
Fiddler более удобный, чем SSLCapture. Кроме того, для него можно писать плагины, упрощающие поиск данных и, так сказать, их использование в ваших проектах.
3) А если в приложении применен свой способ шифрования?
Тогда снифферы бессильны. И нужен весь арсенал из apktool, всевозможных декомпиляторов (для реального приложения - именно именно разных, а не какой-нибудь один и все), и дебага байт-кода с помощью Smalidea или старого apktool.
С нативом (JNI), как ни странно, тоже работал по полной: дизассемблирование - GDB и IDA, декомпиляция - IDA, дебаг без исходников - GDB и теоретически IDA (практически не хватило мощностей то ли моего ПК, то ли телефона, чтобы дождаться загрузки). Но напрямую из JNI обычно HTTP-запросов не отправляют.
P.S. Давно не занимаюсь темой, но имею написанные мной мануалы на англ. языке и по JNI, и по Java. Публиковать их не хотел бы. Но на конкретный вопрос могу ответить в комментариях.
Спасибо большое за информацию, буду смотреть
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Допустим есть таблица пользователей, у которых есть два поля: месяц и год рожденияНеобходимо сделать выборку: показать пользователей в диапазоне...
Есть запрос
Пытаюсь из библиотеки boost использовать float128Подключаю так: