Fortran Coder

标题: 请问如何给程序加密、授权。 [打印本页]

作者: mxdmxw    时间: 2021-12-21 15:40
标题: 请问如何给程序加密、授权。
我想给自编程序加密,要求:
1、程序在运行检测是否有授权文件,如有则可继续运行,若无则中断运行,并生成请求文件。
2、请求文件根据检测机器码(cup id 和硬盘ID)加密并生成,实现一机一码。
3、根据请求文件生成授权文件并发给客户。

请问有大神指点!

作者: fcode    时间: 2021-12-22 08:17
这个问题没有标准化的流程,都是每个软件开发商根据这个整体的套路自行设计的过程。
获取机器码的方式,如何根据机器码计算授权码(或授权文件)等,都是特别定制的过程。

具体实现上,基本上有两类:
1. 源码级实现,需要自行书写获取机器码、计算授权码、无授权的判定等过程。
2. Shell 壳实现。这种实现无需改变源代码,而是对原有代码编译后的可执行文件(.exe)再次加壳,并在壳内嵌入获取机器码和判定是否授权的代码。

第一类方法实现比较麻烦,需要学习一大类的东西。(当然也有相关的软件安全产品帮助你实现,类似一个第三方函数库)
第二类方法,如果借助已有的工具,就变得非常简单了。例如 zprotect,acprotect 这类工具。

需要了解的是,无论通过何种方法实现,安全性都不能做到100%。
而且不同方法的安全性都不同,如果你的软件特别有价值,需要安全级别很高,需要你对整个安全领域时常关注,最好采用市面上比较新的软件狗产品。
作者: mxdmxw    时间: 2021-12-22 10:12
其实要求也不需要特别高,主要是想可以限定在一定范围内使用。Zprotect我试了下,加壳后系统自带的杀毒软件报病毒,不知道是不是软件自带病毒还是杀毒软件的检测机制认为这就是病毒。
作者: fcode    时间: 2021-12-22 20:55
壳类的方法,就是容易被误报




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2