Инструкция AndroidSoft

Как проверить APK-файл: пакет, версия, SHA-256 и подпись

Как убедиться, что скачанный APK — именно заявленное приложение и версия: имя пакета, код версии, контрольная сумма SHA-256 и сертификат подписи.

Короткий ответ: скачанный APK можно проверить по четырём признакам: имя пакета, код версии, контрольная сумма SHA-256 и сертификат подписи. Если совпадают пакет, версия и SHA-256, а криптографическая подпись корректна и сертификат совпадает с доверенным ключом разработчика, это подтверждает идентичность проверяемой сборки — но не гарантирует отсутствие вредоносного поведения.

Коротко

  • Имя пакета (например, com.whatsapp) показывает, какое это приложение.
  • Код версии — внутренний номер сборки, по нему видно, какая это версия.
  • SHA-256 файла меняется при изменении хотя бы одного байта.
  • Сертификат подписи показывает, кто выпустил файл.
  • Эти проверки подтверждают происхождение и целостность файла, но не оценивают поведение приложения. Для этого нужна отдельная антивирусная проверка.

Пошагово на компьютере

  1. Посчитайте SHA-256. В Windows: certutil -hashfile файл.apk SHA256. В Linux: sha256sum файл.apk. В macOS: shasum -a 256 файл.apk.
  2. Сравните сумму с опубликованной у источника или у разработчика. Суммы должны совпасть полностью, все 64 символа.
  3. Посмотрите пакет и версию. Команда aapt2 dump badging файл.apk из Android SDK выведет строку с name (имя пакета), versionCode и versionName.
  4. Проверьте подпись. Команда apksigner verify --print-certs файл.apk подтвердит, что подпись цела, и покажет отпечаток сертификата. Сравните его с отпечатком версии, которой доверяете.

Пошагово на телефоне

  1. Имя пакета и версия видны после установки в «Настройки → Приложения → название приложения» или в приложениях для просмотра информации о пакетах.
  2. Контрольную сумму умеют считать некоторые файловые менеджеры: ищите пункт «Свойства» или «Контрольная сумма».
  3. Подпись Android проверяет сам при установке: повреждённый или изменённый после подписи файл он не установит. Сравнить сертификат с прошлой версией удобнее на компьютере.

Что означают несовпадения

  • Другое имя пакета — это другое приложение, даже если название и иконка похожи.
  • Другой код версии — файл не той версии, которая заявлена.
  • Другая SHA-256 при том же пакете и версии — файл изменён или это другой вариант сборки, например под другую архитектуру. Сверяйте сумму именно того варианта, который скачали.
  • Другой сертификат — файл подписал не тот, кто подписывал прошлые версии. Такой файл не встанет поверх установленного приложения.

Как это выглядит на AndroidSoft

AndroidSoft проверяет фактически полученный APK: сверяет имя пакета, версию, SHA-256 и подпись. Для прошедшего проверку файла доступна подтверждённая копия во внешнем хранилище. В блоке «Проверка файла AndroidSoft» указаны данные, которые можно сравнить со скачанным файлом. При отсутствии подходящего подтверждённого файла сайт покажет ожидание либо отказ. Проверка не заменяет антивирусный анализ и не гарантирует отсутствие вредоносного поведения.

Если пакет или версия не совпали с заявленными, скачивание файла на AndroidSoft остановлено; если сертификат отличается от ранее проверенных версий, файл уходит на повторную проверку. Сертификат читается из файла, криптографическая проверка подписи пока не выполняется. Проверка AndroidSoft не является антивирусной и не гарантирует безопасность приложения.

Вопросы и ответы

Хватит ли одной SHA-256?

Только если сумму опубликовал источник, которому вы доверяете. Надёжнее вместе с ней проверить сертификат подписи.

Нужно ли проверять XAPK?

Да, так же: сумма считается для всего архива, а пакет, версия и подпись — для основного APK внутри.

Можно ли проверить файл онлайн?

Онлайн-сканеры проверяют файл антивирусами. Это другой вид проверки и полезное дополнение к сверке пакета, версии и подписи.