How To Identify Third Party Apps

13 min read

Third-party applications are software programs created by developers other than the manufacturer of the device or the operating system you are using. Day to day, while official app stores like the Google Play Store and Apple App Store host millions of these applications, the term also encompasses software downloaded from websites, sideloaded via APK or IPA files, and enterprise tools distributed outside standard channels. Understanding how to identify these applications is critical for maintaining device security, protecting data privacy, and ensuring system stability. This guide provides a comprehensive breakdown of the methods, indicators, and tools required to distinguish third-party software from native system components across major platforms Still holds up..

Why Identifying Third-Party Apps Matters

Before diving into the technical steps, Understand the stakes — this one isn't optional. Native applications—those pre-installed by the OS vendor (like Safari on iOS or the Settings app on Android)—operate with elevated system privileges and undergo rigorous first-party security auditing. Third-party apps, conversely, operate within sandboxed environments but often request extensive permissions Easy to understand, harder to ignore..

Malicious actors frequently disguise malware, spyware, or adware as legitimate third-party utilities. For enterprise environments, Shadow IT—the use of unauthorized third-party software—creates compliance blind spots. Even benign applications can become vectors for data leakage if they integrate aggressive analytics SDKs or lack proper encryption. That's why, the ability to audit installed software is a foundational digital hygiene skill Not complicated — just consistent. Still holds up..

Identifying Third-Party Apps on Android

Android’s open ecosystem makes identification slightly more nuanced than on iOS. Because manufacturers (OEMs) like Samsung, Xiaomi, and OnePlus heavily customize the OS, the line between "system app" and "third-party app" often blurs.

Using the Settings Menu (Standard Method)

The most accessible method requires no technical tools.

  1. Open Settings > Apps (or Apps & notifications).
  2. Tap See all apps (or App info).
  3. Look for the filter/sort icon (usually three lines or a funnel) and select Show system apps or Show system processes.
  4. The Indicator: Applications installed by the user or downloaded from the Play Store will not have the "System" label next to their name. System apps typically display a generic Android icon or the manufacturer’s logo, whereas third-party apps display their unique branding.
  5. Source Verification: Tap an app. Under "App details" or "Store," it will list the installation source (e.g., "Google Play Store," "Galaxy Store," "Unknown Source," or "Package Installer"). "Unknown Source" or "Package Installer" strongly indicates a sideloaded third-party APK.

Analyzing Package Names

Every Android app has a unique package name (e.g., com.facebook.katana).

  • System Apps: Usually start with com.android., com.google.android., or the manufacturer's domain (e.g., com.samsung.android., com.xiaomi.).
  • Third-Party Apps: Use the developer’s domain (e.g., com.spotify.music, com.whatsapp).
  • How to view: In the App Info screen, the package name is often listed at the very bottom or inside a "Details" submenu. On newer Android versions, you may need to enable "Developer Options" to see package names easily in the main list.

Detecting Sideloaded and Malicious Apps

Apps installed from outside the Play Store (sideloaded) pose the highest risk.

  • Install Unknown Apps Permission: Go to Settings > Apps > Special access (or Advanced) > Install unknown apps. Any app listed here with "Allowed" toggle enabled has the permission to install other third-party APKs. Common culprits: File managers, browsers, or messaging apps.
  • Play Protect Certification: Open the Play Store > Profile Icon > Play Protect. It scans sideloaded apps. If it flags an app as harmful or "not verified," treat it as a high-risk third-party component.

Identifying Third-Party Apps on iOS and iPadOS

Apple’s "Walled Garden" architecture makes identification more straightforward but requires different checks, particularly regarding Enterprise certificates and configuration profiles Less friction, more output..

The App Library and Settings Audit

  1. Swipe left to the App Library. Apps are categorized automatically. Look under "Recently Added" or search for unfamiliar names.
  2. Go to Settings > General > iPhone/iPad Storage. This list shows every installed application sorted by size.
  3. The Indicator: Native apps (Messages, Phone, Settings, Safari, Photos) cannot be deleted (only offloaded or hidden). If you tap an app in this list and see a "Delete App" button in red, it is a third-party application. Native apps will only show "Offload App" or no removal option at all.

Checking for Enterprise and Developer Profiles

