[原创]VB注册机独辟蹊径-----注册机也可以这样写
来源:互联网 发布:手机端js弹出软键盘 编辑:程序博客网 时间:2024/06/11 17:07
刚开始想用正规的注册机办法去完成,搜罗了半天,发现现在大部分的硬盘注册机 其实并不是读取硬盘的物理序列号来进行加密的,而是采用读取磁盘分区卷标号来作为加密的基值。先按照读取磁盘卷标号开发了注册机程序,在自己的三台电脑上测试都没问题,也就是说没出现过读取卷标号重复的情况。结果第二天发给客户测试,客户反应用了几台电脑的注册码全部一样,瞬间石化。
后来自己分析过,可能是由于现在的操作系统都是用的Ghost方式,如果采用相同的Ghost相同可能造成磁盘分区都一样的情况出现。算了后来还是不用这种方式了,苦于时间紧急没有时间去移植读取磁盘物理序号来加密的程序。百般无奈之下想到了一个很低级的办法,但是别人也不好破解,下面进入正题介绍如何用自己的方式写出比较可靠地注册机,暂且给这种方式取名叫做“BR”法。
第一部分,程序效果展示。
第一次运行会弹出注册界面,提供机器码,要求输入注册码注册。为了调试方便,增加了一个注册码提示功能。效果如下图:
1、输入注册码错误的情况:
2、输入正确的注册码的情况:
第二部分,实现原理:随机数产生+注册表
基本原理是:软件第一次运行的时候,将注册码变量写入系统注册表,赋值为0;同时系统产生一个N位的随机数,经过自己设计的某种算法(加密)得出一个机器码并且显示在注册机界面。如果输入的注册码正确的情况下,将正确的注册码写入注册表,覆盖初次运行赋值的0;那么下次再运行软件的时候,首先会去读取系统注册表的值如果不等于0,则说明已经被正确的注册码覆盖,就可以跳过注册这一步;相反如果输入的注册码错误,就不会去写注册表,那么注册表变量的值一直是0.
贴出程序供大家参考:
1、注册界面代码:
1 Private Sub Command2_Click() 2 End 3 End Sub 4 5 '窗体加载程序,生成随机数,计算注册码,保存随机数并写入系统注册表 6 7 Private Sub Form_Load() 8 9 Dim m As Integer, n As Integer, r As Integer, x As Integer, y As Integer10 11 m = 201612 n = 2016013 Randomize '随机数初始化声明14 15 '再用Rnd函数产生随机数16 '如果产生一个N到M之间的随机数(n>m,包含n,m)表达式可为;17 r = Int(Rnd * (n - m + 1) + m)18 19 comnum = r '将随机数存储到模块全局变量,防止变化20 21 22 Text3.Text = r '注册码提示,用于测试23 24 x = r - 9 * 181 '由机器码计算注册码的简单算法25 26 Text1.Text = x '显示机器码27 28 Dim num_reg29 30 '如果注册表存在,则读取;不存在的话,创建注册表项31 32 num_reg = GetSetting("Internet Explorer", "Startup", "regedit", 0) '条目取名为了混淆概念33 34 If num_reg > 0 Then '如果num_reg>0 说明该项目已经被修改为注册码,即:已经注册过,所以直接跳到主窗体35 Unload Me36 Form_main.Show37 38 End If39 40 End Sub41 42 Private Sub Command1_Click()43 44 y = Text2.Text '获取输入的注册码信息45 46 'Text4.Text = comnum '将模块中存储的随机数赋值给text4,测试用47 48 If y = comnum Then '如果输入的注册码与产生的随机数完全一致,则进入主程序;否则弹出对话框49 50 SaveSetting "Internet Explorer", "Startup", "regedit", comnum '当写入的注册码正确时,将正确的注册码保存到注册表当中,下次启动时先检测注册表项目51 '根据注册表值决定是否需要弹出注册窗体52 Unload Me53 Form_main.Show54 55 Else56 MsgBox "注册码错误", , "信息提示"57 End If58 59 End Sub
2、主程序窗口:简单的增加一个Label 显示一句话:恭喜,属于你自己的注册机运行成功了!
第三部分,注册码生成工具。
注册码生成工具比较简单了,直接完成自己设计的算法的逆向就可以了。
- [原创]VB注册机独辟蹊径-----注册机也可以这样写
- ASP也写邮箱注册机-sohu邮箱批量注册器-ASP高级编程交流
- Keil C51 V8.05软件可以直接到官方网站下载,这样可以保证是正版的软件。然后用下面的注册机注册一下就可以了。
- 【原创】破解光影魔术手0.24注册机(VB)源代码
- 教菜鸟写注册机
- Delphi类也可以这样写
- 原来SQL也可以这样写
- LIKE语句也可以这样写
- UltraEdit 注册机注册
- “发送到”也可以这样用(原创)
- PL/sql9注册机,绝对可以用。
- 真没想到VB也可以这样用之指针技术
- 我写的RadControls_Q1_2005注册机
- python写的第一个注册机
- 逆向CrackMe-01写注册机
- 逆向CrackMe-02写注册机
- 逆向CrackMe-03写注册机
- 注册机
- [原创]AM3352 + TPS65910 调试方法+调试记录
- TI公司Tina-ti和FilterProDesktop下载地址
- ZigBee On Windows Mobile--ZigBee模块天线设计
- [原创] 使用LP Wizard 10.5 制作 Allegro PCB封装
- 前端概率最高的面试题
- [原创]VB注册机独辟蹊径-----注册机也可以这样写
- or cad drc 错误
- Python(14):定时执行一段任务
- 热插拔原理和应用
- windows webrtc编译一:环境准备
- 2.4G高频PCB天线设计
- 【转载】USB2.0接口差分信号线设计
- microstrip(微带线)、stripline(带状线) 指什么?
- 阻抗计算(用SI9000如何计算微带线)