Flash Player Emulation

Introduction

I remember Flash cartoons and games are very popular when I was in primary school and middle school around year 2000. The middle school computer course would even teach the student on how to program Flash to create cartoons and games. In 2017, because of the Flash security flaws, Adobe deprecated the Flash Player and started to embrace HTML5. In 2020, the Adobe Flash Player has reached the end of its life. Since then, when we try to browse any web page that has Flash contents, either the Flash will be totally blocked or we will receive security warnings from the browser.

Recently, I found that Flash can still be securely used in HTML5 via emulation. Therefore, it is still possible to play the classic Flash cartoons and games, which brought us so much fun when we were children, in a modern browser.

In this blog post, I would like to discuss how to emulate Flash player in HTML using tools such as Ruffle.

Pac-Man Emulation

Let’s use one of my favorite Flash games in my childhood Pac-Man as an example. We could use the code as simple as the following in HTML to play Pac-Man using Ruffle.

1
2
3
4
5
6
7
8
9
<script src="https://unpkg.com/@ruffle-rs/ruffle"></script>
<script>
window.RufflePlayer.config = {
autoplay: "off"
};
</script>
<div style="text-align: center;">
<embed src="/downloads/blog/2022-07-07-Flash-Player-Emulation/pacman.swf" width="100%">
</div>

Smart phones might have problem controlling the pac-man because of the lack of four direction keys.

Security

According to Ruffle, “leveraging the safety of the modern browser sandbox and the memory safety guarantees of Rust, we can confidently avoid all the security pitfalls that Flash had a reputation for. Ruffle puts Flash back on the web, where it belongs - including browsers on iOS and Android!”

Miscellaneous

Ruffle is still an active project and has not supported all the original features from Flash players yet. There are also some other Flash Player emulators, such as swf2js. But they are not perfect, either, and have flaws such as interactivity and sound.

References

Author

Lei Mao

Posted on

07-07-2022

Updated on

07-07-2022

Licensed under


Comments