黑客作者必读资料2(第5/5页)天擎

的破解方式:

    本人将破解方式分为两大类,即完全破解和暴力破解。所谓完全破解主要是针对那些需要输入注册码或密码等软件来说的,如果我们能通过对程序的跟踪找到正确的注册码,通过软件本身的注册功能正常注册了软件,这样的破解称之为完全破解;但如果有些软件本身没有提供注册功能,只是提供试用(DEMO),或是注册不能通过软件本身进行(例如需要获取另外一个专用的注册程序,通过INTERNET的注册等等),或者是软件本身的加密技术比较复杂,软件破解者的能力、jīng力、时间有限,不能直接得到正确的注册码,此时我们需要去修改软件本身的程序码。

    6. 关于破解教程中程序代码地址问题:

    破解教程中都会放上一部分程序代码以帮助讲解程序的分析方法,例如下面的一段程序代码:

    ......

    0167:00408033PUSH00

    0167:00408035PUSHEBX

    0167:00408036CALL[USER32!EndDialog]

    0167:0040803CJMP0040812C

    ......

    在这里程序中的代码地址如0167:00408033,其代码段的值(即0167)有可能根据不同的电脑会有区别,不一定一模一样,但偏移值应该是固定的(即00408033不变),所以如果看到破解文章里的程序代码的地址值和自己的电脑里不一样,不要以为搞错地方了,只要你的程序代码正确就不会有问题。

    加密码技术

    1.按照技术分类

    加密技术通常分为两大类:“对称式”和“非对称式”。

    对称式加密就是加密和解密使用同一个密钥,通常称之为“Session Key ”这种加密技术目前被广泛采用,如美国zhèng fǔ所采用的DES加密标准就是一种典型的“对称式”加密法,它的Session Key长度为56Bits。

    非对称式加密就是加密和解密所使用的不是同一个密钥,通常有两个密钥,称为“公钥”和“私钥”,它们两个必需配对使用,否则不能打开加密文件。这里的“公钥”是指可以对外公布的,“私钥”则不能,只能由持有人一个人知道。它的优越xìng就在这里,因为对称式的加密方法如果是在网络上传输加密文件就很难把密钥告诉对方,不管用什么方法都有可能被别窃听到。而非对称式的加密方法有两个密钥,且其中的“公钥”是可以公开的,也就不怕别人知道,收件人解密时只要用自己的私钥即可以,这样就很好地避免了密钥的传输安全xìng问题。

    1、常用密钥算法

    密钥算法用来对敏感数据、摘要、签名等信息进行加密,常用的密钥算法包括:

    DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;

    3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;

    RC2和 RC4:用变长密钥对大量数据进行加密,比 DES 快;

    IDEA(International Data Encryption Algorithm)国际数据加密算法,使用 128 位密钥提供非常强的安全xìng;

    RSA:由 RSA 公司发明,是一个支持变长密钥的公共密钥算法,需要加密的文件快的长度也是可变的;

    DSA(Digital Signature Algorithm):数字签名算法,是一种标准的 DSS(数字签名标准);

    AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,目前 AES 标准的一个实现是 Rijndael 算法;

    BLOWFISH,它使用变长的密钥,长度可达448位,运行速度很快;

    其它算法,如ElGamal、Deffie-Hellman、新型椭圆曲线算法ECC等。

    2、单向散列算法

    单向散列函数一般用于产生消息摘要,密钥加密等,常见的有:

    MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,MD5被广泛使用,可以用来把不同长度的数据块进行暗码运算成一个128位的数值;

    SHA(Secure Hash Algorithm)这是一种较新的散列算法,可以对任意长度的数据运算生成一个160位的数值;

    MAC(Message Authentication Code):消息认证代码,是一种使用密钥的单向函数,可以用它们在系统上或用户之间认证文件或消息。HMAC(用于消息认证的密钥散列法)就是

    这种函数的一个例子。

    CRC (Cyclic Redundancy Check):循环冗余校验码,CRC校验由于实现简单,检错能力强,被广泛使用在各种数据校验应用中。占用系统资源少,用软硬件均能实现,是进行数据传输差错检测地一种很好的手段(CRC 并不是严格意义上的散列算法,但它的作用与散列算法大致相同,所以归于此类)。

    3、其它数据算法

    其它数据算法包括一些常用编码算法及其与明文(ASCII、Unicode 等)转换等,如 Base 64、Quoted Printable、EBCDIC 等。