我需要我的 Flash 客户端与服务器安全通信(通过二进制套接字)。为此,我正在考虑在 AS3 代码中嵌入一个预共享密钥,并通过自定义协议交换异或数据。
有人告诉我,SWF 反编译器在使所有嵌入式代码清晰可见和可读方面做得很好。这是否意味着我不能真正隐藏我的密钥?
如果这种方法不切实际,还有哪些其他选择?我尝试过 as3crypto,却发现它充满了缺点并且缺乏严肃的文档。
我需要我的 Flash 客户端与服务器安全通信(通过二进制套接字)。为此,我正在考虑在 AS3 代码中嵌入一个预共享密钥,并通过自定义协议交换异或数据。
有人告诉我,SWF 反编译器在使所有嵌入式代码清晰可见和可读方面做得很好。这是否意味着我不能真正隐藏我的密钥?
如果这种方法不切实际,还有哪些其他选择?我尝试过 as3crypto,却发现它充满了缺点并且缺乏严肃的文档。
您根本无法隐藏您的密钥 - SWF 完全不受信任,可以轻松反编译。处理 SWF 的安全性非常困难,因为它们在客户端上运行并且不受信任。
这可能具体取决于您通过安全通信尝试完成的任务。例如,如果您试图保护一个高分系统,这几乎是不可能的,因为游戏在客户端(SWF)上运行,他们可以操纵它向服务器吐出他们想要的任何分数。这是一个很好的阅读:什么是阻止人们破解基于 PHP 的 Flash 游戏高分表的最佳方法
如果您只能将 SWF 用作前端 UI,并且所有逻辑都发生在后端,那么您可以保护您的应用程序(使用上面的高分示例,如果游戏不是 AS3 游戏但实际上在服务器本身,它会更容易保护,因为后端是受信任的,用户不能修改或查看),但如果逻辑发生在 SWF 上,那么你就很不走运了。