工程文件 Unity唯一机械码激活开发-Unity3D文档类资源-CSDN下载
功能需求,打开开发好的软件,首先需要进入激活界面,激活界面中事先已经拿到了本电脑的唯一识别码,然后复制识别码,到激活程序。拿到一个激活码,即可激活。需求分为两部分,第一部分是写一个加密程序,加密程序是通过对机械码,数据抽取,时间限制等拼接,组成一个加密字符串。第二部分是解密程序,根据得到的加密字符串,通过算法对照,时间对照,即可得到解密。闲话休提,上图。
加密程序界面
解密界面
机械码拆解组成
加密程序代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public enum DataLimi {
qt,
ss,
bn,
yn,
nn
}
public class InfoDNS : MonoBehaviour
{
// Start is called before the first frame update
string str;
public Text tx;
public InputField shibiema;
public InputField jihuoma;
public DataLimi DL = DataLimi.qt;
public Dropdown DP;
void Start()
{
if (DP.value == 0)
{
DL = DataLimi.qt;
}
else if (DP.value == 1)
{
DL = DataLimi.ss;
}
else if (DP.value == 2)
{
DL = DataLimi.bn;
}
else if (DP.value == 3)
{
DL = DataLimi.yn;
}
else if (DP.value == 4) {
DL = DataLimi.nn;
}
}
// Update is called once per frame
void Update()
{
if (DP.value == 0)
{
DL = DataLimi.qt;
}
else if (DP.value == 1)
{
DL = DataLimi.ss;
}
else if (DP.value == 2)
{
DL = DataLimi.bn;
}
else if (DP.value == 3)
{
DL = DataLimi.yn;
}
else if (DP.value == 4)
{
DL = DataLimi.nn;
}
}
public void Jihuo() {
str = shibiema.text;
GetJi(str, DL);
}
void GetJi(string Str, DataLimi dl)
{
if(str.Length < 40||string .IsNullOrEmpty(str))
{
tx.text = "无效识别码,重新输入";
shibiema.text = "";
return;
}
int value0 = Random.Range(0,40);