В связи с растущим спросом на исследования по интеграции SDK в приложения APK, становится необходимым реализовать функцию автоматического обнаружения интеграции SDK в пакетах APK. Поэтому автор создал проект SDK-Analysis, целью которого является автоматизация процесса декомпиляции пакетов APK и поиск интеграции требуемых SDK.
На данный момент поддерживается обнаружение 8 семейств SDK: Umeng, ShuziLM, KuaiKan, Jianshu, Mob, TalkingData, WangYi, YGShield. Конкретные шаги включают:
После загрузки кода на локальный компьютер:
Поместите файл APK для анализа в каталог проекта APK. Проект поддерживает анализ нескольких файлов APK одновременно.
Настройте путь к файлу в соответствии с вашей ситуацией. В этом примере используется следующий путь:
# Путь к файлу APK для анализа
pathsour = 'D:\\MyProgects\\Python\\SdkAnalysis\\apk\\'
# baksmali.jar
baksmali = 'D:\\MyProgects\\Python\\SdkAnalysis\\baksmali.jar'
reportPath = "D:\\MyProgects\\Python\SdkAnalysis\\logout\\UmengSDKReport.txt"
# Характеристики SDK
# Umeng
umengStr = "com.umeng"
# KuaiKan
JAnalyStr = "JAnalyticsInterface" # Статистический интерфейс KuaiKan
JPushStr = "JPushInterface" # Интерфейс отправки сообщений KuaiKan
JMessageStr = "JMessageClient" # Клиент KuaiKan для обмена мгновенными сообщениями
JShareStr = "JShareInterface" # Интерфейс обмена KuaiKan
# Jianshu
GTStr = "getui"
GTStr_1 = "GTIntentService"
GTStr_2 = "GetuiPushService"
# Количество
GSStr_1 = 'GsManager '
GSStr_2 = 'GsConfig '
# Изображение
GI = 'GInsightManager '
# TalkingData
TalkingDataStr = "TCAgent"
# Mob
MobSDKStr = "MobSDK"
# ShuziLM
DUSDKStr = "cn\shuzilm\core"
# SmAntiFraud
SMSDKStr = "SmAntiFraud"
# YGShield
YGSDKStr = "AnalysysAgent"
# WangYi
WANGYIStr = "watchman"
Обратите внимание, что после анализа было обнаружено, что SDK для отправки и получения сообщений отличаются от большинства других аналитических SDK тем, что они просто реализуют простые функции отправки и приёма. Большинство других SDK обладают более широкими возможностями сбора данных, поэтому для KuaiKan и Jianshu SDK была проведена дифференциация.
Теперь мы можем начать процесс анализа APK. Запускаем проект.
Отчёт о результатах анализа организован по каждому SDK. Он выводит имя пакета приложения, которое интегрирует соответствующий SDK, что позволяет легко определить, какие APK интегрируют каждый из SDK.
Путь к отчёту в проекте выглядит следующим образом:
Например, отчёт JGSDKReport имеет следующую структуру:
<========================== Интеграция KuaiKan SDK ===========================>
Имя приложения ====> com.kuaikan.comic_5.40.0_540000 Интеграция JPush SDK
Имя приложения ====> com.kuaikan.comic_5.40.0_540000 Интеграция JAnalytic SDK
Содержание включает имя приложения и имя интегрированного SDK. Вы можете настроить формат вывода в соответствии со своими потребностями.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )