软件破解教程1

上传人:汽*** 文档编号:564848099 上传时间:2023-02-15 格式:DOCX 页数:11 大小:34.16KB
返回 下载 相关 举报
软件破解教程1_第1页
第1页 / 共11页
软件破解教程1_第2页
第2页 / 共11页
软件破解教程1_第3页
第3页 / 共11页
软件破解教程1_第4页
第4页 / 共11页
软件破解教程1_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件破解教程1》由会员分享,可在线阅读,更多相关《软件破解教程1(11页珍藏版)》请在金锄头文库上搜索。

1、破解入门-第一章-前言 好多哥们儿说看教程跟老大的书都看不太明白,所以,我尽量把话说到最容易理解的份上 本文写给那些刚入门和尚未入门的朋友们.目录no.1前言(说明一下)no.2汇编语言no.3Windows 程序no.4调试器及相关工具入门no.5破解原理no.6初级破解实践,强暴一个软件no.7中级破解实践,找到注册码及写内存注册机no.8高级破解实践,分析软件算法,编写注册机 由于现在网吧,临时写来,所以,今天只写个前言吧,呵呵. 本章只作一些说明,现在也说了这么多了,没别的了,卖个广告,推荐几本书吧。 首先,力荐看雪老大加密与解密软件保护技术及完全解决方案,绝对物超所值,要的 抢先了.

2、(汗俺都没看过,看来要落伍了)。当然,还有看雪精华一、二、三、四以及将要 出来的五,足够带你上路,还有风飘雪大虾的风飘雪破解教程等等等等(其它一些,没 说到的就请自行搜集吧),还有就是常到论坛来转转 ;=另外,我觉的你真的很有必要学一门编程语言以及掌握一些Win32程序的知识.课后 FAQQ:哪些人可以学习破解?A:任何会启动电脑并运行软件同时又想学习破解的人。我说的全是实话,如果你既不会启动 电脑又不会运行软件,那么我教你一个更高深的吧-破解电脑,呵呵,很简单,到大街上随 便抡个板砖什么的,回去慢慢破解吧 (记得关电源)Q:有没有什么办法可以使我快速入门并成为高手?A:有。但你得是个MM(P

3、不PL无所谓),然后找个离你家最近的破解达人,什么也不用做, 眨个眼放个电之类的会吧(现在连初中的小女生都会这个),然后就成了,呵呵,想破什么的 话,让高手帮忙吧,到时说成是自己破的就成了 MM问为什么?因为那些高手大都奇丑无比, 呵呵,有了头脑就没了长相,男的也是这样,而且越是高手,长的就是越丑。据说一次市里 到CCG考察奶牛们的出乳情况,看到大哥Sun某的时候,说了句“这奶牛个儿这么小啊,中 午大家吃涮锅” (众大哥:大家准备好家伙,我们一会儿要去械斗)。呵呵,玩笑开到这里, 其实我说这么多,只是想告诉你,学习破解跟其它技术一样,请你不要试图投机取巧,要想 学,就脚踏实地,多看教程多动手实

4、践积累经验,不要经常POSE那种弱智问题“我不懂XX, 请问我能学破解吗?”,答案是不能,你问的同时,不也正在学吗?想知道重要吗?那我告诉 你好了,凡是看雪教程上要求掌握的,你全要掌握,这还不算,要想成为高手就必须精通, 如果你不想一直只停留在入门阶段的话。不要想偷机取巧,谁一开始也不是什么都会的,但 你只要花一些时间和一小部分精力,那么没有什么你学不会的,知识是要积累的,你知道自 己不会却不去学,而在那儿问重不重要,人家会觉的你这个人并不想认真学破解,而是报有 侥幸心理在浪费时间,请不要做浪费时间的人。不要刚开始学就想马上成为高手,没有高手, 你没必要立下超越的目标,只把学知识放在首位就够了

5、,欲速则不达,请不要做急于求成的 人。Q: 学破解对我来说有什么好处?A:这个问题应该你自己来回答,呵呵,你为什么要学? “我想免费使用共享软件”倒那多少也算是个目的,但我希望你不要只报这种目的(目前国内共享软件业还有待发展)。我只是 想说给那些只是因为一时冲动才学习破解的人,请将你们当初的冲动继续维持下去,你需要 明白,学习破解的目的不只在于破解软件这个词,也许后来你会变为软件分析,随着学习时 间的增加,对你的编程水平,相信会有相当大的提高。学习别人好的思想,并化为已用就我 个人来说,学习破解可以把我的汇编的基础给打好,呵呵,俺对操作系统这玩意儿感兴趣, 到时候还想写出来个玩玩儿呢,所以汇编

