许可证密钥模式检测? [英] License key pattern detection?

查看:113
本文介绍了许可证密钥模式检测?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是不是真实的情况;请忽略你可能会认为适用,因为他们没有法律问题。

让我们说我有一个假想的软件的许可算法一套200已知的有效许可证密钥,和许可密钥由5组5个字母数字不区分大小写(所有大写)字符。例如: HXDY6-R3DD7-Y8FRT-UNPVT-JSKON

是否有可能(或可能)来推断其他可能的密钥系统?

如果设置被称为是连续的什么;怎么做的方法来改变这种情况,需要什么样的优势,这是否给你?

我已经听到了注册机之前,但我相信他们很可能由反编译的授权软件,而不是检查已知的有效密钥。在这种情况下,我只给出了一套钥匙,我必须确定算法。我还告诉它是一个行业标准算法,所以它可能不是基本的东西,但机会是永远存在的,我想。

如果你觉得这不属于堆栈溢出,请至少提出给我看还是问的问题一个替代的地方。老实说,我不知道从哪里开始这样的问题。我甚至不知道的术语这类问题。

解决方案

在一般情况下,答案是:不,你不能做什么有用的东西。

如果市民产生键偷懒,并没有使用加密品质的散列某种关的索引号为(有足够位混合来阻止你的一部分任何检查),那么你可能会认为某种功能随机数的产生和形式看看是否可以背出,例如,一个模数的线性同余随机数发生器,或一系列位混合移位的,并增加了与诸如詹金斯散列函数或者任何在

有没有算法从您发现该算法产生所述结构的一些通用的结构去;一个类似于这是你看上去的那样要求。 (这样的算法一般可证明是不可能的。如果你想要,可以计算出你的钥匙最简单的算法,这个问题是同构的柯尔莫哥洛夫复杂的计算,这是恶魔般的硬(有效不可能迄今)来计算)

This is not a real situation; please ignore legal issues that you might think apply, because they don't.

Let's say I have a set of 200 known valid license keys for a hypothetical piece of software's licensing algorithm, and a license key consists of 5 sets of 5 alphanumeric case-insensitive (all uppercase) characters. Example: HXDY6-R3DD7-Y8FRT-UNPVT-JSKON

Is it possible (or likely) to extrapolate other possible keys for the system?

What if the set was known to be consecutive; how do the methods change for this situation, and what kind of advantage does this give?

I have heard of "keygens" before, but I believe they are probably made by decompiling the licensing software rather than examining known valid keys. In this case, I am only given the set of keys and I must determine the algorithm. I'm also told it is an industry standard algorithm, so it's probably not something basic, though the chance is always there I suppose.

If you think this doesn't belong in Stack Overflow, please at least suggest an alternate place for me to look or ask the question. I honestly don't know where to begin with a problem like this. I don't even know the terminology for this kind of problem.

解决方案

In general, the answer is, "No, you can't do anything useful."

If the people generating the keys got lazy and failed to use some sort of cryptographic-quality hash off of an index number (with sufficient bit-mixing to thwart any inspection on your part), then you might assume some sort of functional form of random number generation and see if you can back out, for example, a modulus for a linear congruential random number generator, or a series of bit-mixing shifts and adds and such as in the Jenkins hash function or whatever.

There are no algorithms for going from some generic structure that you spot to the algorithm that produces said structure; something akin to this is what you appear to be asking for. (Such algorithms are provably impossible in general; if you want the simplest algorithm that can compute your keys, the problem is isomorphic to the computation of Kolmogorov complexity, which is fiendishly hard ("effectively impossible thus far") to compute.)

这篇关于许可证密钥模式检测?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