Installing applications from unknown sources (APKfiles) is one of the riskiest steps for the owner of an Android device. According to Kaspersky, in 2023, more than 30% of mobile threats were distributed through fake or modified APKs, masquerading as popular games, utilities, and even banking applications. The problem is that viruses in APK they can not only steal data, but also turn a smartphone into part of a botnet, mine cryptocurrency, or block the device with a ransom demand.
This article is not about paranoia, but about real risks. Even if you downloaded a file from a โreliableโ forum or through a Telegram channel, this does not guarantee its security. We will analyze 7 working methods of scanning โfrom online scanners to manual code analysisโand also tell you what signs should alert you even before downloading. Important: no single method provides 100% protection, but their combination reduces risks to a minimum.
Why the standard Google Play Protect scan does not save
Many users mistakenly believe that the built-in scanner Google Play Protect automatically blocks all threats. In practice, this works differently:
- ๐ Delayed database updates: Play Protect relies on virus signatures that are updated with a delay. New threats (so-called zero-day exploits) can remain undetected for weeks.
- ๐ฆ False triggering: The scanner often misses modified APKs (for example, hacked versions of paid applications) if they do not contain obvious malicious code.
- ๐ซ Limited analysis: Play Protect checks only installed applications, but does not scan APK files located in the device memory.
Moreover, according to research Check Point, 1 out of 5 malicious APKs passes Play Protect verification if attackers use code obfuscation techniques or dynamic payload loading. This means that even a โgreenโ status in Play Protect does not guarantee security.
โ ๏ธ Attention: If you have disabledGoogle Play Protectin the settings (for example, to save battery power), your device becomes even more vulnerable. To check its status, go toSettings โ Google โ Security โ Google Play Protect.
Method 1: Online APK scanners - quick check without installation
The easiest way to check APK is upload it to a specialized online service. These tools analyze the file for known viruses, trojans, and suspicious permissions. Here are the top 5 proven platforms:
| Service | Advantages | Disadvantages | Link (domain) |
|---|---|---|---|
| VirusTotal | Uses 70+ antivirus engines, shows detailed report | Files >128 MB are not scanned, queues are possible | virustotal.com |
| APKMirror Analyzer | Checks the integrity of the certificate, compares with the original from Google Play | Not all viruses are detected, there is no deep code analysis | apkmirror.com |
| MetaDefender | Scans for vulnerabilities (CVE), supports files up to 500 MB | Interface is overloaded, slow processing | metadefender.opswat.com |
| Koodous | Analyzes the behavior of APKs in the sandbox, looks for hidden payloads | Difficult for beginners, requires registration | koodous.com |
| AndroTotal | Specializes in Android, shows permissions and certificates | The virus database is updated less frequently than VirusTotal | andrototal.org |
How to use online scanners:
- Download the APK to your device (but do not install!).
- Go to the scanner website (for example, VirusTotal).
- Download the file or paste its hash (
SHA-256). - Wait for the report (usually 1-5 minutes).
โ ๏ธ Attention: Some online scanners may save downloaded files in their database. If the APK contains confidential information (for example, a beta version of a corporate application), use offline verification methods.
Method 2: Local antiviruses for Android - deep analysis
If online scanners provide only a superficial check, then full-fledged antivirus applications analyze APKs more deeply: they check behavior in the sandbox, monitor network activity and compare the code with threat databases. The best options:
- ๐ก๏ธ Bitdefender Mobile Security: Uses a cloud scanner with minimal load on the device Detects even modified APKs with changes. certificates.
- ๐ Kaspersky Internet Security: Checks files in real time, blocks phishing links in APK (for example, fake account login pages).
- ๐ Malwarebytes: Specializes in adware and spyware, removes hidden modules in APK.
- ๐ ESET Mobile Security: Analyzes APK permissions and warns about suspicious ones (for example, access to SMS or geolocation for no reason).
How to check an APK through an antivirus:
- Install one of the applications above (download only from Google Play!).
- Open the antivirus and select the "Scan files" or "Check storage" option.
- Specify the path to the APK (usually this is folder
DownloadorFiles). - Wait for the results. If the antivirus detects a threat, it will offer to delete the file.
Checked on VirusTotal (0 threats)
Local antivirus did not detect any viruses
The file was downloaded from official source (not torrent/forum)
APK permissions correspond to its functionality
The hash of the file matches the official one (if there is data)-->
Important: some antiviruses can false positive on modified APKs (for example, patched games). In this case, check the hash of the file with the original or check reviews on thematic forums (for example, 4PDA or XDA-Developers).
Method 3: Manually checking APK permissions and certificates
Even if the antivirus did not detect threats, you should do it yourself study what the APK requests and who signed it. You donโt need to be a programmer to do this - just a few tools are enough. permissions asks for the APK and who signed it. You don't need to be a programmer to do this - just a few tools are enough.
Step 1: View permissions
Use the application APK Analyzer (available on Google Play) or website APKMirror:
- Download the APK to APKMirror Analyzer.
- Go to the tab
Permissions. - Pay attention to suspicious permissions:
- ๐ฑ
READ_SMSorSEND_SMSโif this not a messenger or banking application. - ๐
ACCESS_FINE_LOCATIONโin games or utilities without geolocation functions. - ๐
REQUEST_INSTALL_PACKAGESโallows you to install other APKs without your knowledge.
- ๐ฑ
Step 2: Certificate verification
Fake APKs are often signed with unofficial certificates. To check:
- Use APKTool (for PC) or App Inspector (for Android).
- Extract information about the certificate from the section
META-INF. - Compare the certificate fingerprint (
SHA-1orSHA-256) with the official one (for example, on the developer's website). - ๐ป APKTool โ to decompile the APK into readable code.
- ๐ JADX โ to view Java code.
- ๐ Text Editor (for example, Notepad++ or VS Code) โ to search for suspicious strings.
An example of a dangerous permission
Permission android.permission.BIND_ACCESSIBILITY_SERVICE allows the application to read everything you enter on the screen (including passwords) and simulate pressing it frequently. use banking Trojans, for example Cerberus or Anubis.
If the APK requests permissions that do not correspond to its functionality (for example, a flashlight asks for access to contacts), this is a reason to refuse installation. For comparison: the original Google Maps requests 12 permissions, and the fake version may require. 20+.
Method 4: APK code analysis (for advanced users)
If you are ready to delve into technical details, you can check the APK for malicious code manually. To do this you will need:
Instructions:
- Decompile the APK from using APKTool:
apktool d your_app.apk -o output_folder - Open the folder
output_folder/smaliand look for suspicious classes:- ๐ต๏ธ Classes with names like
Bot,Injector,Root. - ๐ Methods that send data to remote servers (look for
HttpURLConnectionorOkHttpClient). - ๐ฑ Calling system commands via
Runtime.exec().
- ๐ต๏ธ Classes with names like
AndroidManifest.xml for hidden services or receivers.โ ๏ธ Attention: This method requires knowledge of Java/Kotlin and Android architecture. If you are not confident in your abilities, it is better to use online scanners or antivirus apps. An error in the analysis can lead to missing a real threat.
Look in the APK code for lines with IP addresses or domains that do not belong to the official application servers. For example, if a domain Telegram domain occurs api.telegram.orgoccurs in the code, this is normal. And if there are links to some-random-server[.]xyz this is a reason to be wary.
Method 5: Checking the reputation of the APK source
Often the danger lies not in the file itself, but in that where did you download it from. Here are the red flags that should alert you:
- ๐ฉ Forums and torrents: Files from Rutracker, The Pirate Bay or similar sites in 80% of cases contain modified code (even if it is a โcleanโ version).
- ๐ฅ Unofficial "mirrors": Sites like
apkpure.comorapkmody.iooften distribute pirated or infected versions of popular applications. - ๐ฌ Telegram channels: Channels with โhackedโ games (Mod APK) almost always add advertising SDKs or spyware modules to the code.
- ๐ง Attachments in letters/messages: APKs sent by email or in instant messengers are 99% likely to be phishing.
Safe APK sources:
- โ
Official website of the developer (for example,
signal.orgfor Signal). - โ APKMirror - checks the integrity of files and certificates.
- โ F-Droid โa repository of open source software with verified code.
- โ GitHub (official developer repositories only).
Before downloading, check:
- Whether the hash (
SHA-256) of the file matches the official one (if it published). - Does the source have an SSL certificate (the address must start with
https://). - When the file was downloaded - a recent version or an outdated one (attackers often distribute old versions with vulnerabilities).
Even if the source seems reliable, always cross the data: check the hash file, compare the size with the official version and read reviews on independent sites (for example, Reddit).
Method 6: Sandbox for testing APK
If you are not sure about the security of the APK, but really want to install it, use sandbox โan isolated environment where you can run the application without risk to the main system. Options: Sandbox: Virtual devices for testing. Minus - require a PC. data-i="195">Cloud sandboxes
- ๐ฅ๏ธ Genymotion or Android Studio Emulator: Virtual devices for testing. The downside is that they require a PC.
- ๐ฑ Shelter or Island: Applications for creating an isolated profile on Android (work via
Work Profile). - โ๏ธ Cloud sandboxes: Services like Any.Run or Joe Sandbox allow you to download an APK and see its behavior in real time.
How to test in a sandbox:
- Install the APK in an isolated environment (for example, via Island).
- Launch the application and observe its behavior:
- ๐ค Does it send data to the network (use NetGuard or PCAPdroid to monitor traffic).
- ๐ Does it ask for unexpected permissions after installation.
- ๐ฑ Does it cause suspicious activity (for example, spontaneous opening of the browser).
โ ๏ธ Attention: Some viruses are not activated immediately, but after a few days or after rebooting the device. The sandbox does not provide a 100% guarantee, but it reduces the risks.
Method 7: Monitoring behavior after installation
Even if the APK has passed all checks, monitor its operation after installation. Signs of infection:
- ๐ Increased battery consumption: Viruses often mine cryptocurrency or send data in the background.
- ๐ถ Unusual traffic: The application transmits data even though you are not using it (check it). c
Settings โ Mobile network โ Traffic usage). - ๐ฑ Self-launch: APK opens without your participation or unknown notifications appear.
- ๐ฐ Money debits: Unexpected payments or SMS to short numbers.
- ๐ Device blocking: Requiring payment for โunlockingโ is a sign of a ransomware (ransomware).
Tools for monitoring:
- ๐ก๏ธ GlassWire โmonitors the network activity of applications.
- ๐ Battery Historian โanalyzes battery consumption.
- ๐ aLogcat โshows system logs (look for suspicious entries from your APK).
If you notice something from this list:
- Uninstall the application immediately.
- Scan your device with an antivirus (Malwarebytes or Dr.Web).
- Change passwords for important accounts (especially if the APK had access to the browser or keyboard).
- If you suspect ransomware, disconnect the device from the network and contact antivirus support.
If an APK requests access to Accessibility Service (special features), this is almost always a sign of malware. Such applications can intercept keyboard input, take screenshots and simulate clicks.
FAQ: Frequently asked questions. about checking APK for viruses
Can you trust an APK from the developer's website if it is not on Google Play?
Yes, but with reservations. Some developers (for example, F-Droid, Signal) distribute the APK through their website Before installation:
- Check if the website domain matches the official one (for example,
signal.orgrather thansignal-apk[.]com). - Compare the hash of the file with that published on the site.
- Use VirusTotal for additional verification.
If the site looks suspicious (no HTTPS, errors in the text, aggressive advertising) - it is better not to download.
What should I do if the antivirus detected a virus, but I have already installed the APK?
Follow the algorithm:
- Delete the application via
Settings โ Applications. - Run a deep scan with an antivirus (for example, Kaspersky in the "Full scan" mode).
- Check the list of installed applications for unknown ones (viruses are often disguised as system utilities).
- If the antivirus was unable to remove the threat, reset to factory settings (
Settings โ System โ Reset). - Change passwords for mail, banking applications and social networks.
If the device is blocked by ransomware, do not pay the ransom! Contact in support of the antivirus - some viruses can be removed via ADB or Safe Mode.
How to check an APK for viruses without the Internet?
If you do not have access to online scanners, use offline methods:
- Install an offline antivirus (for example Dr.Web Light) and scan the file.
- Check APK permissions via APK Analyzer (works without the Internet).
- Use APKTool for manual code analysis (requires knowledge).
- Compare the hash of the file with the official one (if you have pre-saved data).
For maximum security, download the virus databases for an offline antivirus in advance (for example, via Kaspersky Rescue Disk).
Can an APK contain a virus if it is signed with an official certificate?
Yes, but this is rare. An official certificate means that the file was not modified after it was signed by the developer. However:
- ๐ The developer could have intentionally added malicious code (for example, in case of account leakage or malicious intent).
- ๐ฆ The certificate could have been stolen or forged (for example, through a vulnerability). c Android App Bundle).
- ๐ Some viruses download malicious payloads after installation (through updates or network requests).
Check not only the certificate, but also the behavior of the application after installation.
What types of viruses are most often found in APKs?
By data Avast for 2026, top 5 threats in APK:
- Adware: Intrusive advertising, redirection to phishing sites (for example, HiddenAds).
- Banker: Trojans for stealing banking data (Cerberus, Anubis).
- Ransomware: Encryptors blocking the device (LeakerLocker).
- Spyware: Spyware that steals SMS, geolocation, photos (Pegasus).
- Miner: Mines cryptocurrency in the background, overheating the device (Loapi).
Most of them are disguised as games, hacked applications or utilities (for example, โmemory cleanersโ)).