TC官方合作论坛

 找回密码
 立即注册
查看: 2152|回复: 1

[源码分享] 自己琢磨了一个本地卡密验证,请大佬指点

[复制链接]
发表于 2022-6-10 07:19:02 | 显示全部楼层 |阅读模式
变量 dm, 卡密日期, 子界面句柄
功能 卡密验证()
    变量 时间, 卡密, 硬盘序列号
    时间 = 获取网络时间()
    卡密 = editgettext("编辑框_卡密", "组队重连")
    卡密日期 = aes解密(卡密, "lijun0223")
    变量 长度 = 字符串长度(卡密日期)
    变量 起始位置 = 字符串查找(卡密日期, "AA")
    变量 机器码 = 字符串截取(卡密日期, 起始位置 + 2, 长度)
    如果(机器码 == aes加密(dm.GetDiskSerial(), 1))
        卡密日期 = 字符串截取左侧(卡密日期, 起始位置)
        变量 最后使用日期 = 字符串截取(卡密日期, 0, 9)
        如果(取整(timeyear(卡密日期)) <= 0)
            消息框("卡密不合乎规范,请确认卡密是否输入正确")
        否则
            调试输出(卡密日期)
            调试输出(时间)
            变量 年间隔 = (时间间隔("y", 时间, 卡密日期))
            变量 月间隔 = (时间间隔("m", 时间, 卡密日期))
            变量 天间隔 = (时间间隔("d", 时间, 卡密日期))
            调试输出(年间隔 & 月间隔 & 天间隔)
            如果(年间隔 >= 0)
                如果(月间隔 >= 0)
                    如果(天间隔 >= 0)
                        消息框("使用时间剩余:" & 天间隔 & "天")
                        打开脚本窗口()
                    否则
                        消息框("卡密过期")
                    结束
                否则
                    消息框("卡密过期")
                结束
            否则
                消息框("卡密过期")
            结束
        结束
    否则
        消息框("卡密不合乎规范,请确认卡密是否输入正确")
    结束
结束
功能 读取卡密()
    变量 卡密, 路径
    路径 = 系统获取进程路径()
    卡密 = 文件读配置("卡密", "卡密", 路径 & "/Config.ini")
    editsettext("编辑框_卡密", 卡密)
结束
功能 保存卡密()
    变量 卡密, 路径
    路径 = 系统获取进程路径()
    卡密 = editgettext("编辑框_卡密", "组队重连")
    文件写配置("卡密", "卡密", 卡密, 路径 & "/Config.ini")
结束
功能 注册大漠()
    变量 ret = 是否注册("dm.dmsoft")//判断是否注册
    如果(ret == 真)
        调试输出("插件已注册")
    否则
        ret = 注册插件("rc:dm.dll", 真)//注册插件
        如果(ret == 真)
            调试输出("插件注册成功")
        结束
    结束
    dm = 插件("dm.dmsoft")//创建对象
    dm.SetPath(获取资源路径("rc:"))
结束
功能 获取机器码()
    变量 硬盘序列号 = dm.GetDiskSerial()
    标签设置文本("标签1", aes加密(硬盘序列号, 1), "组队重连")
结束
功能 组队重连_初始化()
    注册大漠()
    获取机器码()
    读取卡密()
结束
功能 组队重连_销毁()
    保存卡密()
结束
功能 按钮2_点击()
    卡密验证()
结束
功能 打开脚本窗口()
    子界面句柄 = 控件打开子窗口("脚本窗口")
    变量 窗口句柄 = 窗口获取自我句柄()
    窗口隐藏(窗口句柄)
    窗口隐藏(窗口句柄)
结束
功能 按钮0_点击()
    设置剪切板(标签获取文本("标签1", "组队重连"))
结束
----------------------------------------------------------------------------------------------------

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

发表于 2022-12-11 09:12:11 | 显示全部楼层
这种就是早期的取硬盘序列号加密,你这个是另外加了一个时间验证,这种东西的问题不在于是本地验证或者网络验证,或者说解密难度,更重要的是软件本身的坚固性,这种逻辑在汇编体现出来其实就是2个跳转的事情,所以更重要的是要做软件本身加固.
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-4-27 08:39 , Processed in 0.036043 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表