user11 发表于 2015-6-1 15:52:25

如何验证软件自身md5防止被修改破解

写了个小软件,可是总有人要破解,于是想是否可以在程序本身内置md5校验,

当发现程序自身md5与初始值不一样,就不运行,从而达到防止破解的目的!

但是每次编译后,程序md5不是固定的,大神这个有什么方法?

放到外部配置文件,或者网络返回md5很容易修改,或者被破解,没有思路,想写到程序内部!

chzj589 发表于 2015-6-1 16:04:03

回复 1# user11

可设计防止修改作者的名字,但是要真正的防止破解好象还没有办法。
因有反编译,只能防君子,不能反小人

lahan 发表于 2015-6-3 20:06:19

代码过程是很容易被反编的。只是把重要数据封装到dll,向dll取数据的时候判断程序的相关属性,比如exe的md5,程序名,版本等相关信息是否和dll中保存的信息一致。若不相等则不返回数据。一些重要变量可以通过dll返回用Assign创建,用Execute执行一些重要的语句。如此即使源码被破,但是一些变量和语句缺少也会增加小人的难度。再有,给dll的数据加密,通过返回的密匙解密后才能被程序使用。关键是密匙的算法、藏身和传递了。

skyfree 发表于 2015-6-4 11:48:25

程序不编译成EXE就不能获得MD5,而编译成了EXE就没法将MD5写进代码了,死循环。

f4李文杨 发表于 2015-6-5 18:26:13

阻止不了真要被反的话!

wei999 发表于 2015-6-5 21:27:12

{:face (332):}

wei999 发表于 2015-6-5 21:27:23

{:face (332):}

redapple2008 发表于 2015-6-6 11:09:32

你做了什么软件,发来大家也玩玩。

redapple2008 发表于 2015-6-6 11:09:39

你做了什么软件,发来大家也玩玩。

h20040606 发表于 2015-6-7 04:54:36

这个好像是不可能的。

lin6051 发表于 2015-6-7 14:56:36

网络验证md5是否一样
页: [1]
查看完整版本: 如何验证软件自身md5防止被修改破解