软件和游戏的序列号是怎么生成的?
如题,有些正版软件和游戏,一般在安装时会要求输入序列号,尤其是游戏,安装时必须输入正确的序列号才能继续安装。
例如Office 2007 序列号:
DBXYD-TF477-46YM4-W74MH-6YDQ8
G2WGQ-4WDK3-PJKPW-98VXX-THFMJ
H6YPK-HY3DR-9T4MC-DYDBQ-PCWBJ
XVQC3-KY4GQ-DQFQP-JC624-QJRM
那请问,这些序列号如何产生?通过算法?
还是这些序列号本身在程序里,输入后直接核对是否正确?
我想要这样一个程序:
程序随机生成一组数字,然后将这组数字作为程序的ID,不可改变;
而序列号,是程序通过这ID算出来的,只有唯一正确的序列号才能通过程序的验证;
这样,虽然程序很多,但每个程序只有一个能验证通过的序列号(忽略随机生成的ID相同的情况),能避免多个程序可用同一个序列号验证通过。
请问,如何实现?
如果要用C语言写个能简单实现这个功能的程序,如何写?
[解决办法]
这个 是 破解 了吧
[解决办法]
C语言中rand()函数是产生随机数的,
你再用你自己设定的算法根据这个ID去计算你的序列号吧~~
[解决办法]
有自己的加密算法的。
[解决办法]
加密与解密。
[解决办法]
自己在做安装包时设置的
用IS打包工具就可以实现!
你可以试一试这款软件,祝你好运!
[解决办法]
看看加密解密吧!
ps: c库函数的rand()函数是伪随机的,有规律可循的。
在linux系统调用中有个正真的随机产生函数。
[解决办法]
生成序列号有很多种方法,我记得其中一种。是根据用户的个人信息通过某种运算(通常是不可逆运算)生成序列号,而且一个用户信息可以生成且仅可以生成一个序列号
个人信息很丰富,可以是用户姓名、银行卡账号或身份证号或他们的组合,还可以是计算机信息,随便想吧
了解这个可以看 加密与解密 这本书,建议楼主去看雪论坛看看
我还说一句,一般软件都不用rand函数,rand函数生成的都是伪随机数,在Windows和Linux平台上都有自己的生成随机数的函数
[解决办法]
win下边的GUID就可以~~Linux使用UUID都是唯一的格式基本一样,douhenku~~还有短线分割
[解决办法]