This is the most critical step for iOS security. Legitimate App Store apps are signed by Apple. Apps installed via Mobile Device Management (MDM), enterprise distribution, or developer sideloading (AltStore, Sideloadly, TrollStore) rely on Profiles.

  1. Go to Settings > General > VPN & Device Management (or Profiles & Device Management).
  2. Enterprise/Developer Apps: If you see a profile under "Enterprise App" or "Developer App," the associated apps are third-party software not vetted by the App Store review process.
  3. MDM Profiles: A "Mobile Device Management" profile indicates the device is supervised. The organization can push/remove third-party apps silently. The profile description lists the apps managed.

Analyzing Privacy Reports and Network Traffic

iOS 15+ includes the App Privacy Report (Settings > Privacy & Security > App Privacy Report) Worth knowing..

  • This shows which third-party apps access sensors (Camera, Microphone, Location) and which domains they contact.
  • If an app (e.g., a calculator) contacts tracking domains (e.g., graph.facebook.com, google-analytics.com) or requests location data without a clear functional reason, it is exhibiting typical third-party data harvesting behavior.

Identifying Third-Party Software on Windows

On Windows, the distinction is between Microsoft Store apps (Modern/UWP), traditional Win32 desktop apps, and system components Not complicated — just consistent..

Settings and Control Panel

  1. Settings Method: Settings > Apps > Installed apps. Sort by "Source."
    • Microsoft Store: Vetted, sandboxed third-party apps.
    • System/Windows: Native components (do not uninstall these).
    • Third-party/Traditional: Standard .exe or .msi installers. These have full system access (unless run in a sandbox).
  2. Control Panel Method: Control Panel > Programs > Programs and Features. The "Publisher" column is key.
    • Microsoft Corporation: Native or first-party.
    • Verified Publishers (e.g., Adobe, Google, Valve): Legitimate third-party.
    • Unknown/Blank Publisher: High risk. Often indicates unsigned malware or poorly developed software.

Startup Impact and Background Processes

Third-party apps often persist via startup entries.

  1. Open Task Manager (Ctrl + Shift + Esc) > Startup apps tab.
  2. Any entry with "High" or "Medium" impact that you do not recognize is a candidate for investigation.
  3. Right-click > Open file location. Check the file path.
    • C:\Windows\System32\ or C:\Program Files\WindowsApps\ =

The path you see after right‑clicking Open file location tells you whether the executable lives inside a protected Windows directory or has been placed in a user‑writable folder. If the file resides in C:\Windows\System32\, C:\Program Files\, or under the WindowsApps container, it is most likely a legitimate system component or a Microsoft Store package. A location outside those safeguarded folders — such as C:\Users\<name>\AppData\Local\, a temporary folder, or an obscure directory inside a personal Documents tree — signals that the binary was installed manually and may be third‑party software that warrants closer inspection.

Verifying the binary’s authenticity

  1. Digital signature check – Right‑click the executable, choose Properties, and go to the Digital Signatures tab. A valid signature from a known publisher (Microsoft, Adobe, Google, etc.) reduces the risk, while “Unknown” or “Invalid” indicates the file is unsigned or tampered with.
  2. Signature verification with PowerShell – Run Get-AuthenticodeSignature -FilePath "C:\Path\To\App.exe" to obtain a detailed hash and signer information.
  3. Hash comparison – If you have a trusted copy of the installer, compute its SHA‑256 hash (via Get-FileHash) and compare it to the hash of the installed file. Mismatched hashes can reveal a modified or repackaged package.

Additional telemetry sources

  • Scheduled Tasks – Open Task Scheduler (taskschd.msc) and review tasks that run with high privileges. Unfamiliar tasks that execute scripts or binaries from non‑system locations often belong to background third‑party components.
  • Services – In Services.msc, look for services whose “Path to executable” points to user‑specific directories. Legitimate services typically reside under C:\Windows\System32\ or C:\Program Files\.
  • Event Viewer – The Windows Logs > Application and System logs can reveal entries from sources such as “Application Error” or “Service Control Manager” that reference unknown executables. Filter by the date of installation to pinpoint when a suspicious component started appearing.

Network‑level scrutiny

