January 12th 2021 was the day that Adobe Flash Player stopped working. It was known for a long time that this would happen. There were articles about this, in the months leading up to the end of 2020, browsers displayed big warnings and made it harder and harder to use systems based on this technology. So everyone knew that extinction of this technology is basically days away.
But what if you still need to use a system (or maybe play a game) that uses Flash and has not moved towards a more future-proofed technology? We had to deal with this situation with one of our clients. We had advised some time ago
switching to more modern solutions, but the decision path took too long. And the day has come.
I’m a Full-Stack Developer at VM.PL and below you can check the solution I have found. It allowed for the services of our client to work and gave more time to rewrite it in new technology.
There are two ways of handling the Flash situation and, as it often happens, one is easy, but quick and dirty, and the other one is more complicated, but also a lot more robust.
The first option is to change the system date on your computer to one before 11.01.2021.
To achieve that, you have to disable automatic time setting like NTP and just change the date. If your application (or game) of choice has nothing to do with time, you’re set. If it’s just displaying the time, you might also be set. But if it’s doing something with this time, like for example, sending it to a server somewhere, you will have to investigate if using the wrong date will not give you some problems down the line.
There is also another problem with this solution. Other applications might really not like the fact that your date is incorrect. MS Teams and Slack just stop working, for example. So it’s really just an either/or situation.
The second option utilizes changing the configuration of Flash Player on your computer.
This file is called „mms.cfg” and can be found in different places depending on your operating system and browser:
For browsers like Firefox, which use a standalone Flash Player plugin installation:
“`
32-bit Windows: C:WindowsSystem32MacromedFlash
64-bit Windows: C:WindowsSysWow64MacromedFlash
macOS: /Library/Application Support/Macromedia
Linux: /etc/adobe/
“`
For Google Chrome and other Chromium-based browsers, which come bundled with a Flash plugin (you just need to change „…/Google/Chrome/…” to an appropriate subdirectory):
**NOTE** This works on Chromium in version `87.0.4280.66 (Official Build) Built on Ubuntu`. As far as I know, the newest update of Google Chrome rendered this method useless for this browser. I’ve tried installing an older build on Windows, but unfortunately this did not help.
“`
macOS: /Users/<username>/Library/Application Support/Google/Chrome/<Profile>/Pepper Data/Shockwave Flash/System
Windows: %USERNAME%/AppData/Local/Google/Chrome/User Data/<Profile>/Pepper Data/Shock-wave Flash/System
Linux: ~/.config/google-chrome/<Profile>/Pepper Data/Shockwave Flash/System/
“`
You need to be careful because Chrome allows you to create multiple profiles. Directory of the first is called „Default” and the rest „Profile <n>”. There might also not be a „System” subdirectory and/or „mms.cfg” file, in which case you need to create them.
When you find your configuration file, you should add those lines:
“`
SilentAutoUpdateEnable = 0
AutoUpdateDisable = 1
“`
which should disable updating of the plugin, and most importantly:
“`
EnableAllowList = 1
AllowListUrlPattern = http[s]://your-url.com/
AllowListUrlPattern = http[s]://sub.your-second-url.com/
“`
which would enable and set a whitelist of websites that can be accessed. „AllowListUrlPattern” can be applied for every domain that you must have access to via Flash.
The next step should be to block Adobe updates on the system level, so even if the above configuration fails, the plugin will not be able to reach Adobe servers. To do this, you should add those lines to your hosts file:
“`
127.0.0.1 get.adobe.com
127.0.0.1 www.get.adobe.com
127.0.0.1 activate.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 ereg.adobe.com
127.0.0.1 wip3.adobe.com
127.0.0.1 activate.wip3.adobe.com
127.0.0.1 3dns-3.adobe.com
127.0.0.1 3dns-2.adobe.com
127.0.0.1 adobe-dns.adobe.com
127.0.0.1 adobe-dns-2.adobe.com
127.0.0.1 adobe-dns-3.adobe.com
127.0.0.1 ereg.wip3.adobe.com
127.0.0.1 activate-sea.adobe.com
127.0.0.1 wwis-dubc1-vip60.adobe.com
127.0.0.1 activate-sjc0.adobe.com
127.0.0.1 hl2rcv.adobe.com
127.0.0.1 lm.licenses.adobe.com
127.0.0.1 na2m-pr.licenses.adobe.com
127.0.0.1 lmlicenses.wip4.adobe.com
127.0.0.1 lm.licenses.adobe.com
127.0.0.1 na1r.services.adobe.com
127.0.0.1 hlrcv.stage.adobe.com
127.0.0.1 practivate.adobe.com
127.0.0.1 activate.adobe.com
127.0.0.1 www.flash.cn
“`
which can be found in:
“`
Windows: C:WindowsSystem32DriversEtcHosts
Linux: /etc/hosts
MacOs: /etc/hosts
“`
You can also disable Flash Player updates in Windows by running „cmd.exe” as Administrator and running those two commands in order to disable the service:
“`
sc config “AdobeFlashPlayerUpdateSvc” start= disabled
sc stop “AdobeFlashPlayerUpdateSvc”
“`
and those two to stop the scheduled jobs:
“`
schtasks /Change /Disable /TN “Adobe Flash Player NPAPI Notifier”
schtasks /Change /Disable /TN “Adobe Flash Player Updater”
“`
NOTE:
If you use Firefox, remember that, according to Mozilla, the ability to set the Flash plugin to “always enabled”, has been removed since version 69 of Firefox. So if you don’t want to always click to activate this plugin, you can uninstall your current version of Firefox and download and install the older version from https://ftp.mozilla.org/pub/firefox/releases/. Then you can disable Firefox updates by adding those two additional lines to the hosts file:
“`
127.0.0.1 dn.stubdownloader.services.mozilla.com
127.0.0.1 download-installer.cdn.mozilla.net
“`
and in the browser going to `about:config` and changing/adding those settings as „false” by searching in the input field:
“`
app.update.auto
app.update.enabled
app.update.silent
“`