6、这关必须要过Q:我很笨,那些大虾的教程我大都看不明白,我能学会吗?A:永远不要说你笨,你只是学的比人家晚而已,太高深的看不懂,那你就捡能看懂的看,别 人能入门,你也能,不得要领只是暂时,大虾与你,也许差的就是一两年时间的问题。破解入门-第二章-C稍微有点儿计算机知识的朋友一定知道,计算机是只识别0和1的,最初那会儿,要写程序, 就要用0和1来写,呵呵,Cool吧!所以曾经有过的对程序员的崇拜,可能就源自那个时候 吧后来,人们发现用 0 和 1 来写程序,太不爽了,不但写起来不上手,而且回过头来看的话, 应该很难再看明白了,总之出于这些原因,就有了汇编语言。汇编语言用一些助记符来代替0和1的多种

7、组合,也就是各个指令,这样的话,从一定程度 上来说,方便了许多(一头老牛:方便太多了)(一只菜鸟:一点儿也不方便,完全看不懂)。 但是,汇编也同样不方便,同样写起来不爽,而且后期维护同样不方便,再加上人们慢慢地 需要写一些更大的程序,在这样的情况下,高级语言就被人发明了出来,就是我们今天用的 Basic、pascal、C、C+等等等等,这些语言的出现,一下了使程序的开发难度大大减低了(一 头老牛:减低太多了,我膝盖就能写程序了)(一只菜鸟:还不是一样难),以前用汇编要很 长时间才能开发出来的程序,现在只需要很短的时间且很轻松的就可以搞定了,特别是最近 几年,可视化编程的大肆普及,使程序员的神秘

8、感一下子摔了下来, Coder 这样的词现在都 满天飞了。最惨的就是汇编,一夜之间变成了低级语言、下流的语言、吃完大蒜不刷牙的民 工、开车加完油不给钱的地痞、在公共汽车上吐口水的冰岛人等等等等(汇编:呜呜呜我不活了)。但是汇编还是有它先天的优势的,因为其与CPU内部的指令一一对应,所以在一些特殊的场 合,必须由汇编来实现,比如访问硬件的端口、写病毒.而且生成的可执行文件效率巨高,且生成的可执行文件贼小,写小程序是很爽的,呵呵,而 且用汇编写注册机,是件很轻松的事,你不用再为怎样还原为你所熟悉的语言而为难。说了 这么多,还是切入主题吧(昏倒观众若干):既然计算机只识别 0 和 1,那么,所有存储

9、在计算机上的文件,也都是以二进制的形式存放 的,当然也包括可执行文件了。所以,你只要找一个十六进制编辑器比如Ultra Edit什么的,就可直接打开并查看可执行文 件了,呵呵,如果你能看懂的话你会发现,此时看到的,全是些十六进制数值(每4位二进 制数可转换为一位十六进制数),这就是可执行文件的具体内容,当然,其中就包括可执行文 件的代码了。(一头老牛:好亲切啊)(一只菜鸟:笨牛,你给我闭嘴,我眼都花了)。 呵呵,此时,你是不是觉得看这些东西,有些那个? 这些东西看起来就像有字天书,没人能靠这玩意儿来进行分析,于是乎。就有了相应的软件, 可以将这些十六进制数值转换为相应的汇编代码,这样的话,我们

10、就可以对别人的软件进行 分析了。这就是所谓的逆向分析了。呵呵,聪明的你现在一定在想,如果找到软件计算注册码的部分,并对其进行分析,弄懂它 的计算方法,那么你不就不用通过的方式来进行软件注册了吗?当然,你也可以将此计算 过程还原为任意一个你所熟悉的编程语言,那么,编译后的这个程序,就叫做注册机,它的 功能就是计算某一特定软件的注册码。(呵呵,是不是经常在软件中看到此类说明?禁止制 作和提供该软件的注册机及破解程序;禁止对本软件进行反向工程,如反汇编、反编译等) 作者这样做,心情我们是可以理解的,毕竟人家花了那么多心思在自己的软件上,所以,我 不希望你仅仅是因为交不起注册费的原因来学习破解。总的说