Even if an app appears benign in the OS UI, it may be communicating with external servers.

  • Resource Monitor – Under the Network tab, sort by “Remote Address” to see which processes are making outbound connections.
  • Windows Defender Firewall with Advanced Security – Create a rule to block a specific executable temporarily; if the app ceases to function, you’ve identified a network‑active component.
  • Packet capture – Tools like Wireshark or the built‑in Microsoft Message Analyzer can capture traffic for deeper analysis. Look for connections to known tracking domains, data‑exfiltration endpoints, or unusual ports.

Automated discovery tools

  • PowerShell one‑liners – Get-ItemProperty HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, Publisher, DisplayVersion lists installed MSI‑based applications and their publishers.
  • winget – winget list enumerates all packages installed via the Windows Package Manager, providing a clear view of Store‑sourced versus sideloaded apps.
  • Autoruns (Sysinternals) – This utility displays every auto‑start entry, including shell extensions, drivers, and scheduled tasks, allowing you to spot obscure third‑party components that launch at logon or system boot.

Managing the identified software

Once you have confirmed that a program is unwanted or unnecessary:

  • Uninstall via Settings – figure out to Settings > Apps > Installed apps, locate the entry, and select Uninstall. This removes the package and its associated registry keys.
  • PowerShell removal – For Store apps, Get-AppxPackage <PackageName> | Remove-AppxPackage eliminates the package for the current user;

Removing the Offending Software

1. Use the built‑in Windows uninstaller

The quickest way to delete a traditional desktop application is through Programs and Features (aka “Add or Remove Programs”).

# Open Programs and Features via PowerShell (admin)
Start-Process `msiexec.exe` -ArgumentList '/i {YOUR_GUID} /qr' -Wait

If the app was installed via an MSI package, the msiexec command above will launch the standard Windows installer uninstaller, which also removes registry entries under HKLM\Software\Microsoft\Windows\CurrentVersion\Installer. For non‑MSI executables, open Settings → Apps → Installed apps, locate the entry, and click Uninstall.

2. PowerShell‑based removal for non‑Store apps

When the application is registered as a classic Windows service or a COM component, you can often purge it with a one‑liner:

# Example: Remove a classic app registered under HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
Get-ItemProperty "HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*" |
    Where-Object { $_.DisplayName -like "*UnwantedApp*" } |
    ForEach-Object {
        if ($_.QuietUninstallString) {
            Start-Process $_.QuietUninstallString -ArgumentList '/quiet', '/norestart' -Wait
        }
    }

The QuietUninstallString (or UninstallString) is the command the installer placed in the registry; using it guarantees the same uninstaller that installed the software is invoked, preserving any custom cleanup steps.

3. UWP / Windows Store apps

For Universal Windows Platform (UWP) apps that were installed via the Microsoft Store or sideloaded, the Get-AppxPackage cmdlet is the definitive tool:

# Remove the app for the current user
Get-AppxPackage -Name "Contoso.UnwantedApp" | Remove-AppxPackage

# If it was installed system‑wide (e.g., via provisioning), use Remove-AppxPackage -AllUsers
Get-AppxPackage -AllUsers -Name "Contoso.UnwantedApp" | Remove-AppxPackage -AllUsers

After removal, you can also delete any leftover provisioning packages (.appxprovisioning files) from C:\Program Files\WindowsApps (be careful – only delete the package folder that matches the removed app).

4. Third‑party uninstallers and “force‑uninstall” utilities

Some applications embed their own updater or protection layer that prevents standard uninstallation. Tools such as Revo Uninstaller, Geek Uninstaller, or the built‑in Windows 10/11 “Apps & features” “Modify” option can often bypass these guards. When using a third‑party uninstaller:

  • Run it in Safe Mode or Windows Clean Mode to avoid interference from the very software you’re trying to delete.
  • Let the tool perform a registry snapshot before and after uninstallation; compare the two snapshots to locate orphaned keys.

5. Clean‑up leftovers

Even a “successful” uninstall can leave behind files, drivers, or registry entries that can be re‑used by other malware. A disciplined post‑removal routine includes:

