融入了我所知道的 所有的 防破解思路,希望大家给个意见。
本帖最后由 -白衬衫- 于 2022-3-11 12:18 编辑各位大佬好,这个程序是尽我所学,用了各种奇技淫巧能设计出来的最强防破解版本。{:1_932:}
我作为开发者,我了解我的程序,但我无法破解,我的矛无法攻破我的盾。{:1_908:}
里面用到了网络校验、VM壳、暗柱、各路大神的反调测模块等等。(无攻击性,只会崩溃程序):handshake
希望各位大佬帮忙测试一下破解难度,破解成功后能提点一下防范措施就最好了,谢谢。{:1_919:}
附软件图:
附成功图:
PS:如果觉得有难度,可以回复您的机器码给您发注册码辅助破解。
2022年3月11日:
截止发帖时间,暂时还没有大佬成功:victory:
我更新一下我的防破解思路,供编写大家参考,同时附上代码图文:$qqq
(业余水平,全部自学,从事非本专业,“代码逻辑有漏洞、有更好的写法、代码写的很烂”是正常现象,望指正,勿喷。)
加密思想:
1、字符串加密:重要字符串进行加密,比如用字节集、图片、数学运算等方式,切记不要明文写进代码里,特别是报错部分。硬件码也加密,如MD5之类的,别让人一看就知道你取的是什么硬件码
2、子母程序:主程序负责验证身份,验证完成后直接内存运行子程序(有功能的程序),主程序验证完成后通过参数形式把子程序的关键代码部分传入,若非正常步骤,则无关键代码,程序不完整,这就是暗桩了。
3、暗桩:发现程序被修改后不要马上报错,运行几分钟后退出,而且时间还是随机的,退出之前用假的逻辑判断来退出。暗桩推荐在以下几个位置进行效验:1.功能执行代码中,2.软件常用功能事件中,等这类位置进行判断,不影响软件正常运行效率即可。
4、更高级的暗桩:建立一个参数,在关键的时候判断是否被破解,如果不是当然没问题了,如果是的话,把要进行的操作的数据改动一下,而且就由这个参数起作用,这样使用破解版最后操作的结果就是一堆垃圾数据
5、文件效验:效验失败的时候,软件不要去提示什么文件被非法篡改等信息,发现后直接执行关闭代码就可以了,或者故意来个数组错误,内存溢出等代码,如果要在多个位置调用,尽量不要重复的调用一个子程序,应该随机多创建多个独立子程序,分别调用。
6、MD5自校验:把编译加壳完成后程序的MD5写在程序尾,运行程序后拿取数据和自身对比。
7、网络验证:取当前程序MD5+时分加密,传到服务器对比,若对比成功无修改,下发加盐加密后的关键代码。
8、关键代码:若网络验证不通过,则程序是不完整的,强行爆破也无法正确运行。
(以上内容部分参考网络上大神们的思路,文字内容有摘抄,如有侵权,留言后删除)
PS:如果接下来几天还是没有大佬成功解开,我会重新修改程序,分别降低难度再发上来。(去除网络验证、去除VM壳、去除反调试等)
下载地址
https://wwz.lanzouv.com/iSXHK01974gd
挺有意思的,晚上看看 今天在发现CM区,这是浪费了多久? 云在天 发表于 2022-3-10 16:43
挺有意思的,晚上看看
大佬厉害,图中很多关键词都是程序中使用的代码。{:1_893:}
其中涉及到网络校验、自校验的关键数据我都进行了加密处理,还做了“加盐”混淆。 MT管理器有用到第八种方式, 还有对程序进行了混淆 有点意思,关注一下 我也插个眼学习一下! 看起来很厉害!学习一下! 说一下我的看法,程序不管你用什么算法怎么加密都是不安全的,因为加密的最终目的就是解密,无非就是从a点到b点的过程,只有愿意花时间和技术的支持找到b点的位置就好了中间的过程其实没有意义,因为所有的内容都在内存里面,不要太依赖本地计算,要多整点运计算在里面那样才安全一点 mark一下 czyr 发表于 2022-3-15 04:29
说一下我的看法,程序不管你用什么算法怎么加密都是不安全的,因为加密的最终目的就是解密,无非就是从a点 ...
大佬 正解呀{:1_893:}
页:
[1]
2