




已阅读5页,还剩255页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2008学年度第一学期第二次阶段测试二年级语文(说明:全卷时间60分钟,总分100分,其中卷面占3分)一、看拼音写词语(12分)chng sh png mng ti d ho xing( ) ( ) ( ) ( )t bi wn t zh ch sh t( ) ( ) ( ) ( )xing xn cng mng ji shu xn wn( ) ( ) ( ) ( ) 二、比一比,再组词(16分)怎( ) 伸( ) 检( ) 胖( ) 急( ) 神( ) 捡( ) 伴( )此( ) 用( ) 睛( ) 顶( )些( ) 甩( ) 请( ) 须( )三、加部首,组成新字(9分)真的不掉线吗?、?寺 兆 包 西 及 几 四、在下面的成语中填上合适的字。(9分)膀( )腰( ) 耳( )目( ) 闻( )丧( )谁( )谁( ) 习( )为( ) ( )寻烦( )垂( )丧( ) 得( )洋( ) 自( )自( )五、把下面的句子补充完整(12分)1、 ,疑是银河落九天。2、人不学, 。为人子, 。3、宝剑锋从磨砺出, 。4、 ,春江水暖鸭先知。六、照样子连成一句话,并加标点符号(12分)羊儿在河里读书小红在树林里游泳小鱼在草地上奔跑梅花鹿在教室里吃草。七、照样子,写句子(12分)真的不掉线吗?、?1、王冕看得出神,心想,要是能把它画下来,那多好啊! ,心想,要是 ,那多好啊!2、我在树林里走来走去,想寻找一片火红的枫叶。我在 ,想 。3、我画绿色的太阳,为了让夏天凉爽。我画 ,为了 。八、阅读短文,回答问题。(15分)洗(xin)星海在巴黎一九二九年,二十四岁的洗星海,因为参加学生运动,被学校开除了。他在远洋轮船上找了一个工作,就趁(chn)这个机会到法国巴黎去,实现他学习音乐的愿望。在巴黎,洗星海的生活很艰难(nn)。他在饭店洗碗,在理发店扫地,还给别人看孩子、守电话、抄乐谱(p),甚至拉着提琴到街头和咖啡店去卖艺(y)。在那饥寒交迫的日子里,他好几次在楼梯上晕(yn)倒,在马路上饿倒。但这都动摇不了他学习音乐的意志。后来,洗星海的音乐天才和苦学精神,得到了巴黎音乐家的赏识,他们给洗星海很多物质上的帮助和精神上的鼓励。洗星海终于考进了巴黎音乐高级作曲班。他是第一个考进这个班的东方人。1、课文一共有( )个自然段。(4分)2、在文中找到合适的表示动作的词语填空。(6分)( )工作 ( )地(d) ( )孩子( )电话 ( )乐谱 ( )提琴 3、用“ ”画出写洗星海生活艰难的句子。(5分)真的不掉线吗?、?易语言软件加密技术序感谢朋友们的留言,以下排名不分先后。何金:一定程度的防破是必要的。goomoo:收藏,谢谢!Liigo:这么经典的文章竟然不署名, 佩服!笨笨啊:先收藏,应该是好东西。火儿:花了两个多小时才看完看完才发现,自己的软件基本属于赤裸裸那型。icemanwd:世界上没有破解不了的软件,只能延迟破解的时间而已。走随小月:易书空前的著作,收藏,消化吸收中yjls:写的太好,希望易公司今后发行易书里绑定。迪克:很好的文章,我已经学了几招。7620367:这个要反复学习。bbs171:真的不错。雷锋的四句名言是:对待同志要象春天般的温暖(我在帮助易友们提高易语言水平);对待工作要象夏天般的火热(我是工作狂看我写这么多就知道了);对待个人主义要象秋风扫落叶一样(对支持破解的人要坚决反对);对待敌人要象严冬一样残酷无情(打击盗版是大家共同的责任)。友情广告位全中文全可视跨平台编程软件易语言http:/.中国共享软件联盟http:/./bbs/index.php易语言学习园地QQ:10153314伟业网址:.易容大师中时空网络(http:/.3cts.)提供优质的虚拟主机服务,杜雪QQ:2331096迪克条码http:/.labelmx./清心网站http:/.iNBBS171:新网互联高级代理,CN可先注册后付款!舍曼妮QQ:366221真的不掉线吗?、?前 言本文为全中文编写,不需要有PE文件格式知识,不需要掌握汇编或C语言的编程技巧,一些加密算法直接由易语言提供,特殊的加密算法大家可以翻译C语言代码、汇编代码或VB代码。本文中将“Cracker”一词翻译为“奸人”,意为“奸邪小人”之义。本人对破解者一向深恶痛绝,有人说中国的软件发展中破解者有一份功劳,可我说这话不对,看看因盗版而产生的微软对操作系统及软件业的垄断,国内软件业在盗版的夹缝中生存,如此下去,软件作者没有收益,将不再会有优秀的软件推出。防止盗版,匹夫有责,我想通过本书的推出可以加强易语言用户的加密能力,将盗版杀死在大家共同的手中。本书集成了多位作者的公开著述,在此一并表示感谢。其中部分文字内容根据易语言的特性作了修正。文中不署作者姓名,以防止奸人对他们的软件的刻意破解。随着采用易语言编制程序的人们越来越多,写一个软件易被奸人破解的情况也越来越多了,有个别用户甚至于怀疑易语言是否有安全性。从技术性上来说,我只能说加密技术与编程语言无关,一个编程语言的安全性一般指所生成的机器码是否稳定、可靠,而不是防破解方面,如果想要很好地防止破解,那么掌握一门加密技术是非常必要的。本书考虑到使用易语言的用户大部分对PE文件结构不太熟悉,因此没有采用很底层的方法去教学,而是采用与易语言直接表达的方式试图说明如何加密。本书基本上是按以下的顺序进行讲解的:破解技术反破解技术1反破解技术2反破解技术3防改文件文件名验证LOGO图片验证窗口标题验证防改文件大小暴破加壳后数据签名验证加壳后CRC验证文件大小验证防调试花指令反调试模块反调试支持库内存注册机不进行判断,用循环代替字符串打乱器及时清内存算法注册机RSA算法数值计算支持库其他多处验证点真的不掉线吗?、?随机验证命名刻意隐蔽目 录易语言软件加密技术1一易语言程序加密的目的51保持软件的完整性52、保护软件开发者的权益5二易语言程序加密的原则51加密前要考虑周到且严密52需要加密的内容要制定一个计划63加密时制作好文档,以备以后的修改64发布前问一下是否可以正式发布软件了6三防止程序内容被更改71防止软件名称被更改72防止窗口标题被更改73防止LOGO图片被更改8四防止文件被暴破81常用加壳软件介绍82加壳后文件大小验证123加壳后数据签名验证124加壳后CRC验证13五防调试方法141易语言的花指令142反调试模块的使用153反调试支持库的使用154通过检查父进程得知是否被调试了165使用多线程17六注册机制作171简单注册原理172RSA算法注册183数值计算支持库24七给奸人一些教训241给破解者的教训242给破解版使用者的教训273行为不要过火27八网络验证法271实现的原理272存在的几个问题28九加密狗加密281加密狗的选用292加密狗加壳法30真的不掉线吗?、?3加密狗写存储器法30十加密算法策略311易数据库密码怎么泻露了312利用吴氏加密算法343海岛挖宝344随机验证355不同权限验证366忽悠型的垃圾验证代码377伪验证技术398定时验证、延时验证、客户数据集累验证409验证与专业知识相结合技术4010伪装,用易语言写自有支持库4011绝妙的暗桩设置4112发布不完整版本4113自定义算法4114加密框图42附录1加密已形成密码学43附录2如何用简单方法防止破解真的不掉线吗?、?44附录3代码与数据结合技术45(正 文)一易语言程序加密的目的在此有必要说明一下为何要为自己的程序进行加密,初步认为有以下两点:1保持软件的完整性这里包括了文件名不被更改,文件版权信息不被更改,文件尺寸不被更改。很多时候有的奸人拿到您的软件,他可以将文件名更改,将文件版权信息的字符串或图片更改,然后放上自己的东西,如放上病毒可以对其他电脑造成破坏,如果放奸人的弹出广告收益的是奸人,而不是作者。相反,使用这些软件的用户反而将作者痛骂一通,造成声誉上的损失。因此处于保护自己的完整权益来说,也是有必要保护软件的完整性。例如QQ软件,曾出现过多款个人行为的补丁版,更改了QQ的一些信息与界面,为此QQ公司十分头痛,以后的一些事大家也知道,现在看是破解QQ的很少了,而且在安装QQ新版本时,它会检查是否有破解补丁存在,如果存在就不运行。2、保护软件开发者的权益也许你会说,一个不被破解的软件一定是一个没有加密的软件,那么看看下文您就会知道,那只是一个理想中的事情,除非您是有钱了没有事干的人,否则您开发软件的目的是什么我是很难知道的。无论是个人还是公司,如果生产一个软件得不到收益,以及后继开发资金的鼓励,那么无疑这个软件是很难再开发下去的。这样的例子很多很多,我不想举例,国内已出现了很多软件的破解版,而一旦出现了破解,那么所造成的损失是非常大的。二易语言程序加密的原则早先人们的加密方法是通过在软盘上格式化一些非标准磁道,在这些磁道上写入一些数据,如软件的解密密钥等等。这种软盘成为“钥匙盘”。软件运行时用户将软盘插入,软件读取这些磁道中的数据,判断是否合法的“钥匙盘”。软盘加密还有其它一些技术,如弱位加密等等。随着近年来软盘的没落,这种方法基本上退出了历史舞台。新的软件加密技术也越来越多了。真的不掉线吗?、?1加密前要考虑周到且严密说实话,有很多人在易语言论坛上发贴,说自己用易语言编写的软件有了破解,还非常高兴,有人用才会被破解,但我想,如果是很高兴的这样子,除非你的软件技术含量很低,或你是微软,想被别人破解,您不应该高兴,这有点象别人打了你一耳光,你还很高兴,你的知识产权或著作权已被奸人侵犯了,性质很恶劣,后果很严重。除了拿起法律武器,劳命伤财,还有就是加强加密方式。如果被制作出注册机,情况是最糟糕的,作者需要全部更换全部用户的注册KEY文件,工作量相当地相当地大。因此一个好的软件保护发布前必须考虑周到,而且是面面俱到,否则出一个新版,发现一个破解,再出一个新版去修正,那样的事情是极其弱智的。2需要加密的内容要制定一个计划一开始不明白如何加密的易语言用户,一般就找一下论坛上关于注册的例程套用到自己的程序中,认为这样就是加密了,实际上本节所要讲的是制作一个学习计划,将所有需要用到的知识与软件都收集到,这个计划就是一个加密计划,也是本书所要讲述的。3加密时制作好文档,以备以后的修改在加密中有可能使用了多处加密,因此需要将文档写好,以防止以后忘记,实际上您可以在易语言中使用备注的方式作以说明,这些备注在编译时是不会被编译进目标EXE文件中的。节省了写外部文档的时间。4发布前问一下是否可以正式发布软件了制定一个风险评估标准,以考验一下程序的风险性,被破解的可能性,如果你是破解者,在不知道如何加密的情况下会如何去破解这个软件。有一个参考的评估标准在下面。共享软件注册加密自我评测表评测方法:以下问题,若答案为是加1分。1. 是否加壳? 2. 是否采用两种以上的不同的工具来对程序进行加壳/压缩?3. 是否有软件自身的完整性检查功能?(CRC校验或其他)4. 与软件保护相关的字符串是否有进行加密处理? 5. 是否采用了比较成熟的密码学算法? 6. 是否有多处验证点,调用多个不同函数或判断多个不同全局标志进行注册验证?7. 是否有随机验证的功能? 真的不掉线吗?、?8. 是否采用了在线验证功能?9. 注册过程中是否尽量少地给用户提示信息? 10. 是否不依赖于GetLocalTime( )、GetSystemTime( )这样众所周知的函数来获取系统时间? 11. 是否有伪破解功能?12. 是否在软件中嵌入了反跟踪的代码? 13. 是否对校验函数命名做了刻意隐蔽?14. 是否将注册码、安装时间记录在多个不同的地方?15. 是否在校验时故意加入冗余干扰代码来误导解密者? 16. 是否有自己独特的防破解措施? 建议:得分在6分以上才可以正式发布软件!制作者:中国共享软件联盟lcraz三防止程序内容被更改从本节开始,已进入讲解加密的正题,但可能章节不必这样划分,即按加密/破解的方法来划分,如防反调试,反跟踪,反。但笔者觉得,从一个一个小的知识点的进入是非常重要的。下面的有些内容是我请教了酒桶醉死的经验后总结的,在此表示感谢。1防止软件名称被更改这里是极为简单的方法:判断(到大写(取执行文件名() = “我的程序.EXE”)在上述中,为何使用到“判断”命令,而不是“如果”命令呢,大家可以想一下,“判断”命令的代码安全性要比“如果”命令高,这里不会举出一个汇编的例子,只要说明一下即可。即“判断”命令是多重分支结构,这样就增加了被破解的难度,因此,大家一定要注意这样一件事情,就是在进行加密比较时一定不要使用比较的语句,那样很容易被奸人使用破解工具下断点,那么正确的做法应该是如何的呢,请看下面代码:计次循环首(到数值(是否注册成功(),)全局_注册成功 = 1计次循环尾()通过上面的代码可以看出,这里没有使用判断语句,而采用了一个循环命令去参与。其中“是否注册成功()”确实是返回了一个逻辑值,但通过“到数值()”命令后就会被为0或1之间的一个数字,会用易语言的人都知道,一个循环命令中,如果循环数为1,会执行循环中的命令,否则为0不进入循环。生成机器码后,奸人会很难找到判断的汇编码,大大加强了保护性。上述的基本方法是有了,但请您将这个方法隐藏于您的程序代码行的某一深处,实际上加密真的不掉线吗?、?是各种方法的综合,现在所教的只是其中的一种,大家要将多种加密方式用于一个软件之中。这需要大量的时间学习与体会。加密第1定理:“如果()”语句一定不要出现在加密算法中。加密第2定理:用“循环”类命令代替判断语句。2防止窗口标题被更改窗口标题是否被别人更改这个也可以通过与上述同样的方法实现验证。判断(_启动窗口.标题 = “我的程序.EXE”)大家也许会说,这些好象没有必要吧,谁会这么无聊,将软件的名称与窗口标题更改呢,大家看这样一个例子吧:有一个电脑培训班,采用了明伦五笔练习打字软件进行电脑培训班,他们破解了,且修改了明伦打字软件的版权信息,改为自己电脑培训班的标志,产生的教学效果即:学生认为这家培训班的技术实力很强,自己可以开发打字软件,而且经常弹出电脑培训班的标志与广告,产生了很好的广告效果,学生介绍学生,更多的学生参与进来了。从上述事件看,很显然明伦打字软件的作者一点好处也没有,全部被破解者侵占了。因此一个好的软件保护必须是全面而且周到的。另外,我要提醒大家的是,这样的语句也是非常不保险的,这样的话很容易被奸人改了字符串,以致于字符串也被更改了,或很快能找到比较的地方,从而轻松跳过去。较为理想的是将字符串打乱,即将“我的程序.EXE”以“字符()”、“取代码()”、“取反()”、“异或()”等命令用字符串相加的方法加在一起成为一个字串后再比较。判断(取数据签名(_启动窗口.标题) = 取数据签名(“我的程序.EXE”)3防止LOGO图片被更改有的人怕程序信息被更改,采用了图片显示程序标题的方式,这样这种图片较不易被奸人修改,但可能也有个别高手进行修改,因此图片的大小是知道的,这样可以用以下语句进行判断:计次循环首(到数值(取字节集长度(_启动窗口。底图)=342488),)其中上述的数字是您已知的图片大小尺寸字节数,而不是乱写得来的。也可以将图片放在易语言的资源中,直接进行比较。计次循环首(到数值(_启动窗口。底图)=#图片1),)以上方法虽然软件的体积大了一些,但带来的直接好处是,程序量一大,为破解带来了更大的困难,虽然损失了体积,但保证了安全。你的关于窗口也要这样保护起来哦。使用数据操作支持库中的“加密数据()”、“解密数据()”命令加密图片后存放在图片资源中,用时再解密显示出来。例如您的一些口令就直接用这个加密就可以了。解密时注意直接放在一行代码中比较,不要存到一个变量中,这样在内存中是找不到明文的。四防止文件被暴破真的不掉线吗?、?暴破是指破解者在模拟算法失败的情况下,恼羞成怒,狗急跳墙,一气之下暴力破解,将软件的壳脱掉,将要求注册的部分直接跳过去,这样直接产生的后果是文件大小被改变了。在此,先介绍一下常用的加壳软件。1常用加壳软件介绍加壳软件分为普通壳与加密壳。加壳可压缩文件大小,并且将一些本来清晰的字串进行了打乱的效果。普通壳的作用是压缩资源,使文件尺寸变小,一般可使易语言缩小一半以上的尺寸,有的还可以减少系统资源占用。其他编程语言生成的EXE文件加壳后有可能变大,例如C语言生成的程序本来就小,压缩不了尺寸,这时再加上一个壳,尺寸反而会变大。普通壳有:UPX,ASPACK,ASProtect,PKLITE,PEpact等。加密的壳有:幻影,软件保护神等。加密的壳可以提供直接的注册码功能。加密的壳由于是公用壳,很多人都去购买使用,一般容易被奸人看中脱壳,灵活性也差。如果被破解了,那么后果是十分严重的。下图是UPX Shell v3.10软件的运行界面:下图是ASPACK软件的运行界面:下图是PKLITE软件的运行界面:下图是PEpact软件的运行界面:下图是“幻影”加壳软件的运行界面:下图是“软件保护神”加壳软件的运行界面:壳加完后,余下的工作就是防止脱壳了,一般来说,很多人都想要一个很强的壳,但一方面任何壳都有可能被破解,另一方面壳的兼容性就有很大的问题。如采用强壳的系统管理采用了一个国外出品的强壳,确实是很难脱掉的,但由于破解版的原因,在WIN98下运行时经常会死机。正式版的价格也非常高,基本上要1000元RMB左右。而常用的普通壳虽然强度并不高,但通过易语言编程进行校验,可以保护您的壳不被轻易脱掉。加密第3定理:用最普通的壳,让弱手们去脱脱看!我还有校验等着呢。2真的不掉线吗?、?加壳后文件大小验证加壳后一些数据安全得到了保证。这包括一些没有加工过的字符串,例如:数据库密码,加密算法密码。加压缩壳后,易语言的EXE文件尺寸一般会变小,一般1.5MB的软件会变小为800KB左右。那么最常用的文件大小验证可以用如下易语言代码:判断(取文件尺寸(取执行文件名()= 843674)上述代码中的数值是经过查看编译及加壳后文件属性大小生成的,但由此造成两种不方便的地方:一是由于易语言造成每次编译后的文件大小是不一样的,因此很难将这个数值取对,二是这个值放在哪里好,如果放在主程序中的话,那么每次生成的文件大小不一样,就会造成取不准,比较不了的现象。建议大家在比较时可以将代码写成以下形式:判断(取文件尺寸(取执行文件名() 900000)通过以上运算符的改变后,基本上可以知道是否被脱了壳了,因为脱了壳后程序的体积会增加很多。3加壳后数据签名验证易语言自带一个“数据操作支持库”,基本可以满足安全加密的需要。如下图所示:这里较为常用的命令是“取数据摘要()”,这个命令是采用了MD5算法,不同数据的MD5码都不一样,因此本命令可以用作保证重要数据不会被篡改。对于不同的数据,其得出的结果是不一样的。如果奸人将您的软件脱壳了、改动了,那么前后所取得的结果也是不一样的。“取数据摘要()”得出的结果是返回一段字节集数据的MD5数据摘要编码文本。一般是32位字节的数据。但这样带来了这样一个问题:即我们取得了加壳后软件的数据摘要,但是放在软件中后再编译再加壳再取数据摘要后,本次取值与前面所取的值是不一致的。采取的办法一般是将数据摘要文本存放在外部。一般会采用以下的方式:第一种方式:加密后存放在一个文件中。第二种方式:加密后存放在DLL中。第一种方式可以直接存在一个文件中,也可以夹存在其他文件中,如图片文件中,或音乐文件中,或DLL文件中(硬写在DLL段中)。真的不掉线吗?、?第二种方式可取得主程序的数据摘要后,直接在DLL程序的源程序中写比较代码。然后编译为DLL文件,由主程序调用此比较DLL。这样保证了主程序的数据摘要与主程序分离从而加强了主程序的安全性。4加壳后CRC验证我们很有必要给自己的软件加上更好的保护。CRC校验就是其中的一种不错的方法。CRC是什么东西呢?其实我们大家都不应该会对它陌生,回忆一下?你用过RAR和ZIP等压缩软件吗?它们是不是常常会给你一个恼人的“CRC校验错误”信息呢?我想你应该明白了吧,CRC就是块数据的计算值,它的全称是“Cyclic Redundancy Check”,中文名是“循环冗余码”,“CRC校验”就是“循环冗余校验”。CRC有什么用呢?它的应用范围很广泛,最常见的就是在网络传输中进行信息的校对。其实我们大可以把它应用到软件保护中去,因为它的计算是非常非常非常严格的。严格到什么程度呢?你的程序只要被改动了一个字节(甚至只是大小写的改动),它的值就会跟原来的不同。呵呵,是不是很厉害呢?所以只要给你的“原”程序计算好CRC值,储存在某个地方,然后在程序中随机地再对文件进行CRC校验,接着跟第一次生成并保存好的CRC值进行比较,如果相等的话就说明你的程序没有被修改/破解过,如果不等的话,那么很可能你的程序遭到了病毒的感染,或者被奸人用16进制工具暴力破解过了。CRC的本质是进行XOR运算,运算的过程我们不用管它,因为运算过程对最后的结果没有意义;我们真正感兴趣的只是最终得到的余数,这个余数就是CRC值。易语言用户林子深提供了一个CRC32.EC的易模块,这个模块可以在论坛上或资源网上搜索到。大家可以直接拿过来用,导入易语言后如下图所示:调用方式可为如下代码:判断(取循环风俗冗余校验和(读入文件(取执行文件名()=其中上述的数字为主程序的CRC码值。大家可以利用上述特性,即结果是数值的特性,不用进行比较,而是用加减法的方法得出前后两个CRC验的差值,如果为0,那说明两个数字是相等的,主程序没有被改动过。否则就是被改过的。例如下述代码:程序被改 = 1计次循环首(取绝对值(取循环风俗冗余校验和(读入文件(取执行文件名()-,)程序被改 = 0-跳出循环()计次循环尾()返回(程序被改)上述代码中,“取绝对值()”是将负数也转换为正数,以方便进行计次循环。上述代码中,数值型变量“程序被改”为1表示没有被改动过,如果为0表示被改动过。返回的数值就可以进行一些陷阱的计算了。我的方案的缺点分析:CRC-32的值其实可以由奸人自行计算得出后,重新写入到程序验证处。这样的话,我真的不掉线吗?、?们做的工作岂不是没有意义了?其实解决的方法还是有的,我们可以在计算CRC-32值之前,对参与转换的字符串加点手脚,例如对这个字符串进行移位、xor等操作,或者把自己的生日等信息加入到字符串中,随你的便什么都行,总之不是单纯的文件的内容就行了,然后在最后比较的时候,也用同样的方法反计算出CRC-32值。这样得到的CRC-32就不是由文件的内容计算出来的,相信对破解者的阻力也会加大不少。总结:以上的方法大家都可以在软件中采用,最好写到一个DLL文件中,然后多放几个需要验证的子程序,随时以备调用即可。五防调试方法1易语言的花指令加花指令的方法有通用性,即所有的反汇编器都可以用这种方法来抵挡。这种方法主要是利用不同的机器指令包含的字节数并不相同,有的是单字节指令,有的是多字节指令。对于多字节指令来说,反汇编软件需要确定指令的第一个字节的起始位置,也就是操作码的位置,这样才能正确地反汇编这条指令,否则它就可能反汇编成另外一条指令了。并且,多字节,指令长度不定,使得反汇编器在错误译码一条指令后,接下来的许多条指令都会被错误译码 。所以,这种方法是很有效的 。易语言新版本中增加了自动插入花指令的功能,并且插入后虽然文件体积大了一些,但不会造成运行错误。大家可以点击菜单“工具”“系统配置”。弹出的窗口如下图所示。不采用花指令时,反编译出来的代码几乎是跟源代码一一对应的,这样一来我们的程序还有什么秘密可言呢?完全可以从反编译的结果中理解程序的功能。其实花指令就是人为地构造一些“陷阱”和一些无用的字节,起到迷惑破解者和隐藏信息的作用。在这里,易语言为你构造了这些“陷阱”。大家只要将上述配置项打开就可以了。同时也提醒大家,在发布新版本时采用以下的方式:第一周发布的是花指令级别为1,第二周发布的是花指令级别为2,第三周发布的是花指令级别为3,第四周发布的是花指令级别为1,周而复始,这样破解者根本跟不上你变换的速度。加密第4定理:每周发布一个新版本,让破解的速度赶不上发布的速度。2反调试模块的使用目前易语言论坛上出现了一些模块或支持库,带有反调试的功能,当启用后,就会查看进程中有无调试器,如SOFTICE等调试工具,对易语言的调试也同样有效。由林子深提供的另一个模块:“星光灭绝”模块大家也可以尝试用一下,为何说是尝试真的不掉线吗?、?呢,这些模块并不稳定,并且极易造成WIN98下程序死机。并且打开易语言也会认为是调试器,从而会自动退出。大家自己在易语言论坛上搜索吧。不推荐大家使用。3反调试支持库的使用海洋的支持库也提供了反调试的功能,具体是海洋增强支持库。但要注意兼容性问题,一定要在多个操作系统下进行严格的测试后才能发布。4通过检查父进程得知是否被调试了一般情况下,运行的程序的父进程是EXPLOER,在易语言中调试运行的父进度是易语言,而在破解人手中运行的父进程是用于破解的调试软件。因此我们就有必要判断程序的你进程是否是EXPLOER或易语言,如果不是,非常有很大的可能是在奸人的调试软件中被调用了,这时就好办了。哈哈。易语言论坛的用户“笨笨啊”提供了一个取进程与父进程的模块,并且有模块源代码,程序主要是由API取得进程内容。大家可以搜索易语言论坛,用户名为“笨笨啊”,或关键字为“父进程”可以找到这个源代码。下图是在易语言中调试程序时,父进程为易语言:下图是易语言编译后运行,其父进程是EXPLORER.EXE,编号为860:加密第5定理:一个正常EXE的父进程是EXPLORER.EXE不过这里要注意的是:奸人有可能将调试程序的名称改为EXPLORER.EXE,这样可以伪装一下吗?不可以,你需要检查一下名称为EXPLORER.EXE的进程有几个,进程ID是不是一样的?如果有两个不同的进程ID,那么这时再判定就可以知道是不是被奸人调试了。5使用多线程在Debug的手册里可以看到Debug工具的局限:第一个局限是只能下4个内存区域的断点,每个断点不能控制超过两个字节,这样内存断点不能控制超过16个字节的区域;第二个局限是对多线程只能同时跟踪一个线程。因此利用其的第二个弱点,大家可以多开几个线程进行来回验证。真的不掉线吗?、?多线程的编程方法参看易语言手机。一般开5-8个线程就够奸人忙活的了。加密第6定理:使用5个以上多线程来回验证注册。六注册机制作1简单注册原理在易语言安装后的程序“elibkrnlnsamples软件注册.e”就是演示了软件注册的原理。其中有一个子程序是重复取硬件码的,存在取硬件码失败的情况,因此要重复多取几次,如果取失败就用一个默认的硬件码代替。这个大家一定要看一看,注册机的原理就是:用户在使用过软件一段时间后,认为软件较为理想,要求向作者注册,而此软件中提供了用户本机上的硬件号,用户将此硬件号发给作者,作者给出一个注册码,用户拿到此注册码后填写,软件就注册成功。注册码的计算是由硬件号产生的,计算过程只有作者知道。例如:用户机器上的硬件号为34,作者返回的注册码为1904。用户在注册码输入栏中输入1904,那么注册成功。作者是这样计算的,34X56=1904。那么软件中也是这样计算的。以上介绍的只是例子,大家也许会说,从1输到9999,总有一个会遇上的,但事实是硬件码不会这样简单,可以是16进制的,而计算也不会这么简单,可能会用上矩阵也说不定,因此相比较而言,靠猜测的方法去破解是愚蠢的。下面看一下易语言自带例程中的程序代码,此为要求用户输入注册码时的判断语句:此为判断语句调用的返回注册码的子程序:通过以上检查是否输入的硬件码与注册码对映。而软件作者手上有一个注册机,可以生成此硬件代码,大家可以在此例程上加一个按钮,此按钮的代码如下:这样作者就可以很轻松地得到注册码,然后将这个注册码发给用户用于注册了。上述只是在一个理想的状态中实现的,即没有奸人对你的软件进行破解。如果奸人看上了你的软件,只靠这么简单的方法,那么一定会吃大亏的。因此大家在注册码生成的计算上要想尽一切办法使之复杂化,如:采用位异,采用加上计算数值,采用有些办法将在后面章节中进行介绍。2RSA算法注册RSA简介使用RSA非对称密钥算法对指定字节集数据进行签署,支持32到4096之间任意合法的RSA位数,返回签署后的结果文本。说明一,电子签名系统简要实现方法:首先给所有具有签署权利的人员授予不同的RSA钥匙,RSA钥匙由“公钥”、“私钥”、“公共模数”三部分组成,为了生成符合要求的随机密钥,可以下载使用 真的不掉线吗?、?/RSATool2v14.rar 第三方工具软件(内有操作说明)。然后将所有人员的“公钥”和“公共模数”成对向外公布,“私钥”由被授予人员自行妥善保管。被授权人员使用“私钥”和“公共模数”对指定数据进行签署,然后将签署后的结果文本随同被签署数据一起发送,接收者收到后,使用该签署者公开的“公钥”和“公共模数”及签署结果文本对被签署数据进行验证,如验证通过则说明该数据必定是此签署者所认可的,且没有经过任何篡改。说明二,数字签名用作软件注册系统的实现步骤:1、欲注册用户提供注册信息(如硬件代码、用户姓名等);2、软件作者使用自己的私钥对该注册信息进行数字签署得到签署结果文本;3、将此签署结果文本作为注册钥匙文件发送给用户;4、在用户端的软件使用相同的用户信息、注册钥匙文件及软件作者的公钥进行签名验证,如果通过表明已经注册,否则表示未注册。使用本方法在私钥未泄露的前提下,可以绝对避免破解者做出软件的注册机。RSA工具使用简介RSATool工具运行界面如下图所示:有很多人说RSA工具不会用,其实RSA工具的使用方法吴涛已说明得非常清楚了。下面引用吴涛说明书的原文:吴涛写的RSATool工具使用说明书如下:RSATool 2.14 工具软件使用指南:(软件下载地址:http:/eyuyan./RSATool2v14.rar)为了生成符合要求的随机RSA密钥,请类似如下操作:1、在“Number Base”组合框中选择进制为 10 ;2、单击“Start”按钮,然后随意移动鼠标直到提示信息框出现,以获取一个随机数种子;3、在“KeySize(Bits)”编辑框中输入 32 ;4、单击“Generate”按钮生成;5、复制“Prime(P)”编辑框中的内容到“Public Exp.(E)”编辑框;6、在“Number Base”组合框中选择进制为 16 ;7、记录下“Prime(P)”编辑框中的十六进制文本内容。8、再次重复第 2 步;9、在“KeySize(Bits)”编辑框中输入您所希望的密钥位数,从32到4096,位数越多安全性也高,但运算速度越慢,一般选择1024位足够了;10、单击“Generate”按钮生成;11、单击“Test”按钮测试,在“Message to encrypt”编辑框中随意输入一段文本,然后单击“Encrypt”按钮加密,再单击“Decrypt”按钮解密,看解密后的结果是否和所输入的一致,如果一致表示所生成的RSA密钥可用,否则需要重新生成;12、到此生成完成,“Private Exp.(D)”编辑框中的内容为私钥,第7步所记录的内容为公钥,“Modulus (N)”编辑框中的内容为公共模数,请将上述三段十六进制文本保存起来即可。真的不掉线吗?、?一个简单的RSA注册机例如:我们已通过上述RSA工具得到以下三个变量:公钥:20063私钥:7FC4638275AF6B27AFD040FED32A941D227154ECDE37ABFF73D72DB50F9FC70C75BC3AF0EC26016BC706D953A9C5D6831E0DDD27B42A182CB92A6E426693511E42EB0BF9D64459809D5EC305E13B2A85BA004BA934232305D3DA1205E7AD1D01744BBCF286B23D64CC68371FDD39DAA43861920DA3DE5F9335A77983BFD08A83公共模数:CEB774FCCE9DB84A4452A0774264FC55F35A8D8AA9D1FC5EBD3E0880B7B62A4EF834FD6E855CD84A4D04F3BBDE32180FC3EE45AB5582C2320A6575C6ECF923A24EAF59F22F930631347E0E3B0477A89FCE22FE741F5053EC5320AAF6489CC407056361F01E031A02DB52CB0CBDFBB11F72C340354C6CAB78D97630EB8A6A5431初始化代码如下:注册窗口设计界面如下:注册按钮代码如下:上面的程序窗口插在用户的程序中,当需要注册时即弹出注册。作者手中的注册机软件界面如下:(注意保密)生成按钮代码如下:(注意保密)上述程序已在易语言4.0中运行通过。运行抓图如下所示:加密第7定理:RSA算法虽然很强,但弱在钥匙文件如何保密上。算法实现中的注意事项上述代码中取硬件码的命令没有采用重复取,而只取了一次,在实际操作中需要正规地多取几次,获取硬件码失败也要作相应的默认处理。并且硬件码好要转换为另一串字符串。上述代码中所有字串均未作分解处理,实际编程中需要分解,且分别隐藏到程序各处。最好也加上密。上述代码中注册码文本较长,可直接读取一个文本文件进行比较。即生成的注册码存在一个文本文件中,在点击注册按钮后,直接找这个文本文件的内容进行对比。文本文件的文件名可以是硬件号的名称。真的不掉线吗?、?上述是基本算法演示,其中的注册算法还可以再进行加工,变得更复杂一些。上述中注有(注意保密)字样的代码与程序需要软件作者严格保密,不对外公开。大家再看一个易语言大奖赛获奖作品:“家电维修”的例子,大家也可以在易语言新建窗口中找到这个程序,看看注册窗口的代码吧,如果您按这样的做法去发布软件,会有什么安全性可言呢。设计RSA的变形算法重要提示:上述是对RSA整体进行一次性验证,虽说RSA是一个非常强的加密算法,但是这样的算法太简单,很容易被破解,那么需要通过以下的方法进行变形。以下所举的例子只是一个参考,你自己的方法越古怪越变态越好。例如,可以采用分解RSA算法,每次只验证一小部分,以保证在程序的各个地方进行不同种类的验证,返回的值有的可设计为数值型,有的可设计为逻辑形,以利于在程序中不同地方调用,调用后可以根据数据进行运算,如果是破解版,那么使用破解版的人得出的结果一定是错误的。采用双RSA密匙、多RSA码也是个好办法,但最好两者之间再混合一下,采用RSA与数值计算支持库混合的方法可以加强加密强度。另外,密匙字串需要分开存放,全局变量中放一些,程序集变最中放一些,局部变量中放一些,常量中放一些,字符串一定要打乱,不可存为一个变量中,还可以RSA之上再加密,如RSA密钥是加密格式的,验证完后立即清变量要注意的事项还是很多,一定要考虑周密一些,即要达到加密的目的,也不要太复杂了,以免自己也被搞糊涂了。如果有错误,误将正版用户当盗版用户对待就不太好了。3数值计算支持库易语言提供的数值计算支持库很有特色,其特点就是可以计算任意位数,因此大家可以根据这个特性来制作加密算法,考虑到奸人如果制作一个注册机就必须去研究易语言,及易语言的数值计算支持库才能去破解,但即使这样,也不能轻松就能写出注册机,试想一下,数值计算支持库本身就花了很长时间写出,因此奸人们是无论如何也是制造不出注册机的。并且一般来说,奸人如果出注册机,一般都希望文件小一些,从而也不会用易语言写注册机程序,一般采用C语言写,即使写了也要带上很大的系统支持库与数值计算支持库,太累了吧,哈哈。在此建议的是将RSA算法与数值计算支持库相结合的办法,这样的注册机基本上就不会再有了,只要防止内存注册机出现即可。内存注册机的防止可以通过不进行判断的方式解决。而防止暴力破解是通过对软件加壳后,在外部CRC验证保证程序完整性,程序内部再多重检查,加上几个暗桩,这样通过层层把关,最终就可以确保万无一失了。真的不掉线吗?、?由于PE文件格式的局限性,任何加密程序都有可能被破解,我们所要做的仅仅是加强加密的复杂度,让奸人知难而退,耗费他们的时间与精力,浪费他的时间就是在杀他。七给奸人一些教训实际上,我们的用户已区分为以下四种人:共享试用者、正版注册者、破解使用者、破解版使用者。当我们需要给破解者一些教训时,一定要将正常用户区分开,否则正常用户有所损失,那么就根本不会来购买您的软件,您的声誉也会下降的。1给破解者的教训有句名言:“软件很生气,后果很严重!”。给破解者的教训要深刻一些,最好让他刻骨铭心,永世不忘。对于一个破解新手来说,很草率地去破解一个成熟的软件,对他来说是灾难的开始,给破解者制造麻烦,让破解者知难而退是一件有乐趣的事。这事一定不要忘记做哦,否则我这文章就白写了。一个通常的教训如下:但如果你想变态地去教训奸人,那么我也没有办法阻止你了,毕竟你已在授权文件中警告过他不要动你的东西了。哈哈。下面是将文件删除到回收站,及清空回收站的代码:2给破解版使用者的教训上面是对于奸人的教训,但对于一般破解使用者来说,也要给予配当的惩罚,但不能太过严厉,不能对他们的机器造成严重破坏。一般来说给予一次广告机会,或设置一些小损失即可。常见的有以下,其他的请你根据你自己软件的内容进行适当的创意吧。第1种:建议发现是破解版使用者在用时,可为你的软件加一些贴面广告,这样您会有一些收益,以补充你的一些损失。第2种:建议一段时间让他正常用,这破解版使用者如果较多的内容,说明他很在乎你这个软件,并且认为破解正常,已可以正常使用了,这时等他的数据量大时,将数据库锁定,他一定欲哭无泪,只好请你帮他解锁,购买您的软件了。易表的作者就是用这种方法实际上这是一种暗桩操作,即在发布几个月后再检查是否是正版,或在数据库存储到一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 8.1 《梦游天姥吟留别》教学设计 2024-2025学年统编版高中语文必修上册 2024-2025学年统编版高中语文必修上册
- 电池厂员工考勤考核制度
- 五年级体育下册 第三课 向后转走说课稿
- 化肥厂通勤福利制度
- 美容院美容师服务合同
- 第1章网络概述1.2网络的类型 -高中教学同步《信息技术-网络基础》教学设计(人教-中图版2019)
- 8.从生活中吸取设计的灵感说课稿-2025-2026学年初中美术浙教版八年级上册-浙教版
- 七年级地理上册 第三章 第二节 气温的变化与分布说课稿 新人教版
- 安徽省宿州市灵璧实验学校2024-2025学年八年级下学期期中生物试题 (含答案)
- 生态旅游项目招标工作计划编制与可持续发展规划合同
- 6.2 人大代表为人民 第二课时 课件 2025-2026学年六年级道德与法治 上册 统编版
- 2025年甘肃省金川集团股份有限公司技能操作人员社会招聘400人考试参考试题及答案解析
- 4.2 遵守规则 课件 2025-2026学年 统编版道德与法治八年级上册
- T/CIE 189-2023硫化物全固态锂电池
- 2025年北京市单位劳动合同样本
- 借游戏账号合同5篇
- 广播稿的写法课件
- 保密法课件教学课件
- 十八项核心医疗制度试题(附答案)
- 计生政策培训课件
- 健康养老专业毕业论文
评论
0/150
提交评论