开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1445|回复: 3
收起左侧

[图文资料] [易语言软件加密技术]第三章

[复制链接]
结帖率:53% (9/17)
发表于 2013-4-12 21:11:30 | 显示全部楼层 |阅读模式   广东省珠海市
三.防止程序内容被更改
从本节开始,已进入讲解加密的正题,但可能章节不必这样划分,即按加密/破解的方法来划分,如防反调试,反跟踪,反……。但笔者觉得,从一个一个小的知识点的进入是非常重要的。
下面的有些内容是我请教了酒桶醉死的经验后总结的,在此表示感谢。
1.防止软件名称被更改
这里是极为简单的方法:
判断(到大写(取执行文件名() = “我的程序.EXE”)
在上述中,为何使用到“判断”命令,而不是“如果”命令呢,大家可以想一下,“判断”命令的代码安全性要比“如果”命令高,这里不会举出一个汇编的例子,只要说明一下即可。即“判断”命令是多重分支结构,这样就增加了被破解的难度,因此,大家一定要注意这样一件事情,就是在进行加密比较时一定不要使用比较的语句,那样很容易被奸人使用破解工具下断点,那么正确的做法应该是如何的呢,请看下面代码:
计次循环首(到数值(是否注册成功()),)
全局_注册成功 = 1
计次循环尾()
通过上面的代码可以看出,这里没有使用判断语句,而采用了一个循环命令去参与。其中“是否注册成功()”确实是返回了一个逻辑值,但通过“到数值()”命令后就会被为01之间的一个数字,会用易语言的人都知道,一个循环命令中,如果循环数为1,会执行循环中的命令,否则为0不进入循环。生成机器码后,奸人会很难找到判断的汇编码,大大加强了保护性。
上述的基本方法是有了,但请您将这个方法隐藏于您的程序代码行的某一深处,实际上加密是各种方法的综合,现在所教的只是其中的一种,大家要将多种加密方式用于一个软件之中。这需要大量的时间学习与体会。
加密第1定理:“如果()”语句一定不要出现在加密算法中。
加密第2定理:用“循环”类命令代替判断语句。
2.防止窗口标题被更改
窗口标题是否被别人更改这个也可以通过与上述同样的方法实现验证。
判断(_启动窗口.标题 = “我的程序.EXE”)
大家也许会说,这些好象没有必要吧,谁会这么无聊,将软件的名称与窗口标题更改呢,大家看这样一个例子吧:有一个电脑培训班,采用了明伦五笔练习打字软件进行电脑培训班,他们破解了,且修改了明伦打字软件的版权信息,改为自己电脑培训班的标志,产生的教学效果即:学生认为这家培训班的技术实力很强,自己可以开发打字软件,而且经常弹出电脑培训班的标志与广告,产生了很好的广告效果,学生介绍学生,更多的学生参与进来了。
从上述事件看,很显然明伦打字软件的作者一点好处也没有,全部被破解者侵占了。因此一个好的软件保护必须是全面而且周到的。
另外,我要提醒大家的是,这样的语句也是非常不保险的,这样的话很容易被奸人改了字符串,以致于字符串也被更改了,或很快能找到比较的地方,从而轻松跳过去。较为理想的是将字符串打乱,即将“我的程序.EXE”以“字符()”、“取代码()”、“取反()”、“异或()”等命令用字符串相加的方法加在一起成为一个字串后再比较。
判断(取数据签名(_启动窗口.标题) = 取数据签名(“我的程序.EXE”))
3.防止LOGO图片被更改
有的人怕程序信息被更改,采用了图片显示程序标题的方式,这样这种图片较不易被奸人修改,但可能也有个别高手进行修改,因此图片的大小是知道的,这样可以用以下语句进行判断:
计次循环首(到数值(取字节集长度(_启动窗口。底图)=342488)),)
其中上述的数字是您已知的图片大小尺寸字节数,而不是乱写得来的。
也可以将图片放在易语言的资源中,直接进行比较。
计次循环首(到数值(_启动窗口。底图)=#图片1),)
以上方法虽然软件的体积大了一些,但带来的直接好处是,程序量一大,为破解带来了更大的困难,虽然损失了体积,但保证了安全。
你的关于窗口也要这样保护起来哦。
使用数据操作支持库中的“加密数据()”、“解密数据()”命令加密图片后存放在图片资源中,用时再解密显示出来。例如您的一些口令就直接用这个加密就可以了。解密时注意直接放在一行代码中比较,不要存到一个变量中,这样在内存中是找不到明文的。


结帖率:0% (0/1)
发表于 2013-8-16 22:28:14 | 显示全部楼层   陕西省榆林市
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)
发表于 2013-5-4 12:58:49 | 显示全部楼层   河北省秦皇岛市
不错,值得顶一下
回复 支持 反对

使用道具 举报

发表于 2013-4-14 14:02:10 | 显示全部楼层   新疆维吾尔自治区伊犁哈萨克自治州
谢谢,软件就怕别人给破J了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表