Protect, encrypt and sitelock your Flash games with Kindi’s secureSWF

The problem of having our Flash games encrypted while still working raises when we put sweat and blood to put our latest game into the wild and we want to protect it.

With so many encryptors/protectors/obfuscators around the web, choosing the right one could be an hassle.

I’ve chosen mine: Kindi’s secureSWF.

It has the most comprehensive set of options you can imagine. You can select the level of encryption, with some presets settings, you can prevent the SFW to be played locally and you can even sitelock it.

How does it work? secureSWF renames just about every identifier (including classes, symbol instances names, and even frame labels) in your ActionScript into short meaningless names that include unprinted characters. This means decompilers won’t read your code, and if they manage to do it, once the code will be exported, it will generate a lot of errors if you try to compile it.

Now I wanted to put some screenshot here and there, and finish the post, but Kindi’s guys published a lot of screenshots on their site, better than any screenshot I can take.

This made me angry, so I launched Sothink SWF Decompiler 6 and Flash Decompiler Trillix 5 to put secureSWF in troubles.

Then I took the SWF used in the Box2D slicing engine to see what happens.

This is the code you get with the Sothink SWF decompiler:

and this is the one displayed by Trillix:

Both are clean and perfectly understandable, while being a bit different.

Now, let’s compile the SWF using the safe option, which is the weakest encryption but ensures your final SWF to be working.

This is what Sothink returns:

And this is Trillix’s result:

Both codes are obfuscated, with Trillix’s looking a bit worse because of the way it calls methods. Trying to understand even a simple example like this one becomes really really hard, but the best has yet to come.

Decompiling the SFW made with the standard settings crashed Trillix while Sothink (which will be the only decompiler used for the tests from now on) returned this incomprehensible code:

Even with just the standard settings, I feel safe with this code, I don’t think people will bother trying to steal my games. They’d rather build their own game from scratch.

And what happens when I sitelock a game? Obviously it must add something like the code explained in this post.

Well, I sitelocked the movie to emanueleferonato.com, then I decompiled it and that’s what I found:

I suppose the lock lies in the highlighted code which calls this class:

I couldn’t even find the string “feronato” and searching into some files also made the decompiler to crash.

But I wanted to push more the test, so since it has a “Best size” protection, I tried it on a file which has been compressed as much as I could.

I am talking about the complete Bejeweled game in less than 2KB which SWF is only 2.035 bytes.

With secureSWF I managed to get a 1998 bytes file!!

There’s no doubt, secureSWF will be the Flash obfuscation software I will be using for a long time and I am highly recommending you to do the same.

I am using encryptors for years and at the moment this is the best choice on the market. And the professional edition costs less than a half of the cheapest Flash game sponsorship I got.

Get the most popular Phaser 3 book

Through 202 pages, 32 source code examples and an Android Studio project you will learn how to build cross platform HTML5 games and create a complete game along the way.

Get the book

215 GAME PROTOTYPES EXPLAINED WITH SOURCE CODE
// 1+2=3
// 100 rounds
// 10000000
// 2 Cars
// 2048
// A Blocky Christmas
// A Jumping Block
// A Life of Logic
// Angry Birds
// Angry Birds Space
// Artillery
// Astro-PANIC!
// Avoider
// Back to Square One
// Ball Game
// Ball vs Ball
// Ball: Revamped
// Balloon Invasion
// BallPusher
// Ballz
// Bar Balance
// Bejeweled
// Biggification
// Block it
// Blockage
// Bloons
// Boids
// Bombuzal
// Boom Dots
// Bouncing Ball
// Bouncing Ball 2
// Bouncy Light
// BoxHead
// Breakout
// Bricks
// Bubble Chaos
// Bubbles 2
// Card Game
// Castle Ramble
// Chronotron
// Circle Chain
// Circle Path
// Circle Race
// Circular endless runner
// Cirplosion
// CLOCKS - The Game
// Color Hit
// Color Jump
// ColorFill
// Columns
// Concentration
// Crossy Road
// Crush the Castle
// Cube Jump
// CubesOut
// Dash N Blast
// Dashy Panda
// Deflection
// Diamond Digger Saga
// Don't touch the spikes
// Dots
// Down The Mountain
// Drag and Match
// Draw Game
// Drop Wizard
// DROP'd
// Dudeski
// Dungeon Raid
// Educational Game
// Elasticity
// Endless Runner
// Erase Box
// Eskiv
// Farm Heroes Saga
// Filler
// Flappy Bird
// Fling
// Flipping Legend
// Floaty Light
// Fuse Ballz
// GearTaker
// Gem Sweeper
// Globe
// Goat Rider
// Gold Miner
// Grindstone
// GuessNext
// Helicopter
// Hero Emblems
// Hero Slide
// Hexagonal Tiles
// HookPod
// Hop Hop Hop Underwater
// Horizontal Endless Runner
// Hundreds
// Hungry Hero
// Hurry it's Christmas
// InkTd
// Iromeku
// Jet Set Willy
// Jigsaw Game
// Knife Hit
// Knightfall
// Legends of Runeterra
// Lep's World
// Line Rider
// Lumines
// Magick
// MagOrMin
// Mass Attack
// Math Game
// Maze
// Meeblings
// Memdot
// Metro Siberia Underground
// Mike Dangers
// Mikey Hooks
// Nano War
// Nodes
// o:anquan
// One Button Game
// One Tap RPG
// Ononmin
// Pacco
// Perfect Square!
// Perfectionism
// Phyballs
// Pixel Purge
// PixelField
// Planet Revenge
// Plants Vs Zombies
// Platform
// Platform game
// Plus+Plus
// Pocket Snap
// Poker
// Pool
// Pop the Lock
// Pop to Save
// Poux
// Pudi
// Pumpkin Story
// Puppet Bird
// Pyramids of Ra
// qomp
// Quick Switch
// Racing
// Radical
// Rebuild Chile
// Renju
// Rise Above
// Risky Road
// Roguelike
// Roly Poly
// Run Around
// Rush Hour
// SameGame
// SamePhysics
// Save the Totem
// Security
// Serious Scramblers
// Shrink it
// Sling
// Slingy
// Snowflakes
// Sokoban
// Space Checkers
// Space is Key
// Spellfall
// Spinny Gun
// Splitter
// Spring Ninja
// Sproing
// Stabilize!
// Stack
// Stairs
// Stick Hero
// String Avoider
// Stringy
// Sudoku
// Super Mario Bros
// Surfingers
// Survival Horror
// Talesworth Adventure
// Tetris
// The Impossible Line
// The Moops - Combos of Joy
// The Next Arrow
// Threes
// Tic Tac Toe
// Timberman
// Tiny Wings
// Tipsy Tower
// Toony
// Totem Destroyer
// Tower Defense
// Trick Shot
// Tunnelball
// Turn
// Turnellio
// TwinSpin
// vvvvvv
// Warp Shift
// Way of an Idea
// Whack a Creep
// Wheel of Fortune
// Where's my Water
// Wish Upon a Star
// Word Game
// Wordle
// Worms
// Yanga
// Yeah Bunny
// Zhed
// zNumbers