Hacker News new | ask | show | jobs
by dhekir 1980 days ago
I have an old Windows offline desktop application (from circa 2003) that has an embedded Flash component which is necessary for it to run properly. It simply stopped working this morning on my Windows 10.

Resetting the date to yesterday works, but I'd like to avoid it if possible.

Standalone flash players (such as Newgrounds') do not work, since the desktop application is the one who actually runs the Flash component, and I cannot control it directly.

I tried uninstalling Flash and reinstalling an older version, without success: it seems to be using an ActiveX component which I cannot overwrite, since the old installer says "You already have a newer version". Windows does not allow me uninstalling it manually (it's "part of the system", and apparently the only Windows Update KB which allows it to be uninstalled, prevents you from installing any other Flash version), and I tried manually searching for registry keys, but there are several and I need to change permissions, etc.

So, I'm afraid I'll have to run an emulator such as PCem, with an older Windows inside, whose date is set to a distant past, so that my app will simply keep working as usual. I'd appreciate if there are simpler solutions.

4 comments

I am in a similar situation and was able to disabled Flash's EOL "kill switch" just for this old flash site with a mms.cfg:

  EOLUninstallDisable=1
  EnableAllowList=1
  AllowListUrlPattern=https://old-flash-site.com
Took inspiration from https://blogs.sap.com/2020/12/10/how-to-keep-enterprise-flas...
That will only work until June.
Any details on that? Because I currently use it as workaround, and I can't remember reading about June in the docs I had a look at.
You can use the projector [0] to run a SWF file outside of the browser.

Edit: Apologies, I misread the bit about the Flash requirement only being a part of the application. The above may still provide some use though?

[0] https://www.adobe.com/support/flashplayer/debug_downloads.ht...

Is the projector going to stop working soon too, or is it being treated differently from the browser plugin?
There has been no announcement on that yet but I would guess (hope) that there is no kill switch as the time has now password and it still runs. The projects are still available to download too. I believe Adobe are keeping them up for enterprise users for debugging.
Can you sandbox the app/block access to Adobe's servers, so that it doesn't get their deprecation command?
The limitation doesnt seem to involve communication with Adobe servers; its appears to be based solely on the machine time. I suspect that the Flash player on OPs machine has been connected to the internet and updated Flash Player at least once in the last 3 years.
Indeed, the laptop has been disconnected for days. I (or, more precisely, Windows) inadvertently updated to a more recent Flash version containing the "time bomb", so now the application simply checks the system date and decides whether to block it or not.

If I could "sandbox the clock" for this specific application, that might work, but I don't think that it is possible.

As a disclaimer I have to say I haven't used this (yet), but it does sound a lot like what you need.

https://www.nirsoft.net/utils/run_as_date.html

Genius! Good to know it exists, if I need it one day.

For now, I tried patching the timestamp in the binary as suggested by jtvjan, since I saw it before your post. It works, so I'll stick with it for now. But I'll be sure to try this RunAsDate when I need something similar in the future.

What are you running on it?