Area Command / Action
Temp & Prefetch del /q /s %TEMP%\* and del /q /s %SYSTEMROOT%\Prefetch\*
Orphaned drivers `pnputil /enum-drivers
COM registrations regsvr32 /u C:\Path\To\BadCom.dll (if known)
Scheduled tasks & services Re‑run the Task Scheduler, Services, and Autoruns scans to verify no entries reference the removed executable

6. Verification and validation

Once the primary uninstallers and cleanup routines have executed, treat the system as a crime scene: verify that the threat is truly gone before declaring the incident closed Which is the point..

Automated verification script
The following PowerShell snippet performs a quick “sanity check” across the most common persistence vectors. Run it elevated; it returns only positive hits so you can focus on anomalies.

$appName = "UnwantedApp"   # Adjust to the display name or publisher string you targeted

# 1. Registry uninstall keys (both 32- and 64-bit views)
$regPaths = @(
    'HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall',
    'HKLM:\Software\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall',
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall'
)
$regPaths | ForEach-Object {
    Get-ChildItem $_ -ErrorAction SilentlyContinue |
    Where-Object { $_.GetValue('DisplayName') -like "*$appName*" } |
    Select-Object PSPath, @{N='DisplayName';E={$_.GetValue('DisplayName')}}
}

# 2. AppX / Provisioned packages
Get-AppxPackage -AllUsers | Where-Object { $_.Name -like "*$appName*" } |
    Select-Object Name, PackageFullName, PackageUserInformation

# 3. Services & Drivers
Get-Service | Where-Object { $_.DisplayName -like "*$appName*" -or $_.Name -like "*$appName*" } |
    Select-Object Name, DisplayName, Status, StartType
Get-WmiObject Win32_SystemDriver | Where-Object { $_.DisplayName -like "*$appName*" } |
    Select-Object Name, DisplayName, State, StartMode

# 4. Scheduled Tasks
Get-ScheduledTask | Where-Object { $_.TaskName -like "*$appName*" -or $_.Actions.Execute -like "*$appName*" } |
    Select-Object TaskName, State, Actions

# 5. Startup / Run keys (via Autoruns logic)
$runKeys = @(
    'HKLM:\Software\Microsoft\Windows\CurrentVersion\Run',
    'HKLM:\Software\Microsoft\Windows\CurrentVersion\RunOnce',
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run',
    'HKCU:\Software\Microsoft\Windows\CurrentVersion\RunOnce'
)
$runKeys | ForEach-Object {
    Get-ItemProperty $_ -ErrorAction SilentlyContinue |
    Get-Member -MemberType NoteProperty |
    Where-Object { $_.Definition -like "*$appName*" } |
    Select-Object @{N='Key';E={$_}}, Name, Definition
}

# 6. File system leftovers (common install roots)
$dirs = @(
    "${env:ProgramFiles}\$appName",
    "${env:ProgramFiles(x86)}\$appName",
    "${env:LocalAppData}\$appName",
    "${env:AppData}\$appName",
    "${env:ProgramData}\$appName"
)
$dirs | Where-Object { Test-Path $_ } | Select-Object FullName

If the script returns no output, you have high confidence the application binaries, registration, and persistence mechanisms are eradicated. Any remaining hits should be investigated individually—often they are harmless “dead” keys, but occasionally they indicate a secondary component (watchdog service, browser extension, kernel driver) that the main uninstaller missed.

7. Handling “protected” or malicious software

When the unwanted application is actually malware, adware with kernel drivers, or a legitimate program that employs anti-tamper protection (e.g., certain DRM or enterprise agents), standard uninstallation will fail or silently roll back. Escalate through these tiers:

Tier Technique When to Use
1. Which means safe Mode / WinRE Boot into Safe Mode with Networking or the Windows Recovery Environment (WinRE) command prompt. The OS loads a minimal driver set, disabling most self-protection drivers. Which means First attempt for any stubborn entry.
2. Consider this: msiexec with logging msiexec /x {ProductCode} /qn /l*v C:\Uninstall. log – the verbose log reveals custom actions that fail (access denied, missing files, custom DLL errors). MSI-based installers that error out silently.
3. Manual driver removal fltmc unload <FilterName> → sc delete <ServiceName> → pnputil /delete-driver oemXX.inf /uninstall /force. And follow with a reboot. Here's the thing — Kernel-mode filter drivers or file-system minifilters that block file deletion.
**4.
Up Next

Out Now

Branching Out from Here

A Natural Next Step

Thank you for reading about How To Identify Third Party Apps. We hope the information has been useful. Feel free to contact us if you have any questions. See you next time — don't forget to bookmark!
⌂ Back to Home