易语言软件加密技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

易语言软件加密技术.txt35温馨是大自然的一抹色彩,独具慧眼的匠师才能把它表现得尽善尽美;温馨是乐谱上的一个跳动音符,感情细腻的歌唱者才能把它表达得至真至纯注:本文章是从网上转摘过来的,虽是拿易语言举例,但也适用所有的语言,包括按键脚本,关键是学习思路。

本文为全中文编写,不需要有PE文件格式知识,不需要掌握汇编或C语言的编程技巧,一些加密算法直接由易语言提供,特殊的加密算法大家可以翻译C语言代码、汇编代码或VB 代码。

本文中将“Cracker”一词翻译为“奸人”,意为“奸邪小人”之义。本人对破解者一向深恶痛绝,有人说中国的软件发展中破解者有一份功劳,可我说这话不对,看看因盗版而产生的微软对操作系统及软件业的垄断,国内软件业在盗版的夹缝中生存……,如此下去,软件作者没有收益,将不再会有优秀的软件推出。防止盗版,匹夫有责,我想通过本书的推出可以加强易语言用户的加密能力,将盗版杀死在大家共同的手中。

随着采用易语言编制程序的人们越来越多,写一个软件易被奸人破解的情况也越来越多了,有个别用户甚至于怀疑易语言是否有安全性。从技术性上来说,我只能说加密技术与编程语言无关,一个编程语言的安全性一般指所生成的机器码是否稳定、可靠,而不是防破解方面,如果想要很好地防止破解,那么掌握一门加密技术是非常必要的。

本书考虑到使用易语言的用户大部分对PE文件结构不太熟悉,因此没有采用很底层的方法去教学,而是采用与易语言直接表达的方式试图说明如何加密。

本书基本上是按以下的顺序进行讲解的:

破解技术反破解技术1 反破解技术2 反破解技术3

防改文件文件名验证 LOGO图片验证窗口标题验证

防改文件大小暴破加壳后数据签名验证加壳后CRC验证文件大小验证

防调试花指令反调试模块反调试支持库

内存注册机不进行判断,用循环代替字符串打乱器及时清内存

算法注册机 RSA算法数值计算支持库

其他多处验证点随机验证命名刻意隐蔽

本书是集体创作作品,并集成了多位作者的公开著述,在此一并表示感谢。其中部分文字内容根据易语言的特性作了修正。文中不署这些作者的姓名,以防止奸人对他们的软件的刻意破解。

本章整理:麻辣教师

目录

《易语言软件加密技术》 1

一.易语言程序加密的目的 5

1.保持软件的完整性 5

2、保护软件开发者的权益 5

二.易语言程序加密的原则 5

1.加密前要考虑周到且严密 5

2.需要加密的内容要制定一个计划 6

3.加密时制作好文档,以备以后的修改 6 4.发布前问一下是否可以正式发布软件了 6 三.防止程序内容被更改 7

1.防止软件名称被更改 7

2.防止窗口标题被更改 7

3.防止LOGO图片被更改 8

四.防止内存注册机 8

1.不要使用简单判断 9

2.采用MD5对比 9

3.多注册码拷贝 9

五.防止文件被暴破 10

1.常用加壳软件介绍 10

2.加壳后文件大小验证 14

3.加壳后数据签名验证 14

4.加壳后CRC验证 15

六.防调试方法 16

1.易语言的花指令 16

2.反调试模块的使用 17

3.反调试支持库的使用 17

4.通过检查父进程得知是否被调试了 18 5.使用多线程 19

七.注册机制 19

1.简单注册原理 19

2.RSA算法注册 20

3.数值计算支持库 27

八.给奸人一些教训 27

1.给破解者的教训 27

2.给破解版使用者的教训 30

3.行为不要过火 30

九.网络验证法 30

1.实现的原理 30

2.存在的几个问题 31

十.加密狗加密 31

1.加密狗的选用 32

2.加密狗加壳法 33

3.加密狗写存储器法 33

十一.加密算法策略(暗桩) 34

1.易数据库密码怎么泻露了 34

2.利用吴氏加密算法 37

3.海岛挖宝 38

4.随机验证 39

5.不同权限验证 40

6.忽悠型的GHOFFICE过滤词语验证代码 41

7.伪验证技术 43

8.定时验证、延时验证、客户数据集累验证 44

9.验证与专业知识相结合技术 44

10.伪装,用易语言写自有支持库 44

11.绝妙的暗桩设置 45

12.发布不完整版本 45

13.程序、数据结合加密技术 45

14.自定义算法 46

15.加密框图 46

附录1加密已形成密码学 48

附录2《如何用简单方法防止破解》 49

附录3代码与数据结合技术 50

(正文)

一.易语言程序加密的目的

在此有必要说明一下为何要为自己的程序进行加密,初步认为有以下两点:

1.保持软件的完整性

这里包括了文件名不被更改,文件版权信息不被更改,文件尺寸不被更改。

很多时候有的奸人拿到您的软件,他可以将文件名更改,将文件版权信息的字符串或图片更改,然后放上自己的东西,如放上病毒可以对其他电脑造成破坏,如果放奸人的弹出广告收益的是奸人,而不是作者。相反,使用这些软件的用户反而将作者痛骂一通,造成声誉上的损失。因此处于保护自己的完整权益来说,也是有必要保护软件的完整性。

例如QQ软件,曾出现过多款个人行为的补丁版,更改了QQ的一些信息与界面,为此QQ公司十分头痛,以后的一些事大家也知道,现在看是破解QQ的很少了,而且在安装QQ新版本时,它会检查是否有破解补丁存在,如果存在就不运行。

2、保护软件开发者的权益

也许你会说,一个不被破解的软件一定是一个没有加密的软件,那么看看下文您就会知道,那只是一个理想中的事情,除非您是有钱了没有事干的人,否则您开发软件的目的是什么我是很难知道的。

无论是个人还是公司,如果生产一个软件得不到收益,以及后继开发资金的鼓励,那么无疑这个软件是很难再开发下去的。这样的例子很多很多,我不想举例,国内已出现了很多软件的破解版,而一旦出现了破解,那么所造成的损失是非常大的。

二.易语言程序加密的原则

早先人们的加密方法是通过在软盘上格式化一些非标准磁道,在这些磁道上写入一些数据,如软件的解密密钥等等。这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否合法的“钥匙盘”。

软盘加密还有其它一些技术,如弱位加密等等。

随着近年来软盘的没落,这种方法基本上退出了历史舞台。新的软件加密技术也越来越多了。1.加密前要考虑周到且严密

说实话,有很多人在易语言论坛上发贴,说自己用易语言编写的软件有了破解,还非常高兴,

相关文档
最新文档