前 言
本文为全中文编写,不需要有PE文件格式知识,不需要掌握汇编或C语言的编程技巧,一些加密算法直接由易语言 提供,特殊的加密算法大家可以翻译C语言代码、汇编代码或VB代码。
本文中将“Cracker”一词翻译为“奸人”,意为“奸邪小人”之义。本人对破J者一向深恶痛绝,有人说中国的软件发展中破J者有一份功劳,可我说这话不对,看看因盗版而产生的微软对操作系统及软件业的垄断,国内软件业在盗版的夹缝中生存……,如此下去,软件作者没有收益,将不再会有优秀的软件推出。防止盗版,匹夫有责,我想通过本书的推出可以加强易语言用户的加密能力,将盗版杀死在大家共同的手中。
随着采用易语言编制程序的人们越来越多,写一个软件易被奸人破J的情况也越来越多了,有个别用户甚至于怀疑易语言是否有安全性。从技术性上来说,我只能说加密技术与编程语言无关,一个编程语言的安全性一般指所生成的机器码是否稳定、可靠,而不是防破J方面,如果想要很好地防止破J,那么掌握一门加密技术是非常必要的。
本书考虑到使用易语言的用户大部分对PE文件结构不太熟悉,因此没有采用很底层的方法去教学,而是采用与易语言直接表达的方式试图说明如何加密。
本书基本上是按以下的顺序进行讲解的:
破J技术
反破J技术1
反破J技术2
反破J技术3
防改文件
文件名验证
LOGO图片验证
窗口标题验证
防改文件大小暴破
加壳后数据签名验证
加壳后CRC验证
文件大小验证
防调试
花指令
反调试模块
反调试支持库
内存注册机
不进行判断,用循环代替
字符串打乱器
及时清内存
算法注册机
RSA算法
数值计算支持库
其他
多处验证点
随机验证
命名刻意隐蔽
本书是集体创作作品,并集成了多位作者的公开著述,在此一并表示感谢。其中部分文字内容根据易语言的特性作了修正。文中不署这些作者的姓名,以防止奸人对他们的软件的刻意破J。
目 录
《易语言软件加密技术》 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.给破J者的教训 27
2.给破J版使用者的教训 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.忽悠型的垃圾验证代码 41
7.伪验证技术 43
8.定时验证、延时验证、客户数据集累验证 44
9.验证与专业知识相结合技术 44
10.伪装,用易语言写自有支持库 44
11.绝妙的暗桩设置 45
12.发布不完整版本 45
13.程序、数据结合加密技术 45
14.自定义算法 46
15.加密框图 46
附录1加密已形成密码学 48
附录2《如何用简单方法防止破J》 49
附录3代码与数据结合技术 50
(UID:223306)
本文章来自:精易论坛(http://bbs.125.la/thread-13644060-1-1.html)请保留此链接, 感谢!