11、来,上边儿的介绍有点儿太理想化了,上面提到的分析方法,就是所谓的静态分析, 此类分析常用的工具有W32DASM、IDA和HIEW等。静态分析,顾名思义,就是只通过查看软 件的反汇编代码来对软件进行分析。一般如果只是想暴破软件,只进行静态分析就够了。但 要想真正的弄清注册算法,一般还是要进行动态分析的,即能过调试器来一边执行程序一边 进行分析。具体内容,我会在破解原理和调试器入门中详细说明,呵呵,毕竟现在 都以经有点儿跑题了。我废话说了这么多,其实就是想告诉你汇编的重要性,我不要求你精通,但最少你也得能看 懂吧,要不,还谈什么分析?虽然有哥们儿一点儿汇编都不懂就上路了,甚至还破掉了几个 软件,但

12、是,这样是不是惨了点儿?难不成你想暴破软件暴破一辈子? 其实你完全不用惧怕汇编的,看上去怪吓人的,其实跟你平时背那些控件的属性方法差不多, MFC那么多你都搞的定,汇编命令才有多少?而且,汇编不光只是在Crack软件时有用,在 好多地方也都有用,且用处巨大,所以我觉得,把汇编拿下,是件义不容辞的事: 你只要相信它并不难就好了。(以下为第二次修改时加入)先给你讲一下CPU的组成吧:CPU 的任务就是执行存放在存储器里的指令序列。为此,除要完成算术逻辑操作外,还需要 担负CPU和存储器以及I/O之间的数据传送任务。早期的CPU芯片只包括运算器和控制器两 大部分。到了近几年,为了使存储器速度能更好地

13、与运算器的速度相匹配,又在芯片中引入 了高速缓冲存储器(知道为什么P4比P4赛扬贵那么多吗?)。(当! 一个硬物飞了过来,话外 音:你讲这些做什么,我们又不要设计CPU)你急什么嘛,由于汇编比较“低级” ?;所以它是直接操作硬件的,你以为这是用VB呢,想 什么时候用变量随手就可以拿来用,你不掌握好CPU内部的一些工作分配情况,到时怎么来 看汇编代码啊。(当!又一声,重要还不快点儿说) 除了高速缓冲存储器之外的组成,大体上可以分为3个部分:1. 算术逻辑部件ALU (arithmetic logic unit)用来进行算术和逻辑运算。这部分与我们的 关系不太大,我们没必要管它。2. 控制逻辑。同

14、样与我们的关系不大。3. 这个才是最最重要的。工作寄存器,它在计算机中起着重要的作用,每一个寄存器相当于 运算器中的一个存储单元,但它的存取速度却贼快贼快,比存储器要快很多了。它用来存放 计算过程中所需要的或所得到的各种信息,包括操作数地址、操作数及运算的中间结果等。 下面我们专门的介绍这些寄存器。在介绍之前,有必要说点儿基础性的知识。知道什么是32位吧,就是说寄存器是32位的, 晕等于没说。在CPU中,一个二进制位被看作是一位,八位就是一个字节,在内存中,就 是以字节为单位来在存储信息的,每一个字节单元给以一唯一的存储器地址,称为物理地址, 到时候访问相应的内存,就是通过这个地址。八个二进制

15、位都能表达些什么呢?可以表达所 有的 ASCII 码,也就是说一个内存单元可以存储一个英文字符或数字什么的,而中文要用 Unicode 码来表示,也就是说两个内存单元,才能装一个汉字。十六位就是两个字节这不难 理解吧,当然啦,那有了十六位,就肯定有三十二位六十四位什么的,三十二位叫做双字, 六十四位就叫做四字。今天我们所使的CPU,相信全是32位的了,除非你用的是286或更早 的话。自然而然,CPU中的寄存器,也就是32位的了,也就是说一个寄存器,可以装下32 个 0 或 1(这其中不包括段寄存器)。大体上来说,你需要掌握的寄存器,有十六个,我一个一个给介绍给你: 首先,介绍小翠儿(当!,我自

16、己打我自己一下得了,最近看周星驰看多了),重说,首先, 介绍通用寄存器。一共八个,分别是 EAX、EBX、ECX、EDX、ESP、EBP、EDI、ESI。其中,EAXEDX这四个寄存器又可称为数据寄存器,你除了直接访问外,还可分别对其高十 六位和低十六位(还计的我说它们是32位的吗?)进行访问。它们的低十六位就是把它们前 边儿的E去掉,即EAX的低十六位就是AX。而且它们的低十六位又可以分别进行八位访问, 也就是说,AX还可以再进行分解,即AX还可分为AH (高八位)AL (低八位)。其它三个寄 存器请自行推断。这样的话,你就可以应付各种情况,如果你想操作的是一个八位数据,那 么可以用 MOV AL (八位数据)或 MOV AH (八位数据),如果你要操作的是一个十六位数据, 可以用MOV AX (十六位数据)三十二位的话,就用MOV

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号