Adobe Flash Version Fingerprinting

Background

Adobe™ Flash Player® was released in 1996 and is possibly the most popular 3rd party plugins for browsers, with Adobe claiming a 99%+ penetration rate. While the software installs with auto-update selected by default, it's clear by statistics that many users do not auto-update. It's because of this distribution that it is ideal for fingerprinting.

Note: Adobe™ has announced that it will be dropping support for Flash Player® in 2020, however this will be a useful data element until those systems are replaced or users uninstall the add-on.

How It Works

Getting the Adobe Flash Player version is very straight forward, one of the fastest and most reliable ways is to use a Flash object (SWFObject) from there you can use javascript code to pull version information.

Entropy Estimate: 4.3 bits

Code

The javascript function below fingerprints the browser languages.

Source Code

function fingerprint_flash() {

    "use strict";

    var strOnError, objPlayerVersion, strVersion, strOut;

 

    strOnError = "N/A";

    objPlayerVersion = null;

    strVersion = null;

    strOut = null;

 

    try {

        objPlayerVersion = swfobject.getFlashPlayerVersion();

        strVersion = objPlayerVersion.major + "." + objPlayerVersion.minor + "." + objPlayerVersion.release;

        if (strVersion === "0.0.0") {

            strVersion = "N/A";

        }

        strOut = strVersion;

        return strOut;

    } catch (err) {

        return strOnError;

    }

}

Validation

Unlike other code on the Internet we do everything possible to verify our code for you. In order to minimize problems and maximize compatibility this code has been verified with JSLint and has been extensively tested with over 1100 OS/Browser combinations using BrowserStack.

Reference

Adobe Flash Player. (n.d.). In Wikipedia. Retrieved September 04, 2017, from https://en.wikipedia.org/wiki/Adobe_Flash_Player

Statistics PC Penetration. (n.d.). In Adobe.com. Retrieved September 04, 2017, from http://www.adobe.com/mena_en/products/flashplatformruntimes/statistics.html

SWFObject. (n.d.). In GitHub. Retreived September 04,2017, from http://github.com/swfobject/swfobject