Короткий ответ: скачанный APK можно проверить по четырём признакам: имя пакета, код версии, контрольная сумма SHA-256 и сертификат подписи. Если совпадают пакет, версия и SHA-256, а криптографическая подпись корректна и сертификат совпадает с доверенным ключом разработчика, это подтверждает идентичность проверяемой сборки — но не гарантирует отсутствие вредоносного поведения.
Коротко
- Имя пакета (например, com.whatsapp) показывает, какое это приложение.
- Код версии — внутренний номер сборки, по нему видно, какая это версия.
- SHA-256 файла меняется при изменении хотя бы одного байта.
- Сертификат подписи показывает, кто выпустил файл.
- Эти проверки подтверждают происхождение и целостность файла, но не оценивают поведение приложения. Для этого нужна отдельная антивирусная проверка.
Пошагово на компьютере
- Посчитайте SHA-256. В Windows:
certutil -hashfile файл.apk SHA256. В Linux:sha256sum файл.apk. В macOS:shasum -a 256 файл.apk. - Сравните сумму с опубликованной у источника или у разработчика. Суммы должны совпасть полностью, все 64 символа.
- Посмотрите пакет и версию. Команда
aapt2 dump badging файл.apkиз Android SDK выведет строку с name (имя пакета), versionCode и versionName. - Проверьте подпись. Команда
apksigner verify --print-certs файл.apkподтвердит, что подпись цела, и покажет отпечаток сертификата. Сравните его с отпечатком версии, которой доверяете.
Пошагово на телефоне
- Имя пакета и версия видны после установки в «Настройки → Приложения → название приложения» или в приложениях для просмотра информации о пакетах.
- Контрольную сумму умеют считать некоторые файловые менеджеры: ищите пункт «Свойства» или «Контрольная сумма».
- Подпись Android проверяет сам при установке: повреждённый или изменённый после подписи файл он не установит. Сравнить сертификат с прошлой версией удобнее на компьютере.
Что означают несовпадения
- Другое имя пакета — это другое приложение, даже если название и иконка похожи.
- Другой код версии — файл не той версии, которая заявлена.
- Другая SHA-256 при том же пакете и версии — файл изменён или это другой вариант сборки, например под другую архитектуру. Сверяйте сумму именно того варианта, который скачали.
- Другой сертификат — файл подписал не тот, кто подписывал прошлые версии. Такой файл не встанет поверх установленного приложения.
Как это выглядит на AndroidSoft
AndroidSoft проверяет фактически полученный APK: сверяет имя пакета, версию, SHA-256 и подпись. Для прошедшего проверку файла доступна подтверждённая копия во внешнем хранилище. В блоке «Проверка файла AndroidSoft» указаны данные, которые можно сравнить со скачанным файлом. При отсутствии подходящего подтверждённого файла сайт покажет ожидание либо отказ. Проверка не заменяет антивирусный анализ и не гарантирует отсутствие вредоносного поведения.
Если пакет или версия не совпали с заявленными, скачивание файла на AndroidSoft остановлено; если сертификат отличается от ранее проверенных версий, файл уходит на повторную проверку. Сертификат читается из файла, криптографическая проверка подписи пока не выполняется. Проверка AndroidSoft не является антивирусной и не гарантирует безопасность приложения.
Вопросы и ответы
Хватит ли одной SHA-256?
Только если сумму опубликовал источник, которому вы доверяете. Надёжнее вместе с ней проверить сертификат подписи.
Нужно ли проверять XAPK?
Да, так же: сумма считается для всего архива, а пакет, версия и подпись — для основного APK внутри.
Можно ли проверить файл онлайн?
Онлайн-сканеры проверяют файл антивирусами. Это другой вид проверки и полезное дополнение к сверке пакета, версии и подписи.