首先,我们得在发布的软件里面先写几段代码,获取自身软件的MD5值
将下面代码放在启动窗口创建完毕下,然后编译源码,源码编译出来后,我们尝试打开看下,是不是效验失败了?
上面的代码原理是,读入自身字节集,然后通过 取数据摘要()得到自身MD5值
这个MD5值的长度 它都是固定的32位,其中尾部32个字节数据,是我储存的软件MD5
这条数据得在软件编译出来后写出。
第二步:
要想打开上面编译的软件,并效验成功,我们需要打造一个专门给软件尾部写入MD5的工具它的界面如下。
我们将刚才编译好的软件,拖入文件效验工具中,点击按钮【开始写入】
提示,写入成功就可以了,这时候我们再打开之前编译的软件,看看这时候是否能正常效验成功,正常打开?
这样我们就能通过该办法得知我们的程序是否有被篡改,给软件留下暗桩,保护劳动成果
建议MD5信息通过加密算法进行储存,储存的位置也可以自定义,当文件效验()失败的时候,软件不要去提示什么文件被非法篡改等信息,发现后直接执行关闭代码就可以了,或者故意来个数组错误,内存溢出等代码,应该很简单吧?
这样能很大程度上防止破J的朋友通过文明,关键提示信息等定位到暗桩在那里,如果要在多个位置调用,尽量不要重复的调用一个子程序,应该随机多创建多个独立子程序,分别调用
建议不要直接在启动窗口创建完毕下去判断
推荐在以下几个位置进行效验:
1.功能执行代码中
2.软件常用功能事件中
等这类位置进行判断,要不影响软件正常运行效率即可。
下一篇 禁止运行你制定的软件