分享到:
发表于 2007-09-12 19:00:58 楼主 | |
加密与解密-自学破解
为什么要加密呢?加密的结果就是让你不能随便使用软件产品,防止盗版!为什么不能随便使用软件呢?因为这是个商品经济社会,一切都要以经济(钱,就是MONEY^_^)为核心。别人在开发软件产品中付出了人力、物力和财力,需要从中得到回报,维持生存。所以只有在付出了合适的费用之后,我们才能得到使用别人软件的权力。 为什么要解密呢?这个问题不太好回答,因为解密的缘由很多,不同的人有不同的动机。可能是因为对解密技术感兴趣(像我一样,我可是经常买正版软件的);可能就是因为想要无偿的、免费使用软件;可能是因为需要用某个软件,虽然愿意付钱,但是很难办到;可能是为了盗版,获取非法利益(这个可不好噢!犯法的,小心进班房啊^_^)。。。。。。总之,你有你的理由,我有我的根据,但是大家都走到一起来了。 早期的软件加密其操作系统平台主要是DOS,在那个时代,我们可以很容易的写个程序控制整个计算机。因为DOS比较简单,安全性较差,用户可以进行各种低层操作,例如调用各种中断、读写内存区域、操作I/O端口等等。总之,利用DOS本身提供的环境,我们几乎可以控制任何我们想要控制的东西,甚至控制DOS本身也不是难题。那个时候的加密技术主要有磁盘加密(包括软盘和硬盘)、文件和目录的加密、各种硬件(加密卡、加密狗等)加密等等。当时最流行的莫过于软磁盘的加密技术了,包括特殊磁道(如额外磁道、螺旋磁道、无缝磁道等)、特殊扇段(超长扇段、乱序扇段、异常ID等)、特殊方法(如弱位技术、FM格式法、磁道噪声法、针孔加密技术等)。那时我们经常会见到很多软件都需要钥匙盘,到处都是,那些钥匙盘用的就是各种各样的软磁盘加密技术。为了防止解密,还运用了多种反跟踪技术,比如修改中断向量、锁键盘、关闭视屏、覆盖技术、废指令、逆指令流、指令队列预取法等等。总之,DOS时代你可以充分运用你的想象力去构造各种各样新奇的加密技术,因为DOS给你了很多自由发挥的空间。 到了WINDOWS时代,你会觉得一切都变了,自己不再是主人,我们只能在限定的范围内活动。 WINDOWS把低层的东西都隐藏了起来,我们只能看到各种各样的壳,至于里面的东西嘛,只有WINDOWS自己才能动。WINDOWS把程序分了三六九等,普通的应用程序是工作在Ring 3(三级特权级),而系统关键的程序和数据工作在Ring 0(零级)特权级下,也就是最高特权级。因为不能再像以前一样按照自己的意愿进行低层操作,所以DOS下的加密技术到了WINDOWS基本上都是英雄无用武之地。不过凡事都是有利有弊,不能一概而论的。不同的环境有不同的方法、对策,虽然不能应用DOS下那些老办法来进行加密,但是还可以通过其它的方法来实现,各种技术总是会随着时间逐渐进步的,这是历史发展的方向。 好了,废话到此为止,下面让我们进入正题吧。。。。。。 常见软件加密保护技术简介
下面是几种常见的软件保护方式: 1. 软件注册:现在有两种免费的软件可以使用,一种是自由软件(freeware),完全免费的,没有任何的使用限制;一种是共享软件(shareware),可以免费试用,如果要得到完全的功能或者服务的话,一般情况下需要注册。现在网上有很多的免费软件,其中共享软件相对来说更多一些,真正免费的午餐还是不多的。有些共享软件没有任何的限制,只是有可能会提示你该注册了,如果不注册的话,并不影响软件的正常使用,不会出现功能限制,但是注册之后会有更多的支持与服务;更多的共享软件都有诸多的限制,比如使用天数限制、有效日期限制、次数限制、功能限制、未注册画面、延迟或干脆禁用软件等等,软件的注册方式具有以下一些形式: 2. 密码保护:这一类也是大家常见的加密保护方式,凡是需要你输入密码(PASSWORD)的地方都属于这类,有应用软件密码、游戏密码、文件密码等等(当然我们的能破解的目标只是其中的一部分了); 3. 磁盘保护:一般是利用软磁盘做成钥匙盘,然后软件运行的时候会去校验软盘中的数据是否正确,例如大家都很熟悉的杀毒软件KV300就是如此; 4. 加密狗:看看现在的报纸杂志,狗声四起,到处都能看到各种各样的狗。所谓的狗,就是插在计算机接口上的一个数字电路,里面存着若干数据,软件通过计算机接口对这部分电路进行操作(读取、修改等),只有正确的狗才能使软件正常运行,从而达到保护软件、防止盗版的目的; 5. 网卡加密:主要是利用网卡的序列号来进行识别,只有随机带的网卡才能正常使用软件; 6. License保护:这种加密多用于大型的商业软件,软件通过正确的License文件运行。License文件都有固定的格式(这里所说的不是有关License的说明性文本文件),一般是一个License对应软件的一个功能模块。如果想要增加软件功能,只要购买相应的模块,得到一个License,然后就可以使用了,软件本身并不需要进行升级;或者是不同的License许可的用户数量不同,有单用户License、多用户License,有单机版License、网络版License等; 7. 软件压缩:就是通常说的加壳,利用专门的压缩软件将应用程序进行压缩,程序文件失去了本来的面目。如果你用反汇编工具反汇编,那么你是什么也看不到的,因为软件本身已经被压缩,并不是真实的可执行文件代码了; 8. 光盘加密(CD KEY):这类保护多用于游戏中,程序运行时要求将原版CD碟放在光驱中,然后输入光盘附带的CD KEY,或者是程序直接检查光盘上的特殊数据(指纹等),由此来判断使用的是否是正版光碟; 9. 还有一些并不属于加密保护之列,但也常常是我们破解的对象。比如游戏中的生命值、经验值、法力值、钱和物品的数量等等(当然了,有很多专用的游戏修改器可以达到这些目的)。 俗话说磨刀不误砍柴工,要学习软件破解技术,首先要有一定的基础知识:汇编语言。你不需要很精通汇编语言编程,只要能知道各条指令的作用及相关的基础知识就可以了。当然,如果你对汇编语言编程比较熟悉的话,对于你的破解学习会很有好处的。虽然现在已经进入WINDOWS时代,汇编语言也从最基本8086汇编演变到了复杂的Win32汇编,但是对于解密来说,并无必要去学习Win32编程,8086汇编语言足以胜任破解的需要。如果你对8086汇编语言一窍不通,那就先去学习吧! 8086汇编教学方面的书籍很多,到计算机书店都有卖的。如果有什么不明白的地方,可以来问我,我会尽量帮你的。 枪杆子里出政权,打仗自然要有枪了。破解也一样需要家伙,就像修理电器要用万用表一样,纵然你技术再怎么高明,没有工具的帮忙也是枉然: 1. 我们最重要的破解工具自然是鼎鼎大名的Softice(WIN95/98版、WIN NT版)了,这是个动态跟踪调试工具,任何想要破解的人都必须学会用它,我们决大部分的解密工作都是在Softice下完成的。另外一个可供选择的动态调试工具是Trw2000,中国人自己编写的,功能和用法和Softice都差不多。如今有些软件专门针对Softice做了一些防范,碰到这种情况我们就不得不借助于Trw2000了,俗话说人怕出名猪怕壮,说不定哪天也会有很多软件会盯上Trw2000呢^_^! 2. WINDOWS下的软件解密有个好处,就是任何程序都逃脱不了动态跟踪。但有时候我们也可以利用静态分析工具来帮助我们快速的找到软件破解的突破口;或者是在解密的动态跟踪过程中,被狡猾的程序搞得晕头转向、摸不着头绪的时候,我们也许能根据对程序的静态分析来获取破解信息。静态分析工具推荐Win32DASM黄金版,这是个Win32反汇编程序,能够将应用程序反编译为汇编源程序,并能提供很多相关的信息,是解密的重要工具; 3. 通常软件破解分为两类:完全破解和暴力破解,所谓完全破解就是指通过获取正确的注册码的破解方式,而有些软件的破解并不能通过获取注册码得到(比如只是显示未注册画面),或者是很难得到正确的注册码(软件太狡猾,隐藏得比较深),此时我们就需要通过修改程序代码来达到破解的目的。修改应用程序代码需要专用的十六进制编辑器,比如UltraEdit、Hex WorkShop、Hiew等。本人比较喜欢用Hiew,因为它不但支持十六进制编辑,同时也支持反汇编及直接的汇编程序修改,简单小巧,使用非常方便; 4. 现在有很多的软件都用压缩工具压缩了(也就是通常说的加壳了),如ACDSEE、THE BAT等。当我们用Win32DASM进行反汇编之后,根本就发现不了任何有意义的信息;如果你想暴力破解这种软件,当用Hiew打开程序进行编辑的时候你会发觉找不到要修改的地方。遇到这种情况你就应该用文件检测工具看看程序是否有壳,是什么样的壳。知道了是什么壳,然后才可以去壳,接着才能修改程序。文件类型侦测工具很多,本人比较喜欢gtw这个工具,它是WINDOWS界面,使用起来较为方便。 |
|
个性签名:无
|
发表于 2009-04-22 12:57:43 1楼 | |
![]() |
|
发表于 2010-08-02 18:20:38 2楼 | |
我的E63 存储卡被加密了,后面里面都是乱码了,安装的软件一个都用不了了。怎么弄呀! | |
针对ZOL星空(中国)您有任何使用问题和建议 您可以 联系星空(中国)管理员 、 查看帮助 或 给我提意见