二进制加密初探
背景:由于swf发反编译,一些项目为了不让自己的代码不暴漏,一般都会采用各种处理,各有各的方法,有混淆的,有加密的等等,在这里我大概介绍一下二进制加密。
方法:编译出来的模块swf,也可以是swc(解压后取出swf),你可以改个后缀,然后进行二进制加密。
首先大家都知道,swf的前三位是固定的,我们可以用文件查看器看到,C W S(二进制依次是67 87 83 ).我们可以将其前三位去掉,可以在前面随便加个什么或者把后面的数据段可以进行各种调位,当然,这些操作必须是可逆的。我们将最后得到的二进制保存为指定格式。
在项目模块加载的过程中,我们检测到相应的文件urlLoader加载得到的二进制,前三位依次有一位不是对应的67 87 83 则是进行了加密处理的文件,进行我们之前二进制加密的逆操作(前三位依次加上67 87 83,再进行其他还原),最后通过Loader加载成可显示对象。