为什么程序加密数字密码excel数字格式不对对

电子文档加密解决方案
1.电子文档的定义
电子文档是指在数字设备及环境中生成,以数码形式存储于磁带、磁盘、光盘等载体,依赖计算机数字设备阅读、处理,并可在通信网络上传送的文件。
这些文档通常包括:
1)财务资料(股东会、董事会、财务报表等)
2)市场资料(市场策划方案、销售、价格相关等资料)
3)技术资料
4)软件开发文件(源代码、中间代码、程序软件、开发文档等)
5)公司管理文档(规范、流程、公文等)
6)工作文件(日常工作需要与其他员工共享但不需要公开发布的资料)
7)人事资料
8)业务运营数据
9)其他(以上未能包含的文档资料)
2. 问题与需求
2.1 企业面临的问题
随着Internet日益普及,越来越多的文件以电子文档的形式传输。众所周知,电子文档极易复制且复制后不留任何痕迹。从政府文件、企业工程图纸、标准操作程序到销售展示,各类文档对政府、企业的平稳有效运行是至关重要的。目前随着电子政务的深入开展,无纸办公、MIS、ERP等系统也在政府及企业得到广泛的应用,利用网络发布、传递信息的个人和企业数量更是日益增长。
纵观信息安全领域的发展趋势,可以清晰的看到,原本以恶作剧、显示计算机能力等为目的的网络入侵,已经逐步的转变成了直接以以危害商业利益或国家安全为目的的情报窃取行为;在这种目的的驱使下,入侵目标网络,获取涉密文件数据信息的安全事件占了所有安全事件的80%之多。
涉及国家安全的机密文件,严重影响到国家的安全和利益。
涉及企业的机密文件,通常与企业的决策甚至生存有着密切的联系,如产品设计图面、产品开发相关数据、专利及工程计划、市场开拓计划等,这些文件的泄露轻则导致企业利润下滑,信誉受损,严重的会导致企业破产。
从公开媒体上可以检索到大量因为文档泄密而导致巨大损失的案例,如:
• 中国著名通讯设备提供商三名技术人员将公司重要机密资料带走,在上海创办光信号传输设备公司,使得通讯设备提供商大量客户流失;
• 日本软银公司发生内部泄露客户数据,损失达数亿元;
• 郎讯公司产品图纸泄露,新产品推出落后于竞争对手,直接损失3.5亿美元;
• 美国万事达信用卡国际公司6月17日晚宣布,“信用卡第三方付款处理器”网络系统遭入侵,可能造成包括万事达、Visa等各种信用卡高达4000多万用户的数据资料被窃, 其中涉及近9000张国内信用卡;
• 神州数码发生财务报表泄露事件,造成停牌调查,名誉损失严重;
• 广东佛山市政府项目招标方案书泄露,直接领导承担管理责任;
• 某边防总队司令部电脑室的一台计算机硬盘被盗走,内有绝密级文件l 份、机密级文件4 份、秘密级文件1份;
• 中科院上海某研究所一研究员来京参加重要会议,所携带的手提电脑被盗,电脑内存有军工秘密文件若干。
实际上,由于电子文档泄露导致的损失仅举几个数据作为佐证,我们就该能了解电子文档保护的必要性:
• 根据 CSI/FBI 统计 2005 年各种安全漏洞造成的损失中,30%-40%是由电子文件的泄露造成的;
• Fortune 排名前 1000 家的公司中,每次电子文件泄露所造成的损失平均是 500,000 美元。
2.2 企业对电子文档安全的需求
2.2.1内部员工的权限限制
企业内部员工众多,容易使非设计人员接触到公司内部的敏感文档,即使不能把这些文档带出公司,也有可能使很多创新思路和关键点都会变得大众化,因此不允许非设计人员接触到机密文档。必须保证这些机密文档只能被已授权的员工阅读或修改。即使文档的作者也无法将明文的文档传播出去。
2.2.2合作伙伴的权限限制
当前是个合作与竞争并存的时代,有些包含敏感信息的文档需要与合作伙伴共享,但必须授予合作伙伴最合适的使用权限,尽量降低文档扩散造成的风险。
2.3解决措施
2.3.1.1文档泄露的方式
通常电子文档的传输造成的信息泄露有以下几种形式:
内部员工因为离职等原因,把秘密文件拷贝带走,或通过网络向外传递;
网络骇客通过病毒、特洛伊木马、网络攻击等非法手段取得访问权限,并把文件复制带走;
员工缺乏保密意识造成的泄露,如遗失笔记本电脑、存储介质或将电子文档传给了没有阅读权限的阅读者,造成秘密信息公开;
2.3.1.2哪些文档需要保护
组织中需要保护的数据包括:
财务资料、市场资料、技术资料、公司管理文档、工作文件、人事资料、业务运营数据(Microsoft Office格式、KingSoft Office格式、Adobe PDF格式等);
产品设计图纸(AutoCAD格式、Pro-E格式、Microstation格式等);
3.产品方案
3.1建议部署结构
在设计此部署结构时,我们考虑到了公司特有的因素:
1、公司拥有多个部门;
2、总部署台数200台左右;
3、由于系统的特殊性,必须保证可用性、易用性、员工接受能力等因素;
因此,我们建议部署双服务器(双机),保证用户的高可用性,如果有条件建议部署一台服务器到公网,这样公司笔记本用户外出只要是到能联网的地方都能在线连接服务器进行认证和在线申请。
3.2 例外情况处理
3.2.1& 灾备方案
尽管采用了双机备份的方案,如果网络出现故障导致客户端无法连到任何一台服务器,那客户端将无法打开加密的文件,严重影响了工作效率。针对这种情况,我们提供了掉线可用解决方案。
在客户端正常连上服务器后,如果因为服务器故障或网络故障导致客户端无法再连上服务器,客户端会自动切换到掉线可用状态,期间能正常打开加密的文档,产生的文档也加密。当网络恢复正常后,客户端又会自动连接服务器,并且将操作日志发送服务器。
3.2.2& 限制复制
在安装有参数领航电子文档加密解决方案的机器上,为了保证文档的内容安全做了复制粘贴的限制,即从受保护程序复制到未受保护程序。在可能有些特殊的业务应用比如财务人员需要将一些文字内容提交到税务网等诸如此类的应用。为了保证安全性又不给工作带来太多的不便,我们提供一种限制复制的解决方案。
给需要复制的工作人员开放允许复制一部分文字内容的权限,就可以完美解决这个问题,当然,仅仅只是一部分文字,这个大小是可以根据实际情况来限制的。
3.2.3& 加班处理
针对员工可能存在的文档回家加班处理的情况,我们提供两种方案供参考:
3.2.3.1 方案一
在员工自己的机器上安装带个人模式权限的客户端并给员工配发相应的USBKEY,这样可以正常打开公司的文档进行加班,如果需要做私人的事情只需切换到个人模式即可处理私人文档,而在个人模式下无法打开公司加密文档。
3.2.3.2 方案二
把需要带回家加班的文档进行解密后带回家处理。解密文档方案请参考2.2.4小节。
3.2.3.3 方案对比
方案一,可以保证文档安全而且不影响员工自己处理私人文档;
方案二,则需要事先将需要带回家加班的文档进行解密申请并经过管理员批准后方可正常打开。
综上所述,建议采用方案一。
3.2.4& 解密文档方案
在部署了参数领航电子文档加密解决方案电子文档安全系统后,企业内部的资料达到了预期保密效果,但由于存在对外的接口比如业务部门需要将资料发给合作伙伴或者目标客户,需要将文档进行解密。参数领航电子文档加密解决方案的客户端能够使得用户提出解密申请,该消息转发到指定的管理员处,由指定的管理员进行审批。如下图所示:
经过管理员的审批后,用户端的加密文档立即被解密。
3.2.5& 离线使用方案
员工因为业务需要而带笔记本出差,也将需要使用涉密资源。如果将这些文件解密后带出去,将会面临很大的安全风险。为了保证计算机在离开内网后能正常打开加密的文档,所以我们提供了离线使用的解决方案。
3.2.6& 通过离线申请方式
和解密申请一样,计算机的离线使用也能够通过由客户端发起、由管理员进行审批的方式进行。
此申请也能够通过我们提供的API,使得其他的应用系统能够使用参数领航电子文档加密解决方案的功能来处理响应的流程审批。
离线用户需解密文档,可将文档发回给公司人员,交由其代为解密或由管理员赋予离线用户以自行解密文档的权限。自行解密文档的日志记录将在计算机再次联入公司网络时传入公司的日志服务器中以供审核。
3.2.7& 通过USBKEY认证方式
对于经常出差的员工,除了采用离线申请方式外,我们建议其采用USBKEY方式进行认证。即在笔记本带离公司网络环境前,无需进行任何的离线申请,只要领取已经制作好的USBKEY即可。在USBKEY工作方式下,能正常打开加密的文档,产生的文档依然加密。
另外,USBKEY本身带有权限,如解密权限。如果员工权限级别较高,可以领取到带自行解密权限的USBKEY,只要插上USBKEY就可以自行解密。这样在外出差需要解密的文档无需发回公司即可解密,解密文档的操作日志在下次该计算机连入公司内网时将传回服务器以供审核。
3.3 用户身份识别
目前参数领航电子文档加密解决方案采用客户端硬件信息加上当前用户名的方式进行用户身份的识别。
如果公司采用windows AD域管理,我们程序支持定期与AD服务器上的组织架构及用户信息进行同步。
而针对域用户设定了权限的文档被加密后,其权限依然与加密前一样,即文档的权限也与域内所设权限无缝集成。
3.4 日志审计
参数领航电子文档加密解决方案目前能够做到对解密申请、离线申请、文档的移动、复制、删除、重命名、打印等操作进行审计。
鉴于公司目前的环境和状态,我们建议对客户端文档操作过程、管理员详细操作、用户解密内容、用户离线内容进行相关审计。
解密内容以文件形式保存在服务器上,按照实际需求保留一个时间段,时间段的设定取决于解密文档的总量。
我们建议每周、每月定期把客户端的文档上传到服务器进行备份,参数领航电子文档加密解决方案客户端本身就具有这种定期备份的功能。
如果有更高的要求,我们可以使用SVN或者其他方案进行文件的备份。
3.6 部署后应该达到的效果
3.6.1& 防住泄密源头
机密文档的泄露渠道多种多样,如果仅仅使用“堵”的方式,将会收效甚微,甚至还会影响到XX公司的运行方式,给员工的操作带来大量的不便之处,在新技术不断推出的今天,谁知道下一种泄露的渠道是什么?防住泄露的源头才是标本兼治的方法。
由于新传输的协议产生,带来更多的传输手段,比如蓝牙、红外线技术,每次传输手段的出现都需要投入一部分费用进行软件和手段的二次更新,如果补救不及时便会产生风险。
3.6.2& 保护机密文档
对于公司来说非常重要的文档资料都在参数领航电子文档加密解决方案的保护之下,保存、另存、导出等功能输出的文档都是强制加密的,其他软件无法打开,脱离XX公司网络环境也无法打开。真正保证您的文档安全。
3.6.3& 用户透明
用户原先怎样使用文档,现在依然怎样使用文档,完全无需手动对这个文档解密再打开等一系列烦琐的操作。也无需使用专用的阅读器去开打被加密的文档,更不会限制软件中的菜单来给用户带来任何不便。
3.6.4& 大方简洁的使用方式
服务端界面简洁大方,管理员甚至不需要阅读说明书即可轻易上手,把XX公司内部的机密文档管理的井井有条。
3.6.5& 完美兼容性
参数领航电子文档加密解决方案在系统底层做加密解密的操作,几乎不与上层应用系统耦合。也就是说:上层应用系统输出文件到硬盘保存的时候,参数领航电子文档加密解决方案接管这些数据并加密;上层应用系统需要打开密文文件的时候,参数领航电子文档加密解决方案会首先将这些数据解密后再传给上层的应用系统。一切都是参数领航电子文档加密解决方案自动完成的,您所需要做的一切,就是将这个应用系统的策略导入到参数领航电子文档加密解决方案的保护进程当中去。不论您单位使用的什么OA,PDM,都能够被参数领航电子文档加密解决方案电子文档保护系统完美支持。
参数领航电子文档加密解决方案电子文档安全系统经过诸多的部署和详细的测试证明,参数领航电子文档加密解决方案广泛与各种流行的操作系统、应用软件相互兼容,包括流行操作系统、国内外杀毒软件、防火墙软件、即时通讯及浏览器、邮件客户端等应用软件。
3.6.6& 灵活的方式
通过配合使用USB KEY或者使用离线申请的功能,能够使得用户在得到授权的情况下脱离XX公司内部的网络环境打开、编辑、新建文档。离线后的加密效果和在线时候完全一样,能够完全保证文档的安全性。如果需要将文档提交给合作伙伴,可以灵活使用多种方式确保外发文档的安全性。
3.6.7& 安全、稳定
电子文档安全保护系统自身的安全性不高,自然不可能为应用程序产生的文档提供保护。
• 参数领航电子文档加密解决方案电子文档安全系统内置了AES、RC4、RC5加密算法,可供用户灵活选择。在部署Agent的时候,自动将用户硬盘上的指定文档都转换为密文。确保文件安全。
• 参数领航电子文档加密解决方案还通过USB KEY或提取用户机器的一系列硬件指纹,结合当前用户SID等信息演算后得到硬件机器码,并以此为服务器/用户端的通讯认证凭据,以确保非法接入的伪造客户端偷窃。
• 参数领航电子文档加密解决方案允许多个管理员对服务器进行管理,不同的管理员可以拥有不同的权限,以保证管理员不会越权操作。
• 内核驱动级的注册表、文件、进程全面保护,有效防止恶意用户的破解企图。
• 服务器端具有完善和安全的多机备份及多级部署机制,一旦出现服务器故障,客户端可以自动的连接备机,保证客户端能够正常使用。最大限度的降低用户使用风险。
4.&重点问题分析
4.1.1& 后台数据访问的控制
公司的机密信息大部分保存在业务系统的后台数据库里面。日常工作员工通过终端访问后台数据,一旦这些数据被终端使用者下载到本地,或者截屏留在本地就会造成敏感信息泄漏。因此对于业务系统的数据要做到严格防控,要做到数据只能使用不能被带走。
因为公司目前的业务系统是基于B/S架构的,因此是使用浏览器访问后台数据的,只要员工通过授权的用户名和密码就能访问数据。所以参数领航电子文档加密解决方案的解决方案是对后台数据的访问这做限制。我们在数据服务器上做限制,只允许安装了防泄密客户端的用户访问后台数据,其他的访问者被拒绝。另外需要增加一个专用的浏览器用于访问业务系统,这个专用的浏览器被防泄密客户端保护起来,从里面下载和导出的文件会自动加密,这样数据就只能在公司内部使用。大致的流程图如下:
4.1.2& 外发文件只读且限制阅读次数
发给合作伙伴的文件,如果需要保证该文件合作伙伴只读而且还希望限制其打开次数,可以使用TSP功能模块解决方案。
TSP功能模块适用于所有静态文档、图纸的外发。安装TSP组件,将在终端产生虚拟打印机,加密文档可直接被打印为包含多种安全策略(密码、阅读次数、时间限制、硬件绑定等)的TSP格式,打印日志同时上传至服务器备查。只有在满足安全设定的条件下,才可使用TSP Reader阅读,且阅读期间无法复制或另存文档内容。
下一篇:上一篇:趣文:表白后女生发给我一串五层加密的密码 - 博客 - 伯乐在线
& 趣文:表白后女生发给我一串五层加密的密码
原帖地址:,由整理。
(楼主):
最近和一个心仪的女生告白, 谁知道她给了一个摩斯密码给我,说解出来了才答应和我约会。 可是我用尽了所有方法都解不开这个密码。。好郁闷阿。只能求教你们了。
****-/*—-/—-*/****-/****-/*—-/—**/*—-/****-/*—-/-****/***–/****-/*—-/—-*/**—/-****/**—/**—/***–/–***/****-/
她唯一给我的提示就是这个是5层加密的密码……也就是说要破解5层密码才是答案……好郁闷阿.. 救救我吧..
补充一下,我记得她还说过最终语言是英语。
6楼 PorscheL :
首先要把摩斯密码给解开来。应该是: 然后呢? 然后我再想想。数字的话应该下一步是代入?或者是那个啥
经过昨天一晚的奋斗,我还是破解不了。 不过今天我死磨她,叫她给提示的后,她说途中有一个步骤是”替代密码”而密码表则是我们人类每天都可能用到的东西。我会再套多点讯息的……希望大大帮忙解答阿……毕竟我也希望不要她亲口说出来这个密码的答案..
28楼 巨蟹座的传说 :
毫无规律……
daiddahadafcdaibfbbcgd
仍然不对……
d4/a1/i9/d4/d4/……
对了,先来考虑考虑替换密码。楼主顺便看看能不能套出每一层密码的提示。这个很重要。
38楼:幻之皮卡丘
数字有偶数个,且注意到41组合出现数次。
于是分组:41 94 41 81 41 63 41 92 62 23 74
注意个位数总是1~4
于是颠倒:14 49 14 18 14 36 14 29 26 32 47
翻成英文字母,前26大写后26小写:NwNRNjNcZfu
然后卡住了……按大小写分别穷举换位也没看出结果
83楼:片翌天使
38楼给我的提示。还是让我想到了手机。你们看解码出来分组后的数字分别是:41 94 41 81 41 63 41 92 62 23 74 。并且每个组合个位数都不超过4。特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。看图。
手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。那么,按照上面的组合解码可得:G Z G T G O G X N C S
解码后我们发现每一组数字都能解释出来。目前我只能解码到这里的。虽然很不通顺,但我相信这里应该是个突破点。
LZ还是快点去套多点提示给我们吧
93楼:巨蟹座的传说
rqorrqiqrqyerqowywweur?
115楼:ybaba
大家注意一下这组数字 最大的是数字的范围是1-9。手机上一共有10个数字按键 其中0和1不对应任何字母,所以不存在0 而为什么会有1呢?大家在仔细看一下,如果将数字从左到右编序号,12345直到22。有没有发现奇数编号对应的数字没有1,所以奇数编号的数字应该是对应有字母的手机按键。而所有偶数编号对应的数字都是1234。
为什么只有1234?大家再看看手机,所有有字母的按键 最多只有4个字母,所以偶数编号的字母对应的是按键上的第几个字母。按照这个方法我们来看下这串数字 xx94xxxxxxx74。这是仅有的两个偶数编号的4 相对应9和7。你们再看看手机 只有按键9和7才对应4个字母,其它的都只对应3个。
(重点来了!)
207楼:片翌天使
我重新整合了这个解密步骤。如下:
38楼给我的提示。还是让我想到了手机。你们看解码出来分组后的数字分别是:41 94 41 81 41 63 41 92 62 23 74 。并且每个组合个位数都不超过4。特别是除了十位数是7和9这两个数字后面有4以外其他的都没有4。看图。
手机的键盘上7和9的字母也是4个的,其他的都不超过4个字母。那么,按照上面的组合解码可得:G Z G T G O G X N C S 。解码后我们发现每一组数字都能解释出来。目前我只能解码到这里的。虽然很不通顺,但我相信这里应该是个突破点。
93楼的键盘代入也给了我很大的提示。包括楼主的“她说途中有一个步骤是”替代密码”而密码表则是我们人类每天都可能用到的东西”。那么很可能就是电脑键盘。因为QWE的格式是被世人所认可的,也就有可能成为密码的码表。码表 QWE=ABC依次类推。
那么解码:G Z G T G O G X N C S
就是G=O Z=T G=O T=E G=O O=I G=O X=U N=Y C=V S=L
翻译过来就是 O T O E O I O U Y V L
其实到这里就已经大概知道答案是什么了。按照逻辑来整理,只要你重组这些字母的时候你就看到了。虽然重组有很多种例如,LV IOU ET OOO 。可是这些没有语言性质。因为楼主说过最终答案是英语。
所以唯一一个符合逻辑的答案应该是I LOVE YOU TOO。可是我还不确定。因为这里我才解了第3层就已经看出答案了。
所以我决定用O T O E O I O U Y V L。进行再次解码。我用了很多种解码方法。凯撒,乘法等等……最后我发现了只有栅栏才能读得通。分成两排:
O T O E O I
重组后:OOTUOYEVOLI。
然后倒序:ILOVEYOUTOO.
I LOVE YOU TOO 就自然而然的出来了。
最后我才肯定密码就是
I LOVE YOU TOO.
最后的最后,我敢肯定楼主有一个非触摸屏的手机,并且键盘一定是标准格式的。而且应该有一台笔记本或者你经常接触电脑。另外楼主和楼主的女人关系应该是认识很久的那种,而不是一见钟情。而且楼主告白的时候应该有用到I LOVE YOU 或者我爱你之类的字眼。对不对阿?呼.好累啊..
祝楼主幸福咯。因为她是爱你的!!
/******************分割线******************/
她应该是一个聪明又含蓄到极点的MM吧!真的很可爱!数十个网友帮他解这道谜题,花费16个小时。总算最后都答案是大家都乐意看到都最好的结果!所有的辛苦和努力都没有白费。原来只需要一些脑细胞,一句被世人说烂了的话,也能被演绎的如此鬼斧神工!真是浪漫到了极点!祝他们能白头偕老!
/******************分割线******************/
可能感兴趣的话题
又是一篇喜感小文
关于伯乐在线博客
在这个信息爆炸的时代,人们已然被大量、快速并且简短的信息所包围。然而,我们相信:过多“快餐”式的阅读只会令人“虚胖”,缺乏实质的内涵。伯乐在线博客团队正试图以我们微薄的力量,把优秀的原创/译文分享给读者,做一个小而精的精选博客,为“快餐”添加一些“营养”元素。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2016 伯乐在线
赞助云主机为什么我手机修改锁屏密码只能修改数字 比如说绘图都不行 它显示的已由管理员加密政策,是什么意思_百度知道
为什么我手机修改锁屏密码只能修改数字 比如说绘图都不行 它显示的已由管理员加密政策,是什么意思
为什么我手机修改锁屏密码只能修改数字
比如说绘图都不行
它显示的已由管理员加密政策,是什么意思?请玩手机的高手给我说说
我的是三星手机
个需要在设置之前进行着手机上权限获取才好的了。有权限的情况下进行着mima操作都是正常使用着了。想设置为绘图的都没有问题的了。保证设置之后将手机上正常的操作修改之类的设置手机了。应用宝上的一键root来使用着操作着就没有啥问题的了。然后设置其他的设置就正常操作了
那请问在那个功能里找啊
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁易语言软件加密技术详解【一】
雷锋的四句名言是:对待同志要象春天般的温暖(我在帮助易友们提高易语言水平);对待工作要象夏天般的火热(我是工作狂看我写这么多就知道了);对待个人主义要象秋风扫落叶一样(对支持破解的人要坚决反对);对待敌人要象严冬一样残酷无情(打击盗版是大家共同的责任)。
本文为全中文编写,不需要有PE文件格式知识,不需要掌握汇编或C语言的编程技巧,一些加密算法直接由易语言提供,特殊的加密算法大家可以翻译C语言代码、汇编代码或VB代码。
本文中将&Cracker&一词翻译为&奸人&,意为&奸邪小人&之义。本人对破解者一向深恶痛绝,有人说中国的软件发展中破解者有一份功劳,可我说这话不对,看看因盗版而产生的微软对操作系统及软件业的垄断,国内软件业在盗版的夹缝中生存&&,如此下去,软件作者没有收益,将不再会有优秀的软件推出。防止盗版,匹夫有责,我想通过本书的推出可以加强易语言用户的加密能力,将盗版杀死在大家共同的手中。
随着采用易语言编制程序的人们越来越多,写一个软件易被奸人破解的情况也越来越多了,有个别用户甚至于怀疑易语言是否有安全性。从技术性上来说,我只能说加密技术与编程语言无关,一个编程语言的安全性一般指所生成的机器码是否稳定、可靠,而不是方面,如果想要很好地,那么掌握一门加密技术是非常必要的。
本书考虑到使用易语言的用户大部分对PE文件结构不太熟悉,因此没有采用很底层的方法去教学,而是采用与易语言直接表达的方式试图说明如何加密。
本书基本上是按以下的顺序进行讲解的:
反破解技术1
反破解技术2
反破解技术3
文件名验证
LOGO图片验证
窗口标题验证
防改文件大小暴破
加壳后数据签名验证
加壳后CRC验证
文件大小验证
反调试模块
反调试支持库
内存注册机
不进行判断,用循环代替
字符串打乱器
及时清内存
算法注册机
数值计算支持库
多处验证点
命名刻意隐蔽
本书是集体创作作品,并集成了多位作者的公开著述,在此一并表示感谢。其中部分文字内容根据易语言的特性作了修正。文中不署这些作者的姓名,以防止奸人对他们的软件的刻意破解。
本章整理:麻辣教师
《易语言软件加密技术》 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
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《如何用简单方法防止破解》 49
附录3代码与数据结合技术 50
(正&& 文)
一.易语言程序加密的目的
在此有必要说明一下为何要为自己的程序进行加密,初步认为有以下两点:
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),)
以上方法虽然软件的体积大了一些,但带来的直接好处是,程序量一大,为破解带来了更大的困难,虽然损失了体积,但保证了安全。
你的关于窗口也要这样保护起来哦。
使用数据操作支持库中的&加密数据()&、&解密数据()&命令加密图片后存放在图片资源中,用时再解密显示出来。例如您的一些口令就直接用这个加密就可以了。解密时注意直接放在一行代码中比较,不要存到一个变量中,这样在内存中是找不到明文的。
四.防止内存注册机
&内存注册机&的原理就是在不用分析原程序的加密算法,实现直接读取原程序在加密计算过程中内存里显示出的明文注册码。
很多易语言软件加密时,算法是足够复杂了,但是就是KEY文是存在内存中的,这样就极易为破解。破解者只要写一个小程序,将这个内存地址显示出来,就一切OK了。特别是现在还有自动生成此类内存注册机的软件,只要填入内存地址,一下就生成了。如下图所示。
解决这个问题的办法是推荐使用RSA注册法,如果你不想采用,那就要一些技巧了。
1.不要使用简单判断
不要使用如果这样简单的判断语句,使用循环命令进行判断。
在程序中与你的数据相结合进行判断最好。
2.采用MD5对比
你的注册码判断过程最好不要直接判断两个注册码文本的方法,正确的应该是取文本的MD5码,再用取到的这两个MD5码进行对比,即用户输入在注册编辑框中的文本信息与注册码文本信息进行MD5的直接对比。有时奸人会输入一个假的注册号,然后在内存中寻找这个数据后再进行分析,如果转换为MD5判断后,奸人在内存中是轻易找不到自己输入的数据的;
3.多注册码拷贝
即在内存中复制大量的注册码,在验证时随机取一个进行判断就可以。这样的好处是奸人要跟踪N多个注册码内存,不知在哪一处就验证了,这会让他烦死。
注册码分开放在N个地方也是个好方法。
五.防止文件被暴破
暴破是指破解者在模拟算法失败的情况下,恼羞成怒,狗急跳墙,一气之下暴力破解,将软件的壳脱掉,将要求注册的部分直接跳过去,这样直接产生的后果是文件大小被改变了。
首先要说的是:一般暴力破解前奸人都要跟踪查看你关于注册文字的一些关键字,请大家不要将注册信息的明文写在软件中,如&请注册&,&注册成功!&,&注册失败!&,这些文字请打乱后显示,有可能的话再加密,这样破解者不容易找到位置。奸人有时用一种简单的字符分析工具很容易找到这些敏感的字,因此尽量避免明文显示。
其次,不要使用信息框进行提示是否注册成功,这个信息框的API函数的使用情况很容易被奸人找到,可以单独制作一个提示窗口,上面显示注册成功与否加密后的文字,或直接在窗口中放一张提示是否注册成功的图片也行。
再次,你的注册码判断最好不要直接判断注册码,而是用两个MD5进行对比,即用户输入在注册编辑框中的文本信息与注册码文本信息进行MD5的直接对比。有时奸人会输入一个假的注册号,然后在内存中寻找这个数据,如果转换为MD5判断后,奸人在内存中是轻易找不到自己输入的数据的;
最后,你的注册判断不要使用&如果&这样简单的命令,而是使用前面所说的循环命令进行判断。
加壳软件的作用就是防止自己的程序被暴破。首先破解者会脱壳,如果有的壳很硬,或有加密算法,这为脱壳带来麻烦。其次,加壳后,在外部DLL中存一个MD5的校验,这将防止脱壳后运行,这样奸人就不能进行运行调试了。
加壳软件分为普通壳与加密壳。加壳可压缩文件大小,并且将一些本来清晰的字串进行了打乱的效果。
普通壳的作用是压缩资源,使文件尺寸变小,一般可使易语言缩小一半以上的尺寸,有的还可以减少系统资源占用。其他编程语言生成的EXE文件加壳后有可能变大,例如C语言生成的程序本来就小,压缩不了尺寸,这时再加上一个壳,尺寸反而会变大。
普通壳有:UPX,ASPACK,ASProtect,PKLITE,PECompact等。
加密的壳有:幻影,软件保护神等。
加密的壳可以提供直接的注册码功能。加密的壳由于是公用壳,很多人都去购买使用,一般容易被奸人看中脱壳,灵活性也差。如果被破解了,那么后果是十分严重的。因此推荐的就是一个普通壳,如UPX,然后进行MD5判断是否被脱壳就可以了。
下面,再介绍一下常用的加壳软件。
1.常用加壳软件介绍
下图是UPX Shell v3.10软件的运行界面:
下图是ASPACK软件的运行界面:
下图是PKLITE软件的运行界面:
下图是PECompact软件的运行界面:
下图是&幻影&加壳软件的运行界面:
下图是&软件保护神&加壳软件的运行界面:
壳加完后,余下的工作就是防止脱壳了,一般来说,很多人都想要一个很强的壳,但一方面任何壳都有可能被破解,另一方面壳的兼容性就有很大的问题。
如采用强壳的《系统管理》采用了一个国外出品的强壳,确实是很难脱掉的,但由于破解版的原因,在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.易语言的花指令
加花指令的方法有通用性,即所有的反汇编器都可以用这种方法来抵挡。这种方法主要是利用不同的机器指令包含的字节数并不相同,有的是单字节指令,有的是多字节指令。对于多字节指令来说,反汇编软件需要确定指令的第一个字节的起始位置,也就是操作码的位置,这样才能正确地反汇编这条指令,否则它就可能反汇编成另外一条指令了。并且,多字节,指令长度不定,使得反汇编器在错误译码一条指令后,接下来的许多条指令都会被错误译码。所以,这种方法是很有效的 。
易语言新版本中增加了自动插入花指令的功能,并且插入后虽然文件体积大了一些,但不会造成运行错误。大家可以点击菜单&工具&&&系统配置&。弹出的窗口如下图所示。
【注意:此花指令不适合于VMP和SE等需要SDK标注的加壳程序使用,如果使用SE或VMP不要用这个花指令,谨记。】
不采用花指令时,反编译出来的代码几乎是跟源代码一一对应的,这样一来我们的程序还有什么秘密可言呢?完全可以从反编译的结果中理解程序的功能。
其实花指令就是人为地构造一些&陷阱&和一些无用的字节,起到迷惑破解者和隐藏信息的作用。在这里,易语言为你构造了这些&陷阱&。大家只要将上述配置项打开就可以了。同时也提醒大家,在发布新版本时采用以下的方式:第一周发布的是花指令级别为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.简单注册原理
在易语言安装后的程序&\e\lib\krnln\samples\软件注册.e&就是演示了软件注册的原理。
其中有一个子程序是重复取硬件码的,存在取硬件码失败的情况,因此要重复多取几次,如果取失败就用一个默认的硬件码代替。这个大家一定要看一看,
注册机的原理就是:用户在使用过软件一段时间后,认为软件较为理想,要求向作者注册,而此软件中提供了用户本机上的硬件号,用户将此硬件号发给作者,作者给出一个注册码,用户拿到此注册码后填写,软件就注册成功。注册码的计算是由硬件号产生的,计算过程只有作者知道。
例如:用户机器上的硬件号为34,作者返回的注册码为1904。用户在注册码输入栏中输入1904,那么注册成功。作者是这样计算的,34X56=1904。那么软件中也是这样计算的。以上介绍的只是例子,大家也许会说,从1输到9999,总有一个会遇上的,但事实是硬件码不会这样简单,可以是16进制的,而计算也不会这么简单,可能会用上矩阵也说不定,因此相比较而言,靠猜测的方法去破解是愚蠢的。
下面看一下易语言自带例程中的程序代码,此为要求用户输入注册码时的判断语句:
这样作者就可以很轻松地得到注册码,然后将这个注册码发给用户用于注册了。
上述只是在一个理想的状态中实现的,即没有奸人对你的软件进行破解。如果奸人看上了你的软件,只靠这么简单的方法,那么一定会吃大亏的。因此大家在注册码生成的计算上要想尽一切办法使之复杂化,如:采用位异,采用加上计算数值,采用&&有些办法将在后面章节中进行介绍。
2.RSA算法注册
使用RSA非对称密钥算法对指定字节集数据进行签署,支持32到4096之间任意合法的RSA位数,返回签署后的结果文本。
说明一,电子签名系统简要实现方法:
首先给所有具有签署权利的人员授予不同的RSA钥匙,RSA钥匙由&公钥&、&私钥&、&公共模数&三部分组成,为了生成符合要求的随机密钥,可以下载使用 .cn/RSATool2v14.rar 第三方工具软件(内有操作说明)。然后将所有人员的&公钥&和&公共模数&成对向外公布,&私钥&由被授予人员自行妥善保管。
被授权人员使用&私钥&和&公共模数&对指定数据进行签署,然后将签署后的结果文本随同被签署数据一起发送,接收者收到后,使用该签署者公开的&公钥&和&公共模数&及签署结果文本对被签署数据进行验证,如验证通过则说明该数据必定是此签署者所认可的,且没有经过任何篡改。
说明二,数字签名用作软件的实现步骤:
1、欲注册用户提供注册信息(如硬件代码、用户姓名等);
2、软件作者使用自己的私钥对该注册信息进行数字签署得到签署结果文本;
3、将此签署结果文本作为注册钥匙文件发送给用户;
4、在用户端的软件使用相同的用户信息、注册钥匙文件及软件作者的公钥进行签名验证,如果通过表明已经注册,否则表示未注册。使用本方法在私钥未泄露的前提下,可以绝对避免破解者做出软件的注册机。
②RSA工具使用简介
RSATool工具运行界面如下图所示:
有很多人说RSA工具不会用,其实RSA工具的使用方法吴涛已说明得非常清楚了。下面引用吴涛说明书的原文:
吴涛写的RSATool工具使用说明书如下:
RSATool 2.14 工具软件使用指南:
(软件下载地址:/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工具得到以下三个变量:
7FCB27AFD040FED32A941D227154ECDE37ABFF73D72DB50F9FC70C75BC3AF0EC23A9C5D6831E0DDD27B42A182CB92A6EEB0BF9DEC305E13B2A85BA004BADAD01744BBCF286B23D64CC68371FDD39DAADE5FBFD08A83
公共模数:
CEB774FCCE9DB84AFC55F35A8D8AA9D1FC5EBD3EA4EF834FD6E855CD84A4D04F3BBDE3AB75C6ECF923A24EAF59F22FE3B0477A89FCE22FE741FAAF361F01E031A02DB52CB0CBDFBB11F72CCAB78D9A5431
初始化代码如下:
注册窗口设计界面如下:
注册按钮代码如下:
上面的程序窗口插在用户的程序中,当需要注册时即弹出注册。
作者手中的注册机软件界面如下:(注意保密)
生成按钮代码如下:(注意保密)
上述程序已在易语言4.0中运行通过。运行抓图如下所示:
(非特殊说明,本文版权归万捷网络所有,转载请注明出处 )
致力于打造最强网络验证系统,为用户带来更好的使用体验。欢迎访问投稿!
想用手机访问万捷网络么?请用手机扫描二维码快速访问!
业务咨询: (9:30~23:00)

我要回帖

更多关于 圣天诺加密锁虚拟程序 的文章

 

随机推荐