外链论坛

 找回密码
 立即注册
搜索
查看: 17|回复: 2

一不小心用matlab做了个matlab注册机

[复制链接]

2930

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109437
发表于 2024-10-3 02:37:59 | 显示全部楼层 |阅读模式

想必大众对注册机这三个字并不陌生,不少软件采用经过绑定用户硬件信息的方式来进行软件授权,这其中就触及设备码和注册码两个概念,前者是按照用户的计算机硬件信息结合加密算法生成的能够独一标识用户机的一串字符串,后者则是软件研发者或授权方基于用户供给设备码给予软件授权的一串字符。

为了科研学习注册机的工作原理,博主利用闲暇之余写了一款matlab版的注册机,它能够完美的嵌入到任何采用matlab编程的程序代码中。大众晓得,pcode加密方式并不安全的,有能手能够轻容易松破解。行之有效的办法便是将编程的matlab程序编译成可执行文件,如exe,这般就能够在必定程序上守护作者的原始代码。倘若想进一步守护自己的成果,例如研发的程序的部分高级功能只想向特定的用户研发那样这个时候就需要一种方便的方式来对用户进行识别,注册机模式便是一种行之有效的办法。

1、注册机客户端

首要,需要运用matlab读取计算的硬件信息,常用的硬件信息包含CPU、BIOS、硬盘、主板、MAC位置等。对提取的硬件信息进行采用一定的加密算法进行加工处理成所说设备码,如移位加密法、替换法等等。设备码是在用户端计算机上生成的,用于标识用户当前所运用的计算机。

    注册机客户端界面源代码    %%Creat interfacescr = get(groot,ScreenSize);output = DecryptData(1);pictkhd=figure(position,[scr(3)/2-200,scr(4)/2-100, 700,200],name,欢迎加入原创代码与研究论文Q群:921720886,NumberTitle,off,menubar,none,toolbar,none,... Resize,off);uicontrol(pictkhd,style,text,position,[5 150 710 40],string,m文件注册机(客户端),FontSize,26);uicontrol(pictkhd,style,text,position,[5 103 710 40],string,源代码已上传至原创代码与研究论文Q群,... FontSize,15,FontWeight,bold,ForegroundColor,r);%% 设备text1=uicontrol(pictkhd,style,text,position,[20 80 150 25],string,设备码:,FontSize,12);fileinput=uicontrol(pictkhd,style,edit,position,[130 80 520 30],string,output,FontSize,10);%% 一键复制fzbutton = uicontrol(pictkhd,Style,pushbutton, String, 复制,Position,[655 80 40 30],FontSize,10,Callback,clipboard("copy",output););%% 注册码text2=uicontrol(pictkhd,style,text,position,[20 40 150 25],string,注册码:,FontSize,12);fileoutput=uicontrol(pictkhd,style,edit,position,[130 40 520 30],string,,FontSize,10);ztbutton = uicontrol(pictkhd,Style,pushbutton, String, 粘贴,Position,[655 40 40 30],FontSize,10,Callback,ZCM = clipboard("paste");set(fileoutput,"string",ZCM););%% Dectyptiondncrypt=uicontrol(pictkhd,style,pushbutton,position,[200 5 100 30],string,注册,FontSize,12,CallBack,DecryptData(1,fileoutput););%%EXITexiting=uicontrol(pictkhd,style,pushbutton,position,[450 5 100 30],string,退出,FontSize,12,CallBack,close(pictkhd););

2、注册机服务端

用户将软件生成的设备码发送给软件研发者或授权方,得到设备码后,将设备码粘贴在服务端的设备码处,点击生成注册码就可生成注册码。软件研发或授权方将注册码发给用户,用户运用注册码就可完成软件的授权认证。

    注册机客户端界面源代码    %%Creat interfacescr = get(groot,ScreenSize);pictzcj=figure(position,[scr(3)/2-200,scr(4)/2-100, 700,200],name,欢迎加入原创代码与研究论文Q群:921720886,NumberTitle,off,menubar,none,toolbar,none,... Resize,off);uicontrol(pictzcj,style,text,position,[5 150 710 40],string,m文件注册机(服务端),FontSize,26);uicontrol(pictzcj,style,text,position,[5 103 710 40],string,源代码已上传至原创代码与研究论文Q群,... FontSize,15,FontWeight,bold,ForegroundColor,r);%% 设备zcjtext1=uicontrol(pictzcj,style,text,position,[20 80 150 25],string,设备码:,FontSize,12);zcjfile_input=uicontrol(pictzcj,style,edit,position,[130 80 510 30],string,,FontSize,10);ztjqmbutton = uicontrol(pictzcj,Style,pushbutton, String, 粘贴,Position,[655 80 40 30],FontSize,10,Callback,ZCM = clipboard("paste");set(zcjfile_input,"string",ZCM););%% 注册码zcjtext2=uicontrol(pictzcj,style,text,position,[20 40 150 25],string,注册码:,FontSize,12);jieya_output=uicontrol(pictzcj,style,edit,position,[130 40 510 30],string,,FontSize,10);zcjbutton = uicontrol(pictzcj,Style,pushbutton, String, 复制,Position,[655 40 40 30],FontSize,10,Callback,clipboard("copy",get(jieya_output,"string")););%% Dectyptionencrypt = uicontrol(pictzcj,style,pushbutton,position,[200 5 100 30],string,生成注册码,FontSize,12,CallBack,DEncrypt(zcjfile_input,jieya_output););%%EXITexiting = uicontrol(pictzcj,style,pushbutton,position,[450 5 100 30],string,退出注册机,FontSize,12,CallBack,close(pictzcj););

为了更好的演示matlab版注册机运用,在客服端添加了一个文件解密功能,用户得到认证后就可运用该功能,如未得到不可运用

实现原理并不繁杂这儿只是抛砖引玉,小伙伴们能够按照自己的理解写一款自己的matlab注册机,这儿就不上传完整源代码了。完整源代码已上传至原创代码与研究论文Q群(群号:921720886),如有对本文所讲注册机感兴趣的伙伴,可在matlab兴趣公众号中回复“原创”加群获取源代码。

回复

使用道具 举报

2966

主题

2万

回帖

9910万

积分

论坛元老

Rank: 8Rank: 8

积分
99109350
发表于 2024-10-6 08:38:41 | 显示全部楼层
你的话语真是温暖如春,让我心生感激。
回复

使用道具 举报

2989

主题

2万

回帖

9915万

积分

论坛元老

Rank: 8Rank: 8

积分
99159233
发表于 2024-10-17 03:13:17 | 显示全部楼层
楼主继续加油啊!外链论坛加油!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点统计|Archiver|手机版|小黑屋|外链论坛 ( 非经营性网站 )|网站地图

GMT+8, 2024-11-5 14:50 , Processed in 0.071262 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.