Serious Discussion Title: What Is the Best Way to Check an Android APK for Malware Before Installing It?

robertmax8

New Member
Hi everyone,

I sometimes come across Android APK files outside the Google Play Store, and I'm interested in learning how to check whether an APK is safe before installing it.

I know that downloading applications from unknown sources can be risky, but I'm curious about the best ways to identify potentially harmful APK files.

A few questions for the community:

  1. Which tools do you recommend for scanning APK files for malware?
  2. Is VirusTotal reliable enough for checking suspicious APKs?
  3. What warning signs should users look for before installing an APK?
  4. Can an APK appear clean in a scanner but still contain malicious code?
  5. Are there any additional precautions Android users should take?
I'd appreciate practical advice and recommendations based on your experience.

Thanks in advance!
 
Hi everyone, I sometimes come across Android APK files outside the Google Play Store, and I'm interested in learning how to check whether an APK is safe before installing it. I know that downloading applications from unknown sources can be risky, but I'm curious about the best ways to identify poten […]


Hi robertmax8 — the short answer is that no scanner can certify an APK as safe. The best assessment combines source provenance, signature verification, static scanning and—where justified—isolated dynamic testing.

A practical checking workflow​


  1. Start with the source
    • Prefer Google Play, the developer’s official website, or the project’s official release repository.
    • Avoid APKs delivered through advertisements, shortened links, unsolicited messages, “crack/mod” sites or fake update prompts.
    • If the developer publishes a SHA-256 hash, compare it with your file:
      Code:
      Windows: certutil -hashfile app.apk SHA256
      Linux:   sha256sum app.apk
      A matching hash proves you have the published file, not that the developer or app is trustworthy.
  2. Check the signing certificate
    Android SDK Build Tools includes apksigner:
    Code:
    apksigner verify --verbose --print-certs app.apk
    Compare the certificate fingerprint with a known-good version from the same distribution channel or a fingerprint published by the developer. Google documents the verification options here.

A valid signature only proves that the APK was not altered after its signer signed it. Anyone can sign an APK, so “signature valid” does not mean “publisher trustworthy.” A matching certificate is particularly useful when checking an update to an app you already trust.

3. Look up the hash on VirusTotal before uploading
If VirusTotal already knows the SHA-256 hash, you can inspect the existing report without submitting another copy. If it is unknown, upload it only if the APK is not private, confidential or an internal company build. Standard VirusTotal reports are shared with its community and analysis partners; Private Scanning is a separate service.

4. Review more than the detection count
On VirusTotal, examine:

  • Whether several independent engines agree on a specific malware family
  • The APK’s package name, signer and first-seen date
  • Requested permissions and exported components
  • Contacted domains and behavioral results, when available
  • Community comments cautiously—they are reports, not proof

One generic heuristic detection can be a false positive. Several consistent detections are much more concerning. Conversely, 0 detections is “nothing detected,” not “safe.”

5. For deeper inspection, use a local analysis tool
MobSF can perform static and dynamic Android analysis and report permissions, trackers, components, URLs, certificates and other indicators. JADX is also useful for inspecting decompiled code, although interpreting code correctly requires some Android knowledge. Obfuscation and native libraries can limit static analysis.

Warning signs​


The permissions should make sense for the app’s stated job. Be especially cautious if an ordinary app requests:

  • Accessibility access, which can read screen content and interact with other apps
  • Notification access, SMS or call-log access
  • Device administrator privileges
  • Permission to install other apps
  • VPN configuration or the ability to draw over other apps
  • Broad file access, contact access, microphone or camera access without a clear need
  • Exemption from battery optimisation immediately after installation

An instruction to disable Play Protect or manually “allow restricted settings” is a major warning sign unless you have independently verified the developer and the feature genuinely requires it. Android specifically restricts some sideloaded-app settings because accessibility access can expose sensitive information and control other apps; Google’s explanation is here.

Other warning signs include copied branding, a package name unrelated to the supposed developer, no credible release history, pressure to install immediately, requests for banking credentials, or an app that calls itself an “update” but comes from a message or website rather than the normal update channel.

Can malware scan clean?​


Absolutely. Common reasons include:

  • It is new and has not acquired signatures or reputation yet
  • Code or configuration is encrypted or heavily obfuscated
  • The APK downloads its real payload later
  • Malicious behaviour activates only after a delay, command from a server, particular location or account state
  • It detects emulators and behaves innocently in sandboxes
  • A legitimate-looking SDK or later update introduces the harmful behaviour
  • The “attack” relies on persuading the user to grant accessibility access or enter credentials rather than exploiting Android

A scan applies to that exact file at that time. It cannot guarantee what its servers or future updates will do.

Additional precautions​


  • Keep Android and its security updates current.
  • Leave Google Play Protect enabled. It checks apps from outside Google Play and may offer code-level analysis for an unfamiliar APK (Google’s description).
  • Grant only permissions that are necessary; deny questionable requests and see whether the app still works.
  • Turn off “Allow from this source” again after sideloading.
  • Obtain future updates from the same trusted channel.
  • Avoid random XAPK/APKS “installer” applications—the installer itself becomes another program you must trust.
  • For research, use a disposable emulator or spare device with no personal accounts, messages, SIM, password manager, banking apps or authenticators. Dynamic testing still cannot prove safety because malware can detect test environments.
  • If the app would handle banking, cryptocurrency, passwords, authentication codes or work data, a random third-party APK is simply not worth the gamble.

My practical rule: good provenance plus a matching signer is more valuable than a pretty 0/70 result. If the only evidence is “a stranger posted it and VirusTotal is green,” that is not an adequate basis for installing it on a personal phone.

Sources
 

Join the discussion

Write your reply below. You'll create a free account or log in before it's posted.

Recently browsing

Members who viewed this thread in the last 5 minutes

Back
Top