我们都希望可以破解别人的软件,为自己所用。可是同时我们又不希望人家破解我们自己的软件。这可真是矛盾。
本文来谈谈软件的保护方法,了解了常用的保护方法,破解也就有的放矢了。
1.反od等软件的动态调试,有了这个用od动态调试就很难了,如果做的好,破解者就只能用ida静态分析,破解难度大大增加。
2.exe文件校验,有了这个,就算被人静态分析了exe内容,想要修改文件内容,完成关键跳转,也就很难了。
3.非对称加密,结合网络验证,就算抓包,也无法知道被加密的内容。使用时注意在服务器端用私钥加密,在exe文件中保存公钥,完成校验,这样想要伪造验证字符串也就不可能了。
4.dll白名单,这样破解者想要dll注入就不太可能了。
5.关键判断处不使用系统调用,而是自己编写校验代码,这样就能防止别人通过搜索关键函数破解。
6.将关键判断代码混淆,将验证算法打乱分散在几十,上百处,这样ida就无法通过F5反编译为c代码,加大了破解难度。
7.对网络验证的验证字符串变换,exe中用算法处理,变换验证字符串。
8.每次服务端返回的验证字符串都是不同的。
如果以上方法都同时使用了,被人破解的时间就会比较长了,起到了更好保护软件的效果。
你还知道哪些保护软件的方法呢?评论区见。
更多【谈谈软件的保护】相关视频教程:www.yxfzedu.com