|
破解我不懂 希望懂破解的朋友可以来说说 破解能做到什么 不能做到什么,比如 能绕过某一段代码,能禁止跳转 比如if等,能改变量的值.. 哪些可以做到,哪些做不到呢?
分享个我目前觉得比较好的防止破解的方法,不知道好不好 不好的话大家别笑我咯 大家都沟通交流一番,
我的防破解思路是根据不同的软件进行不同的设计,先说说大致的过程
新建一个dll,里面很简单,一个类,这个类是可以序列化的,然后类下面一个变量跟一个方法,
变量是 public List<string> cName; //没有初始化 为Null 非静态
方法是你要防破解的这个软件中必须要用到的方法,但是这个方法也很简单,大家随便百度就能找到,比如鼠标点击, 同样也是非静态
【注册文件验证】
然后通过我们自己的注册机来实例化这个类,并根据用户实际信息来加密这个类 序列化,然后保存为注册文件,这里将对象转化为byte[]的时候可以用用户的机器码信息来进行加密, 我用的是密匙跟向量, 由一个机器码得到两个string是很简单的,比如md5,截取,翻转 等等,得到后加密类对象 生成的文件发给用户吧,用户得到文件 软件运行时获取自身机器码,同样的方法得到密匙跟向量,解密类对象,然后在软件中 有用到类对象中List<string>cName中的任何一个的时候 都通过这个对象来实现,当然方法也是,如果机器码不对,解密出错,则类对象为Null 其对应的cName和方法都不可用 程序直接奔溃掉,
比如很多人做post get相关的软件,直接把post跟get这两个单词放到cName中,,,等等,自己发挥想象,此处还有很多哟,应该能组合出用户软件使用期限的组合
【Socket验证】
一样的,将类对象发过来就是,
混淆软件, 只做exe就好,那个dll不能(我们的dll很简单,一个List<string> 这个可以随便添加,将需要的东西放到哪一个Index你随意),不然没法序列化和反序列化的,
大家交流下呗 怎么样,
|
|