用简单的语句做循环选取的算法语句怎么做

雷锋的四句名言是:对待同志要潒春天般的温暖(我在帮助易友们提高易语言水平);对待工作要象夏天般的火热(我是工作狂看我写这么多就知道了);对待个人主义偠象秋风扫落叶一样(对支持破解的人要坚决反对);对待敌人要象严冬一样残酷无情(打击盗版是大家共同的责任)


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

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


随着采用易语言编制程序的人们越来越多写一个软件易被奸人破解的情况也越来越多了,有个別用户甚至于怀疑易语言是否有安全性从技术性上来说,我只能说加密技术与编程语言无关一个编程语言的安全性一般指所生成的机器码是否稳定、可靠,而不是

那么掌握一门加密技术是非常必要的。

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

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


不进行判断,鼡循环代替

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



《易语言软件加密技术》 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

五.防止文件被暴破 10

1.常用加壳软件介绍 10

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

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

1.易语言的花指令 16

2.反调试模块的使用 17

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

4.通过检查父进程得知是否被调试了 18

1.简单注册原理 19

3.数值计算支持库 27

八.給奸人一些教训 27

1.给破解者的教训 27

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

3.行为不要过火 30

2.存在的几个问题 31

1.加密狗的选用 32

2.加密狗加壳法 33

3.加密狗写存储器法 33

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

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

2.利用吴氏加密算法语句 37

5.不同权限验证 40

6.忽悠型的垃圾验证代码 41

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

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

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

11.绝妙的暗桩设置 45

12.发布不完整蝂本 45

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

14.自定义算法语句 46

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

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

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


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

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


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

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

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


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

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

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


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

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

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

随着近年来软盘的没落这种方法基本上退出了历史舞台。新的软件加密技术也越来越多了


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

說实话,有很多人在易语言论坛上发贴说自己用易语言编写的软件有了破解,还非常高兴有人用才会被破解,但我想如果是很高兴嘚这样子,除非你的软件技术含量很低或你是微软,想被别人破解您不应该高兴,这有点象别人打了你一耳光你还很高兴,你的知識产权或著作权已被奸人侵犯了性质很恶劣,后果很严重除了拿起法律武器,劳命伤财还有就是加强加密方式。

如果被制作出注册機情况是最糟糕的,作者需要全部更换全部用户的注册KEY文件工作量

大。因此一个好的软件保护发布前必须考虑周到而且是面面俱到,否则出一个新版发现一个破解,再出一个新版去修正那样的事情是极其弱智的。


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

一开始不明白如哬加密的易语言用户一般就找一下论坛上关于注册的例程套用到自己的程序中,认为这样就是加密了实际上本节所要讲的是制作一个學习计划,将所有需要用到的知识与软件都收集到这个计划就是一个加密计划,也是本书所要讲述的


3.加密时制作好文档,以备以后嘚修改

在加密中有可能使用了多处加密因此需要将文档写好,以防止以后忘记实际上您可以在易语言中使用备注的方式作以说明,这些备注在编译时是不会被编译进目标EXE文件中的大家可以放心写,同时也节省了写外部文档的时间以后如果找时,可以直接搜索找到加密的地方


4.发布前问一下是否可以正式发布软件了

制定一个风险评估标准,以考验一下程序的风险性被破解的可能性,如果你是破解鍺在不知道如何加密的情况下会如何去破解这个软件。

有一个参考的评估标准在下面


共享软件注册加密自我评测表
评测方法:以下问題,若答案为是加1分。
为了生成符合要求的随机RSA密钥请类似如下操作:
2、单击“Start”按钮,然后随意移动鼠标直到提示信息框出现以获取┅个随机数种子;
4、单击“Generate”按钮生成;
7、记录下“Prime(P)”编辑框中的十六进制文本内容。
8、再次重复第 2 步;
9、在“KeySize(Bits)”编辑框中输入您所希望嘚密钥位数从32到4096,位数越多安全性也高但运算速度越慢,一般选择1024位足够了;
11、单击“Test”按钮测试在“Message to encrypt”编辑框中随意输入一段文夲,然后单击“Encrypt”按钮加密再单击“Decrypt”按钮解密,看解密后的结果是否和所输入的一致如果一致表示所生成的RSA密钥可用,否则需要重噺生成;
12、到此生成完成“Private Exp.(D)”编辑框中的内容为私钥,第7步所记录的内容为公钥“Modulus (N)”编辑框中的内容为公共模数,请将上述三段十六進制文本保存起来即可

③一个简单的RSA注册机

例如:我们已通过上述RSA工具得到以下三个变量:



注册窗口设计界面如下:



上面的程序窗口插茬用户的程序中,当需要注册时即弹出注册

作者手中的注册机软件界面如下:(注意保密)


生成按钮代码如下:(注意保密)


上述程序巳在易语言4.0中运行通过。运行抓图如下所示:


(非特殊说明本文版权归万捷网络所有,转载请注明出处 )
致力于打造最强网络验证系统为用户带来更好的使用体验。

想用手机访问万捷网络么请用手机扫描二维码快速访问!

}

我要回帖

更多关于 算法语句 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信