Dev.to Security 🔐 Cybersecurity 👁 0 📖 3 min read

Como verificar um APK antes de instalar: SHA-256, pacote e tamanho (guia prático)

Instalar APK fora da Play Store é comum — em TV Box, então, é quase o padrão. O problema: o mesmo app aparece em dezenas de sites, com tamanhos diferentes e "versões" que não batem. Como saber se o arquivo que você baixo

Instalar APK fora da Play Store é comum — em TV Box, então, é quase o padrão. O problema: o mesmo app aparece em dezenas de sites, com tamanhos diferentes e "versões" que não batem. Como saber se o arquivo que você baixou é o app de verdade, e não uma cópia modificada?

Neste guia, o fluxo de verificação em 3 camadas que uso na prática: hash SHA-256, nome do pacote e tamanho do arquivo. No fim, um exemplo real — com um caso em que o hash desmascarou um rótulo de versão falso.

1. SHA-256: a impressão digital do arquivo

O SHA-256 gera uma sequência de 64 caracteres a partir do conteúdo exato do arquivo. Se um único byte mudar, o hash muda por completo. É por isso que ele serve como prova: quem publica o hash de um arquivo está dizendo "é exatamente este arquivo".

No Windows (PowerShell):

Get-FileHash .\app.apk -Algorithm SHA256

No Mac/Linux:

shasum -a 256 app.apk
# ou
sha256sum app.apk

No próprio Android: apps de gerenciador de arquivos e utilitários de hash mostram o SHA-256 nas propriedades do arquivo.

Depois é só comparar: o hash calculado precisa ser idêntico, caractere por caractere, ao publicado pela fonte. Se a fonte não publica hash nenhum, você não tem como conferir — e isso já é uma informação importante sobre a fonte.

2. Nome do pacote: a identidade do app

Dois apps diferentes podem ter o mesmo nome de exibição, mas nunca o mesmo nome de pacote instalado ao mesmo tempo. Para conferir o pacote de um APK:

# com o Android SDK build-tools instalado
aapt dump badging app.apk | grep package

A saída mostra algo como package: name='com.world.youcinemobile' versionCode='11544' versionName='1.16.8'. De quebra, você lê a versão real do arquivo — que pode não ser a que o site anunciava (já chego lá).

3. Tamanho exato em bytes

Hash é a prova forte; o tamanho é o sinal rápido. Se a fonte declara 37,97 MB e o seu download tem 12 MB (ou 150 KB — já vi acontecer quando uma página de verificação de navegador é salva no lugar do arquivo), pare antes de instalar. Confira o tamanho nas propriedades do arquivo e compare com o declarado.

Exemplo real: um arquivo, "três versões"

Em outubro de 2026, verificando o APK do YouCine (app de streaming distribuído fora de lojas), encontrei o seguinte:

  • Nossa cópia verificada: versão 1.16.8, pacote com.world.youcinemobile, 37.975.014 bytes, SHA-256 71835cbdd125cd3f13fba2511a2bde9a704c4e3f3795a37b892adf6d0bc8c834.
  • Um site concorrente oferecia o arquivo como "1.17.9", anunciando "~36,2 MB" — mas o SHA-256 publicado por ele era exatamente o mesmo da nossa 1.16.8.
  • Outro site anunciava "1.17.29" com 48,4 MB, sem hash publicado.

Ou seja: o número de versão nos sites de APK é, muitas vezes, só um rótulo. O hash não mente — e quando ele não é publicado, não há verificação possível.

Checklist rápido (antes de instalar qualquer APK)

  1. A fonte publica SHA-256, tamanho exato e pacote? Se não, risco maior.
  2. Calcule o hash do seu download e compare caractere por caractere.
  3. Confira o nome do pacote com aapt ou um visualizador de APK.
  4. Tamanho do arquivo bate com o declarado (em bytes, não "aproximado")?
  5. Desconfie de "versões" muito à frente das que outras fontes mostram.

Quem mantém os dados completos e atualizados de um app específico (versão, hash, pacote) facilita a sua vida: no caso do YouCine, mantemos essa ficha na página da última versão verificada, e o racional de segurança está detalhado no guia de segurança do APK.

Verificar leva dois minutos. Instalar um arquivo modificado pode custar bem mais caro que isso.

📰 Read the original article on Dev.to Security

Originally published by Dev.to Security. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.