本帖最后由 深蓝Ace 于 2013-8-20 09:52 编辑
首先声明,本帖转自易语言汉语编程官方论坛原帖地址:?tid=270800
功能:
自动判别程序是否被非法修改,就算改一个字节都不行!
作用:
防止程序被修改:1.收费被跳过:如果没自校验收费程序会被修改而跳过注册判断,像破.解.版的易语言就是被这样的,所以涛哥也损失了很多注册费;2.广告被修改:防止程序窗口标题或关于窗口的“广告”被改,如果没自校验,如你的窗口标题是“异编远控 QQ:XXXX”,破解者的把它改为:“小飞远控(这里随便打的,不针对任何人) QQ:YYYY”,这样其他用户还以为是小飞写的这个程序,而不是你异编;3.被病毒感染,信誉损失:如果没自校验你的程序被感染后不轻易发现还会继续流传网络中,其他用户还以为你故意散播病毒程序,你的信誉、你的第二生命财产将受到严重打击!
使用方法:
调用模块中子程序:自校验_() ' 这里请加个判断,当然为了安全也可用 循环 代替,这里鄙视下用【开源】标题却没有开源核心代码而用模块替代的人。本贴说的【开源】主要是公开核心模块的源码。
正常返回 假
异常返回 真
升级说明:
*修正:编译后的程序程序相对上一版本更小、更快、更稳定!
*修正:支持黑月编译器编译!
*修正:对重新编译后的模块中的文本内容随机打乱(如:原文本为"123"随机打乱后可能是"abc",也可能是"xyz"…),防止跟踪!
*模块作者:纵横(第一版发布日期是2010年8月12日)
*本次修正:追异
备注:
*模块仅可用于exe程序中,DLL中勿使用!
*内部提示在首次运行后会自动删除,仅使用API与核心支持库完成,支持完全、黑月、动态、静态等编译器编译。
*使用方法请看内部说明。
----------------------
首次运行程序,模块代码将重新编译程序,编译后模块中提示信息会被清除(没完全清除,但按上面说的会随机打乱),需要注意的是:
*如果您要为程序加壳或“黑月”等修改程序的操作请做完这些操作后再运行,否则一律视为非法修改,模块代码将返回“真”报告程序被修改!
对比其他自校验方法优势:
1.非联网对比,不用考虑网络问题和可能引起误报,且效率高N倍。
2.非DLL保存MD5,节省空间且防“伪DLL”。
3.非其他文件保存MD5,不必考虑其他文件被同时修改,而验证失效。
4.非外部exe修改本程序文件,使用更简单。
5.公开源码,直接了解内部原理(而且为了达到防破解的难度,可自由插花、或修改易跟踪的代码)。
6.等待发现……
未修正的BUG(哪位高手能改改?万分感谢!):
1.由于直接要用到文件内的数据,压缩程序会造成exe压缩后找不到数据(当然你可以不压缩,加壳还是可以的)。
2.由于用到了“到文本()”等命令,所以不支持斩月编译,不过大家可以用苗条版黑月(非 云外归鸟),文件尺寸直逼斩月,详见例程尺寸!
3其他暂未发现的BUG
由于发布匆促,源码没什么注释->关键思路是,假设用于保存MD5处的字节集为空格,不管它的字节集是什么,都永久假设为空格,并以这个非真正字的文件节集计算MD5,这样不管破解者是改了这个保存MD5用的字节集还是其他字节集都会造成校验结果对不上,也攻破了“专家”说的文件中加MD5后它的MD5又变了,无法实现exe文件中加MD5的言论
使用效果:
首次运行→_→

首次运行.jpg (23.04 KB, 下载次数: 6)
下载附件
首次运行
2013-8-14 08:40 上传

重新编译.jpg (24.09 KB, 下载次数: 6)
下载附件
重新编译
2013-8-14 08:40 上传

未修改提示.jpg (23.43 KB, 下载次数: 3)
下载附件
未修改提示
2013-8-14 08:40 上传

修改.jpg (44.96 KB, 下载次数: 6)
下载附件
修改
2013-8-14 08:40 上传

修改后效果.jpg (25.3 KB, 下载次数: 5)
下载附件
修改后效果
2013-8-14 08:40 上传
