几种软件版权的加密与破解方法浅析

看一看 6个月前 admin
13 0
广告也精彩 广告也精彩

Zhao Likun1,Zhang Jide2

(1.Tangshan Vocational&Technical College,Tangshan063000,China;2.Hebei Union University,Tangshan063009,China)

Abstract:Protection of intellectual property rights against piracy,China's software industry is facing an urgent problem.At present,most software encryption technology adopted to deal with,this paper analyzes the software to crack in several important technical terms and common software crack methods,and specific description of the soft and hard encryption encryption technology.

Keywords:Intellectual property;Software encryption;Software declassification

一、引言

我们所开发的软件,尤其是商业用途的软件,版权保护是非常重要的。但是现在的软件破解技术十分强大,各种国内外大型软件都有注册机制,却同时也不断地被破解,国家一再打击非法软件出版物,但实际效果并不理想。大多的软件商选择了购买加密产品或者加密技术来保护自己的软件,软件保护一般分为软加密和硬加密。

二、常见的软件破解方法

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

(一)暴力破解法。这是最常见的也是最简单的破解方法,破解者直接利用编辑工具对可执行文件进行修改,也就是说通过修改可属性程序的源文件来达到破解目的。

(二)利用算法注册机。算法注册机是要在分析了软件的注册码算法的基础上,制作出来的一种可以自动生成软件注册码的程序。这类软件加密的特点是一个注册码只能在一台电脑上使用,像和电脑进行了一对一的绑定。

(三)利用内存破解。我们知道所有正在运行的程序的数据,全部都要加载到内存中去,软件在进行注册码认证的时候会有个比较的过程,所以我们只须知道所要破解软件的注册码的内存地址,就达到目的了。这种方法的优点是无须花大力气掌握软件注册码的算法,非常节省编写内存注册机的时间。

(四)补丁破解法和文件注册法。补丁破解法是指用相关的补丁程序来修改软件,以达到破解软件的目的。此方法一般是破解软件的验证注册码或时间,基本上都是修改原程序的判断语句。

三、常见的软件保护方法

(一)注册码。软件的注册码一般都是一机一个,不能重复。下面我们来看看如何实现的。第一步根据硬盘卷标和CPU序列号,生成机器码,首先编写public static string Get Disk Volume Serial Num-ber()函数取得设备硬盘的卷标号,其次编写public static string get Cpu()函数获得CPU的序列号,最后生成机器码。第二步根据机器码生成注册码,需要编写public static string get Regist Num()函数来实现。第三步。检查注册状况,若没有注册,可自定义试用天数,延迟,未注册画面等等,可编写private void Check Regist0 Cpl数来实现。

(二)软加密。所谓软加密就是不依靠特别硬件来实现的对软件的保护技术。目前主要有密码法、计算机硬件校验法、钥匙盘法等。目前比较流行的是使用外壳,外壳分为压缩壳和加密壳,其中压缩壳的保护性比较弱,所以一般采用加密壳,其原理是利用堆栈平衡原理,修改程序入口处代码,使其跳转到壳代码执行解密程序,将原程序代码解密后跳回原程序的OEP继续执行。目前比较强的加密壳采用的是动态解密代码、SMC,IAT加密技术,程序在运行过程中动态解密代码,执行完毕后立刻删除,并且对IAT加密,当需要调用API时用解密算法算出API的实际地址来调用。目前常见的比较强的五大壳有:(1)Encrypt PE,其特点是对IAT加密比较强,(2)ASProtect,其特点是采用多层SEH,很容易把人转晕,(3)ACProtect,其特点是采用stolen code的办法,(4)Armadillo,其特点是双进程互相检测,(5)themida,其特点是采用虚拟机技术。

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

四、结束语

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

广告也精彩 广告也精彩
版权声明:admin 发表于 2023-08-30 9:04:23。
转载请注明:几种软件版权的加密与破解方法浅析 | 嘿全导航
广告也精彩 广告也精彩

暂无评论

暂无评论...