`

[转载]谈软件的破解与保护

阅读更多

目前中国软件业所面临的迫切问题。目前绝大多数软件都采取了加密技术来应对,本文分析了软件破解中几个重要的专业术语和常见的软件破解方法,并具体介绍了软加密和硬加密技术。

关键词:知识产权,软件加密,软件破解


1、引言
开发软件时,尤其当用到商业用途时,注册码和激活码是非常重要的,未注册的用户会加上某些限制,如使用天数,延迟,未注册画面等等。但是现在的软件破解技术十分强大,各种国内外大型软件都有注册机制,却同时也不断地被破解,国家一再加大力度,打击非法软件出版物,扶持正版软件,但实际效果并不理想。大多的软件商选择了购买加密产品或者加密技术来保护自己的软件,软件保护一般分为软加密和硬加密。

2、常见的软件破解方法

也可见后面链接:http://tech.sina.com.cn/s/s/2006-06-23/061020983.shtml
首先我们来了解一下破解中几个重要的专业术语。
(1)断点,所谓断点就是程序被中断的地方,中断就是由于有特殊事件发生,计算机暂停当前的任务,转而去执行另外的任务,然后再返回原先的任务继续执行。解密的过程就是等到程序去获取我们输人的注册码并准备和正确的注册码相比较的时候将它中断下来,然后我们通过分析程序,找到正确的注册码。
(2)领空,所谓程序的领空,就是程序自己的领土地盘,也就是我们要破解的程序自己程序码所处的位置。每个程序的编写都没有固定的模式,所以我们要在想要切人程序的时候中断程序,就必须不依赖具体的程序设置断点,也就是我们设置的断点应该是每个程序都会用到的东西。
(3)API,即Application Programming Interface的简写,我们叫应用程序编程接口,是一个系统定义函数的大集合,它提供了访问操作系统特征的方法。API包含了几百个应用程序调用的函数,这些函数执行所有必须的与操作系统相关的操作,如内存分配、向屏幕输出和创建窗口等,WINDOWS程序以API为基础来实现和系统打交道。无论什么样的应用程序,其底层最终都是通过调用各种API函数来实现各种功能的。

了解了以上三个专业术语后,我们看下基本的软件破解方法。
2.1 暴力破解法。这是最常见的也是最简单的破解方法,破解者直接利用编辑工具<例如ULTRAEDIT-32>对可执行文件进行修改,也就是说通过修改可属性程序的源文件来达到破解目的。某些元件在验证用户注册信息和注册码时候,如果用户输人的信息与软件通过的算法生成的注册码相等,程序就会注册成功,否则就会注册失败。
2.2 利用算法注册机。算法注册机是要在分析了软件的注册码算法的基础上,制作出来的一种可以自动生成软件注册码的程序。所以软件的算法很重要,一般软件作者自己也编写,方便软件的销售使用。这类软件加密的特点是一个注册码只能在一台电脑上使用,像和电脑进行了一对一的绑定。使用步骤是首先运行试用的软件,得到本台机器的软件机器码,再用算法注册机算号注册,然后用算法注册机直接算出合适的注册码,最后用算出来的注册码直接注册。
2.3 利用内存破解。我们知道所有正在运行的程序的数据,全部都要加载到内存中去,软件在进行注册码认证的时候会有个比较的过程,所以我们只须知道所要破解软件的注册码的内存地址,就达到目的了。这种方法的优点是无须花大力气掌握软件注册码的算法,非常节省编写内存注册机的时间。步骤是先加载内存注册机,再通过它去获得内存中软件的真实注册码,或修改内存中软件相关的某些数据,来达到破解软件的目的。主要有2种方式,第一种直接从内存中得到注册码,第二种在内存中模拟已注册程序的运行环境。
2.4 补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。比如程序试用期是一个月,就可以把这个修改掉,来达到无限使用的目的。文件注册法就是把软件的注册内容放到一个文件里,以方便自己或别人用它来注册,主要有注册表导人和注册文件导人两种方式。

3、常见的软件保护方法
3.1注册码。软件的注册码一般都是一机一个,不能重复。下面我们来看看如何实现的。
第一步根据硬盘卷标和CPU序列号,生成机器码,首先编写public static string GetDiskVolumeSerialNum-ber()函数取得设备硬盘的卷标号,其次编写public static string getCpu()函数获得CPU的序列号,最后生成机器码,函数如下:
String Number; String public static string getsoftNum()
{strNum-=getCpu+GetDiskVolumeSerial-strsoftNum=strNum.Substring(0, 24);//从生成的字符串中取出前24个字符做为机器码return strsoftNum; }
第二步根据机器码生成注册码,需要编写public static string getRegistNum()函数来实现。
第三步。检查注册状况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写private void CheckRegist0 Cpl数来实现。
3.2软加密。所谓软加密就是不依靠特别硬件来实现的对软件的保护技术。当前国际上比较通用的软件都采取软加密的方式,例如微软的windows系统、杀毒软件等,它的最大优势在于极低的加密成本。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序人口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。目前比较强的加密壳采用的是动态解密代码、SMC , IAT加密技术,程序在运行过程中动态解密代码,执行完毕后立刻删除,并且对IAT加密,当需要调用API时用解密算法算出API的实际地址来调用,更有甚者,壳里有壳。目前常见的比较强的5大壳有:

( 1 ) EncryptPE,其特点是对IAT加密比较强,

( 2 ) ASProtect,其特点是采用多层SEH,很容易把人转晕,

( 3 ) ACProtect,其特点是采用stolen code的办法,

(4 ) Armadillo,其特点是双进程互相检测,(5)themida,其特点是采用虚拟机技术。好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。

3.3硬加密。硬加密就是我们所说的加密狗或加密锁,是一种插在计算机USB口或并口上的软硬件结合的加密产品,目前绝大部分都是USB口形式,是基于硬件保护技术,其目的是通过对软件与数据的保护防止知识产权被非法使用,是保证高档软件在市场生命周期中免受盗版侵害的功能强大的工具。加密狗一般都有几十或几百字节的非易失性存储空间可供读写,现在较新的狗内部还包含了单片机。软件开发者可以通过接口函数和软件狗进行数据交换,来检查软件狗是否插在接口上。加密狗内置的单片机里包含有专用于加密的算法软件,该软件被写人单片机后,就不能再被读出。这样,就保证了加密狗硬件不能被复制。同时,加密算法是不可预知、不可逆的。加密算法可以把一个数字或字符变换成一个整数,如DConvert (6)=67876,DConvert(X)=34567 0


4、结束语
软件破解和软件加密就是矛和盾的关系,好的加密效果在于让盗版者在破解被保护的软件时,付出巨大的代价,耗费极大的时间精力,最终被迫放弃攻击。最后我们要认识到软件破解是不道德的,是违法《计算机软件保护条例》的,现如今软件的大众化、市场化,低价化,也让我们有机会有能力去使用正版软件,所以我们要提高觉悟,力所能及的不使用盗版,以实际行动支持中国的软件行业发展。

分享到:
评论

相关推荐

    Qzone日志转载软件

    在使用Qzone日志转载软件时,用户需要注意保护个人隐私,尊重原作者的版权,遵循QQ空间的社区规定,以及确保所转载的内容合法、健康、积极。此外,软件的安全性也应引起重视,及时更新防病毒软件,以防止潜在的安全...

    联想保护卡破解+教程

    1、此软件版权归作者所有,免费发放,欢迎转载、传播本软件,但任何组织或个人未经本人允许,不得将本软件用在商业活动或是其它赢利性活动中,请勿对本软件进行任何修改和反向工程。 2、本软件作者对本软件...

    越客汽车美容管理软件破解版

    转载的破解软件,仅供学习之用,如需商用请购买正版。谢谢!

    安卓NZT9一键新机软件下载-转载版!DEB

    7. 转载与分享:描述中提到软件是从网络下载站转载而来,并分享至CSDN这样的技术社区,这表明NZT9可能受到了一定的用户认可,用户间的分享也体现了软件的实用性和口碑。 8. 注意事项:使用此类工具前,用户应确保已...

    电子功用-掘进机转载机电机过载保护装置

    5. **系统集成**:讲解过载保护装置如何与掘进机和转载机的控制系统集成,实现整体优化。 6. **维护与保养**:介绍定期检查和保养电机过载保护装置的重要性,以及具体的操作步骤和注意事项。 7. **案例分析**:...

    微营销QQ相册转载王 v1.0.zip

    微营销QQ相册转载王软件能够多线程极速批量转载QQ相册,免打码,全自动登录,自动转载QQ相册,并且不封,自动置顶相册,软件可多开,每台可开 20-40个,每个软件线程100,可实现日转载20万个号。而且转载的相册是...

    转载路由器RG-100A密码破解工具

    转载路由器RG-100A密码破解工具,主要用于获取密码权限

    软件开发人成长经历(转载)

    "软件开发人成长经历(转载)"这个主题,旨在分享一位软件开发者从初学者到专业人士的蜕变过程,帮助那些渴望在这一行业中提升自己的人们找到方向。通过阅读《程序员感语.pdf》这样的资料,我们可以学习到许多关键的...

    Google软件测试之道--学习笔记--转载

    Google软件测试之道所涉及的知识点涵盖了软件测试领域的多个方面,包括测试团队的构成、角色职能、测试流程以及质量保证的实施策略等。 首先,Google的测试团队由不同职能的专业人士组成,包括软件测试开发工程师...

    BUll破解转载支援

    BUll破解

    ST MC SDK5.x 电机库软件框架说明资料(共20页转载ST原厂).pdf

    MC SDK 5.x还包括UI库,它用于调试通讯,比如与Workbench软件的交互。 2、软件主要环路:MC SDK 5.x包含三个主要环路,分别是FOC环路、安全环路和电机控制环路。FOC环路负责电机的矢量控制算法实现,安全环路提供对...

    转载软件开发专业技术名词的解释.pdf

    转载软件开发专业技术名词的解释.pdf

    Decord 1.13 破解版 转载

    Decoda is a professional development environment for debugging Lua script in your applications.

    桥式转载机转弯装置研究与应用

    桥式转载机转弯装置研究与应用的知识点: 1. 煤矿生产效率提升:文章讲述了在纳林庙煤矿2号井通过改进桥式转载机输送带的转弯装置,实现了煤矿生产效率的提升。这表明通过技术改进可以有效优化生产过程,减少机械...

    L3150L3151L3153L3156L3157L3158清零软件

    软件可能需要与打印机通过USB、网络或其他接口进行连接,以便进行通信并执行清零操作。 从压缩包子文件的文件名称“L3150L3151L3153L3156L3157L3158清零软件永久版 图解”来看,这似乎是一个包含了所有指定型号...

    转载机顺槽监控系统的研究与设计

    【转载机顺槽监控系统】的研究与设计是针对当前煤炭开采中综采自动化技术发展背景下,转载机顺槽监控技术的局限性而进行的一项重要工作。传统的监控方式仅依靠组合开关控制器来监测电气参数和手动控制,无法实现转载...

    可以查看windows星号的软件,好用,转载一下

    可以查看windows星号的软件,好用,转载一下

    测量导线平差软件请勿转载

    专业的导线平差程序4可破解看看三哥法法规按个来噶靖哥哥

    【转载】GitHub上关于微信跳一跳的模拟软件

    然而,有些技术爱好者利用编程技术,开发出了模拟软件,使得游戏可以自动化进行,这就是我们今天要讨论的“【转载】GitHub上关于微信跳一跳的模拟软件”。 该模拟软件是基于Python语言编写的,Python以其简洁明了的...

    海天屏幕广播 4.0 破解

    局域网屏幕画面广播海天屏幕广播4.3完美破解注册版海天屏幕广播软件是将局域网内一台电脑的屏幕画面广播到其他电脑上的软件,采用虚拟显示驱动,实时性好,CPU占用低,在局域网内能取得很好的效果。可以直接广播视频...

Global site tag (gtag.js) - Google Analytics