1

我有一个炼金术编译的 swc,其中包含执行某些关键算法的方法。仅当出于安全目的授权用户(从在线服务购买许可证)时,这些方法才应返回值。因此,我计划在此之上添加另一个 SWC,其中包含所有许可代码的内容。但是当我在我的自定义 swc 中导入 Alchemy 生成的 swc 时,所有的 alchemy 方法都会暴露出来。任何想法如何限制他们的访问。即我希望这些方法仅用于自定义组件,而不是使用自定义组件的那些。

4

2 回答 2

1

欢迎来到 Flash 的安全世界,那里没有这样的东西。问题是客户总是有你的代码。因此,您不能使用任何策略来始终保护您的代码免受客户端的影响。即使加密和解密您的二进制文件,代码也始终在内存或密钥中。这就是下一代游戏公司试图编写在服务器上运行的游戏并为最终用户提供远程用户界面的原因之一。所以基本上你真正要保护任何东西的唯一方法是在服务器端编写功能。有关更多信息,请参阅此评论:

阻止人们破解基于 PHP 的 Flash 游戏高分表的最佳方法是什么

另外,我只想说我不只是在这里说我的耳朵。我曾经在炼金术中为闪存开发了一个实时二进制加密/解密方案,并试图成为通过这种服务使闪存安全的天才。虽然是的,也许这样的东西可以保护基本用户的内容,但你总是会有你的二进制文件,因此你的源代码,或者至少你的加密算法+密钥暴露给最终用户,所以最终有人会来破坏你的系统。

于 2011-05-13T15:45:50.223 回答
1

Ascension Systems 的回答是正确的:您无法防止在客户端上运行的代码被盗。你能做的最好的就是混淆。

在这种情况下,您可以在编译之前在 Alchemy 源代码上使用C/C++ 代码混淆器。这至少会使 Alchemy 函数(FSM_Z18blahblahblah 等)变得乱七八糟,更难弄清楚。

于 2011-05-20T15:13:45.090 回答