背景
Adobe Flash Player已经停止支持一段时间了。目前感觉要播放.swf
文件还是用独立的播放器方便些。但32这个版本(archive.org
里的版本)打开动画一段时间后会白屏:
分析
首先,Flash Player是跑了.swf
一段时间后才白屏的。所以想到有联网验证。开Process Monitor看一看:
Flash Player建立了几个连接,还有数据交互。这显然不是我们希望的——你只是个播放器,为啥要联网?用防火墙把这个程序的联网权限删掉:
注意防火墙的程序路径不能包含%USERPROFILE%
之类的东西。防火墙不会作转换,必须用实际路径。这个坑查了很久很久。
然而断了网络连接后还是不行。和之前不同,这次白屏是乱码了:
没有网络连接,为何还能检测到“版本落后”?猜测之前网络连接时,Flash Player在本地保存了这个信息。重启一下Flash Player,然后开Process Monitor找找看有没有可疑的文件或注册表读取:
这个文件很难不让人怀疑。打开看看里面的内容:
文件里面有白屏时显示的url,那这个文件八成是罪魁祸首了。删掉之后,Flash Player就不会白屏了。
结论
Adobe Flash Player白屏解决方案:
- 防火墙禁止连接
- 然后,删除之前的
settings.sol