通过加密锁实现单机程序的保护

分类: 365bet国内 发布时间: 2025-07-15 14:09:48 作者: admin

需求防止软件被盗版或随意复制使用,需要实现软件和加密锁的绑定,有锁的情况下能正确执行程序,无锁不能执行。

应用将程序内重要参数(如string和char[]或byte[])或文件数据写入锁内,程序需要使用这些数据时,从锁内读取后供程序使用;将程序中部分源代码移植到锁内执行。使用方法方法1:

将程序中的参数或数据直接写入(也可加密后写入)锁内;程序运行时将参数或数据读出后(也可读后解密)使用;方法2:

通过keil编译器将预移植到锁内的代码使用C语言编译成的bin文件下载到锁内;锁外程序调用链接库中执行锁内程序的接口来传入传出参数;锁外程序使用锁内程序传出的结果继续执行。

示意图

满足的产品型号:Rockey-ARM、Rockey3提示1:加密的主要目的是将原本程序的部分关键数据放入锁内或代码移到锁中运行,如果调用加密锁这部分代码被跳过,程序将会缺少一部分关键数据或代码,从而没有办法正常运行。由于加密锁的运行速度无法与PC相比,所以只需要移植一部分代码到锁内即可,以保证不影响运行速度。

提示2:一般不要这样做:即获得加密锁内存放的数据或锁内程序运行的结果,然后在PC端对其进行比较判断来决定程序是否可以继续运行,因为这样很容易将比较直接跳过。最合适的方法是将加密锁内的数据或锁内程序运行结果用于其下继续运行的代码中,即这些数据或结果在下面继续运行的代码中将会继续用到,因为它本身是程序中的一部分,这样就可以达到,存在指定的加密锁,程序将会正常运行,不存在指定加密锁或加密部分被跳过,程序将不能正常运行,从而达到不被盗版的目的。

提示3:公私钥对是非对称加密算法中加解密操作的钥匙,公钥与私钥必须一一对应才能做到公钥加密后的密文使用私钥能够解密。如果公私钥不对应,密文还原明文将会失败。

提示4:发锁程序客户可以根据功能的需要来调用库文件自行开发,也可以使用开发包中提供的标准批量初始化加密锁的工具来完成。

上一篇: win10删除系统保留分区如何操作丨win10删除系统保留分区操作图解 下一篇: 代驾软件多少钱?

相关文章

HTML5视频播放全攻略:IE浏览器兼容性与优化技巧揭秘

HTML5视频播放全攻略:IE浏览器兼容性与优化技巧揭秘

8款高燃脂動作,快速剷除「大腿內側」脂肪,有感瘦出女團鉛筆腿

8款高燃脂動作,快速剷除「大腿內側」脂肪,有感瘦出女團鉛筆腿

在 iPhone 上安装或移除配置描述文件

在 iPhone 上安装或移除配置描述文件

PR蒙版教程 PR遮罩教程 如何使用PR创建蒙版实现遮罩功能

PR蒙版教程 PR遮罩教程 如何使用PR创建蒙版实现遮罩功能

世界杯G组: 英格兰vs比利时 比赛集锦

世界杯G组: 英格兰vs比利时 比赛集锦

支持光学防抖的手机有哪些?支持光学防抖的手机推荐

支持光学防抖的手机有哪些?支持光学防抖的手机推荐