1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/knight-li-SDK-Analysis

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
В этом репозитории не указан файл с открытой лицензией (LICENSE). При использовании обратитесь к конкретному описанию проекта и его зависимостям в коде.
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

SDK-Analysis

Введение

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

Поддерживаемые функции

На данный момент поддерживается обнаружение 8 семейств SDK: Umeng, ShuziLM, KuaiKan, Jianshu, Mob, TalkingData, WangYi, YGShield. Конкретные шаги включают:

  • Распаковку файла APK;
  • Декомпиляцию файла dex с помощью baksmali;
  • Поиск интеграции требуемого SDK и печать результатов.

Базовое использование

После загрузки кода на локальный компьютер:

  1. Поместите файл APK для анализа в каталог проекта APK. Проект поддерживает анализ нескольких файлов APK одновременно.

  2. Настройте путь к файлу в соответствии с вашей ситуацией. В этом примере используется следующий путь:

# Путь к файлу APK для анализа
pathsour = 'D:\\MyProgects\\Python\\SdkAnalysis\\apk\\'
# baksmali.jar
baksmali = 'D:\\MyProgects\\Python\\SdkAnalysis\\baksmali.jar'
  1. Настройте выходной путь в соответствии с вашими потребностями. В этом примере путь выглядит следующим образом:
reportPath = "D:\\MyProgects\\Python\SdkAnalysis\\logout\\UmengSDKReport.txt"
  1. Определите характеристики каждого искомого SDK:
# Характеристики 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. Вы можете настроить формат вывода в соответствии со своими потребностями.

Примечание

  • Из-за того, что baksmali может немного замедлить процесс распаковки, пожалуйста, проявите терпение;
  • После распаковки файлы могут быть большими, не забудьте своевременно очистить их.

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Автоматизация процесса декомпиляции APK-пакета и поиск в нём интеграции с интересующим SDK. Развернуть Свернуть
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/knight-li-SDK-Analysis.git
git@api.gitlife.ru:oschina-mirror/knight-li-SDK-Analysis.git
oschina-mirror
knight-li-SDK-Analysis
knight-li-SDK-Analysis
master