刚刚在 Adobe Air 中创建了一个应用程序。客户现在表示他希望 DVD 具有安全性 (防止复制 DVD 或使用串行密钥)
有没有什么办法,我可以在 Adobe AIR 中提供某种形式的串行密钥保护。我在想像写一个小脚本说 50 左右 '序列号' 在一些 XML 或数据库。当脚本运行时,它允许执行程序,如果给出正确的序列号,否则中止进程。
紧急请求,如果有人能提供答案,其中有几英镑。
我会将一些信息编码到序列中,用于测试有效性(某种校验和),这需要几个任务:
将字节编码为序列号的可读符号。使用 10 位数字和 22 个拉丁字母的有限字母表,每个符号可以得到 32 个变体,给出 5 位。因此,20 个符号相当于 100 位,即 16 个字节半。困难的部分是将原始的 17 个字节切成 5 位块(实际上,没有什么困难的事情可以通过移位和掩码来解决,只需要仔细编码即可。)
将串行符号解码为原始字节。使用我们的自定义字母表,将每个符号转换为 5 位,并将它们粘合在 17 个字节中(再次移位,掩码和仔细编码:)
定义序列号内容。虽然可能性是无数的,但可以简单地完成:前几个字节是“魔术”固定的。如果应用程序从串行解码它们,则有效。其余字节从串行到串行随机变化。
如果我们这样做,我们所有的有效序列都将从相同的符号开始-编码“魔术”字节。要混合使用,我建议使用对称加密。有库as3 crypto提供 RC4 算法。您可以在demo page上进行测试-选择“密钥”部分,将加密设置为 RC4,并将密钥,文本和密文的格式设置为“十六进制”。
现在串行的生成看起来像这样:取“魔术”字节,添加随机字节以总共获得 16 字节。加密此消息并转换为串行。
程序将检查串行:将符号转换为 16 个字节,使用相同的密钥解密它们,并检查“魔术”字节是否存在。
如果您将四个字节留给“魔术”字节,则意味着一个有效的序列号为 40 亿个。对于普通百姓来说,这应该足以提供保护(不常见的只会反编译您的程序并简化检查,因此请使用 SecureSWF 之类的软件来防止这种情况。)
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(40条)