菜鸟破解从头学.docx

上传人:b****5 文档编号:4044389 上传时间:2022-11-27 格式:DOCX 页数:59 大小:80.39KB
下载 相关 举报
菜鸟破解从头学.docx_第1页
第1页 / 共59页
菜鸟破解从头学.docx_第2页
第2页 / 共59页
菜鸟破解从头学.docx_第3页
第3页 / 共59页
菜鸟破解从头学.docx_第4页
第4页 / 共59页
菜鸟破解从头学.docx_第5页
第5页 / 共59页
点击查看更多>>
下载资源
资源描述

菜鸟破解从头学.docx

《菜鸟破解从头学.docx》由会员分享,可在线阅读,更多相关《菜鸟破解从头学.docx(59页珍藏版)》请在冰豆网上搜索。

菜鸟破解从头学.docx

菜鸟破解从头学

附破解常用工具:

所謂工欲善其事,必先歷其器!

不過做什麼,工具都是非常重要的.不借助工具,我們將寸步難行!

下面我就把破解者最常用的工具介紹一下,希望對初學者有點幫助!

當然,我不可能給每個工具給出詳細的使用說明,這裡只是告訴大家有什麼工具可以利用,以及到哪裡可以找到這些工具.具體到各種工具的使用,就要大家自己慢慢摸索了:

1)文件查看

拿到一個程序,破解的第一步是什麼?

"知己知彼,百戰不殆",首先當然應該了解敵人的一舉一動.對我們破解者來說,利用文件查看工具主要是弄清楚程序使用哪種編譯器編譯,是否加殼,何種加殼軟件加的殼等等.

1>FileInfo

FileInfo可以检测出常见的各种壳,非常方便。

看雪網站上有說FI是各类查壳工具中性能最强的。

版本:

3.01

作者:

MichaelHering(herinmi@tu-cottbus.de)

下載地址:

...ers/Fileinfo/fi.rar

2>peid

上面介紹的FileInfo確實很強大,不過是命令行的(其實我越來越喜歡命令行的東東了),對於初學者可能不太友善.所以再推薦這款GUI的工具.

版本:

0.9

官方網站:

http:

//www.mesa-

下載地址:

http:

//www.mesa-

2)脫殼加殼

1>ASProtect

这个壳在pack界当选老大是毫无异议的,当然这里的老大不仅指它的加密强度,而是在于它开创了壳的新时代,seh和各种流行的anti,bpm断点的清除都出自这里,更为有名的当属rsa的使用,使得demo版无法被crack成完整版本,code_dips也源于这里。

版本:

1.23

官方網站:

下載地址:

相應的脫殼工具

AsprStripper2.03

可以全自动脱ASProtect1.2x的壳,支持EXE和DLL文件,工作平台Windows2000/XP

官方網站:

下載地址:

CASPRv1.10

ASProtect与Aspack的克星!

仅对ASProtect1.2以前版本有效。

下載地址:

2>ASPack

一款非常强大的win32压缩工具。

版本:

2.12

官方網站:

下載地址:

相應的脫殼工具

Aspackdie1.41

可以解压缩自Aspack2000以后的任何Aspack版本

官方網站:

下載地址:

...ie/AspackDie141.zip

3>UPX

壓縮比非常大的一款加殼工具

版本:

1.90

官方網站:

下載地址:

相應的脫殼工具:

Upxfix

UPX的壳可以用其自身命令脱:

upx-d文件名

但对于处理过的UPX壳,此命令就不好用了。

这时,可以用upxfix工具来修复文件,再用unxfix自带的upx来脱。

作者:

upxfix@

下載地址:

注:

由於加殼工具版本眾多,每一種版本都需要相應版本的脫殼工具,而在這裡我只是提到最新版的工具,如果你需要其他版本的,請到找找看.

3)靜態反匯編

1>W32DASM

静态分析中文软件的利器!

絕大部分破解教程里都提到了它,作為破解者,它是必備品。

强烈推荐!

(已停止開發)

版本:

8.93

下載地址:

2>IDAPro

它是一个极好的反汇编工具,它的功能大大的胜过了w32dasm。

如果你想進一步從破解者編成

ss=t_tagonclick=tagshow(event)href="tag.php?

name=%E9%80%86%E5%90%91%E5%B7%A5%E7%A8%8B">逆向工程的專家,選擇它吧!

版本:

4.6

官方網站;

下載地址:

4)動態調試

1>SoftICE

調試工具的極品。

功能強大到無所不能:

)如果你能熟練運用它,你就能成為傳說中的高手喔!

現在已經成為DriverStudio2.7的一部分。

最新已有DriverStudio3.0beta2,但考慮到穩定性,這裡提供DriverStudio2.7版。

版本:

DriverStudio2.7

官方網站:

下載地址:

2>TRW2000

國產利器。

Windows9x与WindowsMe下的跟踪调试程序,跟踪功能更强。

版本:

1.23

下載地址:

3>OllyDbg

一款新興的調試工具,工作在ring3。

最近人氣很好,很多人都開始使用它了。

版本:

1.09D

官方網站:

http:

//home.t-online.de/home/Ollydbg/

下載地址:

http:

//home.t-online.de/home/Ollydbg/odbg109d.zip

5)編輯工具

1>Hiew

强大的十六进制编辑工具,相当的好的反汇编功能,破解利器。

强烈推荐!

版本:

6.83

大小:

700KB

官方網站:

下載地址:

2>Winhex

一款优秀的十六进制编辑工具,其内存编辑功能值得称道。

許多共享軟件的註冊碼會在內存中出現,利用winhex的內存編輯功能就能很輕鬆的找到這類軟件的註冊碼喔!

版本:

11.14

大小:

718KB

官方網站:

http:

//www.sf-soft.de/

下載地址:

6)補丁工具

1>KeyMake

國產的註冊機製作工具,使用十分簡單,很容易上手的。

版本:

1.73

大小:

1.00MB

下載地址:

7)輔助工具

1>FileMonitor

文件監視工具,可以監視系統中所有關於文件的事件,是破解某些利用keyfile保護的好幫手!

版本:

6.07

官方網站:

下載地址:

(ForNT/2000/Xp)

(For9X/Me)

2>REGSHOTver

TiANWEi力作,比较注册表变化的软件,这个版本完善了一些功能,加上了一篇教学。

版本:

1.05a

官方網站:

http:

//regshot.ist.md/

下載地址:

tools/RegShot/RGST150A.ZIP

第一章--前言

第一章--前言

好多哥们儿说看教程跟老大的书都看不太明白,所以,我尽量把话说到最容易理解的份上,本文写给那些刚入门和尚未入门的朋友们...

目录

no.1------------------前言(说明一下)

no.2------------------汇编语言

no.3------------------Windows程序

no.4------------------调试器及相关工具入门

no.5------------------破解原理

no.6------------------初级破解实践,强暴一个软件

no.7------------------中级破解实践,找到注册码及写内存注册机

no.8------------------高级破解实践,分析软件算法,编写注册机

由于现在网吧,临时写来,所以,今天只写个前言吧,呵呵...

本章只作一些说明,现在也说了这么多了,没别的了,卖个广告,推荐几本书吧。

首先,力荐看雪老大《加密与解密--软件保护技术及完全解决方案》,绝对物超所值,要的抢先了...(汗~~俺都没看过,看来要落伍了)。

当然,还有看雪精华一、二、三、四以及将要出来的五,足够带你上路,还有风飘雪大虾的《风飘雪破解教程》等等等等(其它一些,没说到的就请自行搜集吧),还有就是常到论坛来转转;=》

另外,我觉的你真的很有必要学一门编程语言以及掌握一些Win32程序的知识...

课后FAQ

Q:

哪些人可以学习破解?

A:

任何会启动电脑并运行软件同时又想学习破解的人。

我说的全是实话,如果你既不会启动电脑又不会运行软件,那么我教你一个更高深的吧--破解电脑,呵呵,很简单,到大街上随便抡个板砖什么的,回去慢慢破解吧记得关电源)

菜鸟破解从头学

(2)

:

有没有什么办法可以使我快速入门并成为高手?

A:

有。

但你得是个MM(P不PL无所谓),然后找个离你家最近的破解达人,什么也不用做,眨个眼放个电之类的会吧(现在连初中的小女生都会这个),然后就成了,呵呵,想破什么的话,让高手帮忙吧,到时说成是自己破的就成了MM问为什么?

因为那些高手大都奇丑无比,呵呵,有了头脑就没了长相,男的也是这样,而且越是高手,长的就是越丑。

据说一次市里到CCG考察奶牛们的出乳情况,看到大哥Sun某的时候,说了句“这奶牛个儿这么小啊,中午大家吃涮锅”(众大哥:

大家准备好家伙,我们一会儿要去械斗)。

呵呵,玩笑开到这里,其实我说这么多,只是想告诉你,学习破解跟其它技术一样,请你不要试图投机取巧,要想学,就脚踏实地,多看教程多动手实践积累经验,不要经常POSE那种弱智问题“我不懂XX,请问我能学破解吗?

”,答案是不能,你问的同时,不也正在学吗?

想知道重要吗?

那我告诉你好了,凡是看雪教程上要求掌握的,你全要掌握,这还不算,要想成为高手就必须精通,如果你不想一直只停留在入门阶段的话。

不要想偷机取巧,谁一开始也不是什么都会的,但你只要花一些时间和一小部分精力,那么没有什么你学不会的,知识是要积累的,你知道自己不会却不去学,而在那儿问重不重要,人家会觉的你这个人并不想认真学破解,而是报有侥幸心理在浪费时间,请不要做浪费时间的人。

不要刚开始学就想马上成为高手,没有高手,你没必要立下超越的目标,只把学知识放在首位就够了,欲速则不达,请不要做急于求成的人。

Q:

学破解对我来说有什么好处?

A:

这个问题应该你自己来回答,呵呵,你为什么要学?

“我想免费使用共享软件”倒...那多少也算是个目的,但我希望你不要只报这种目的(目前国内共享软件业还有待发展)。

我只是想说给那些只是因为一时冲动才学习破解的人,请将你们当初的冲动继续维持下去,你需要明白,学习破解的目的不只在于破解软件这个词,也许后来你会变为软件分析,随着学习时间的增加,对你的编程水平,相信会有相当大的提高。

学习别人好的思想,并化为已用就我个人来说,学习破解可以把我的汇编的基础给打好,呵呵,俺对操作系统这玩意儿感兴趣,到时候还想写出来个玩玩儿呢,所以汇编这关必须要过....

Q:

我很笨,那些大虾的教程我大都看不明白,我能学会吗?

A:

永远不要说你笨,你只是学的比人家晚而已,太高深的看不懂,那你就捡能看懂的看,别人能入门,你也能,不得要领只是暂时,大虾与你,也许差的就是一两年时间的问题。

答网友问

Q:

寄存器可以随便用么,有没有什么限制?

写个程序的时候那些变量什么的可以放在任意的寄存器么?

A:

呵呵,我现在就来回答楼上朋友的问题。

寄存器有它的使用机制,及各个寄存器都有着明确的分工。

如小翠儿如数据寄存器(EAX-EDX),它们都是通用寄存器,及在软件中,任何数据都可存放于此。

但是除此之外,它们又可以都可以用于各自的专用目的。

例如:

EAX可以作为累加器来使用,所以它是算术运算的主要寄存器。

在乘除法等指令中指定用来存放操作数。

比如在乘法中,你可以用AL或AX或EAX来装被乘数,而AX或DX:

AX或EAX或EDX:

EAX则用来装最后的积。

EBX一般在计算存储器地址时,它经常用作基址寄存器。

ECX则常用来保存计数值,如在移位指令它用来装位移量、循环和串处理指令中作隐含的计数器。

最后就剩下四大天王中的黎明了,近一段时间来,他总是比较低调...(你别打我了,我去撞墙好了)最后就剩下EDX了,一般在作双字长运算时把DX和AX组在一起存放一个双字长数(你还记的什么是双字长吧,举个例子,比如说有一个数二进制数据01101000110101000100100111010001,你要把它寄存起来,就可以把0110100011010100(即高十六位)放在DX中,把0100100111010001(即低十六位)放在AX中,这个数表示为DX:

AX)当然完全可以用一个EDX就把这个数给装下。

所以,还可以用EDX:

EAX来装一个64位数据,这个你会推断出来吧。

而ESP、EBP、EDI、ESI,我上边儿以经大概介绍的差不多了,所以这里不说它们了。

当然还有其它的一些限制,因为我们只是要看程序的汇编代码(人家写好了的,肯定不会犯错误吧),而不是要去写,所以可以不必掌握。

有性趣的话,去看相关书籍。

另外再说一下你的最后一个问题“写个程序的时候那些变量什么的可以放在任意的寄存器么?

”这句话我不明白你要问的是什么。

我想你可能是把一些关点给搞错了,变量这词通常都是出现在高级语言中的,而你用高级语言写程序的话,完全不用理解那些寄存器什么的,这些都跟高级语言没什么关系。

但是最终,高级语言也还是把你写的程序转换为对寄存器、内部存储器的操作。

<本章完>

第三章—Windows程序

这一章我都不知道该如何写了,呵呵~~

毕竟,Win32是一个非常深奥的系统,目前还容不得我这种小辈在这儿说三道四,不过,我既然是要写给那些入门阶段的朋友们看的,又不是写给那些搞程序设计老鸟看的,所以,我也犯不着怕被人背后指着骂本章的名字就叫《Windows程序》而不是《Windows程序设计》所以,我只是讲一些关于Windows程序运作的原理:

Windows为什么叫Windows,相信所有用过的朋友都可以明白,那桌面上一个一个的窗口,就是它名字的由来。

也就是这一个又一个窗口的出现,使计算机的使用一下子简单了巨多。

几年前接触过电脑的朋友一定知道DOS吧,不知道的话,去问加解密工具下载版的版主老哥,让他跟你解释你还记的DOS下那黑乎乎的窗口吧,没见过的哥们儿可以在开始菜单中找出来看看。

DOS通过一系列的命令来进行相应的操作,如进入一个目录,删除一个目录等等等等。

那种工作方式就叫做命令提示符方式,也即命令行。

现在国内不懂电脑的人还老爱说要想学电脑,必须要英语过关。

(就是这个,吓跑了多少仅仅是想学习一些基本操作的朋友)可能也就是源自DOS的原因吧。

后来,随着硬件的支持以及技术上的提高,当然还有为了使电脑更方便的服务与人,慢慢的就有了所谓的视图操作系统,从此,你不用再记忆那些大堆的指令了,而且操作上,也有了相大的提高,可以说操作系统发展到今天的份儿上,操作已经够简单了,去看看那些在网吧

一把鼻涕的小孩子们吧…

当然,就像当年DOS之于命令提示行一样,今天的Windows仍和当年一样,占据着大部分的用户群。

(场外:

一观众扔来一烂柿饼,你是唐僧啊,这么多废话)

马上转入正题,Windows之所以好用,除了不用背N多的命令外,一个原因就是因为它本身提供了大量的标准WindowsGUI函数。

所以对于用户,面对的是同一套标准的窗口,对这些窗口的操作都是一样的,所以使用不同的应用程序时无须重新学习操作。

不用像当年在DOS下面那样一安装新程序,就要马上看帮助,看说明。

而WindowsGUI函数,只不过是微软提供给程序开发人员的API(ApplicationProgrammingInterface应用编程接口)中的一小部分而以。

WindowsAPI是一大组功能强大的函数,它们本身驻扎在Windows中供人们随时调用。

这些函数的大部分被包含在几个动态链接库(DLL)中,譬如:

kernel32.dll、user32.dll和gdi32.dll。

Kernel32.dll中的函数主要处理内存管理和进程调度;user32.dll中的函数主要控制用户界面;gdi32.dll中的函数则负责图形方面的操作等等。

你可能多多少少听说过API函数,如果你不太清楚到底是怎么一回事的话,我尽量给你解释的清楚一点。

不知道你有没有想过,Windows中的那一个又一个窗口是怎么画出来的呢?

呵呵,你可能用VB、Delphi编过程序,你有没有想过你写的程序中的那些窗口是怎么形成的?

是控件变成的。

倒...呵呵,相信你当初学VB或Delphi的时候,所看的书上一定对可视化编程环境大肆赞扬了一番吧,是不是也提到过比VC++怎么怎么方便?

怎么怎么不用再为生成程序的界面而花费大量无用时间了等等。

(台下上来一东北民工:

小子,你找抽啊,还讲不讲了)

马上开说,其实我只是想告诉你,所有你用的Windows下的程序,都是通过调用一个又一个的WindowsAPI来执行相应任务的,没有API,你的程序什么也做不了。

用VB、Delphi以及MFC的朋友也许会说我根本没有调用什么API啊!

其实这些API都是由你所用的开发环境自动进行相应的转换的。

比如说你用Delphi新建一程序,什么也不用动就直接按F9来运行它,是不是出现一个空白的窗体?

这就是个标准的Windows程序,它有Windows程序所具有的一切特征,如最大化按钮、最小化按钮、关闭按钮…你可以通过鼠标来移动它。

但是如果你想用VC++或MASM32来写这样一个程序,那么你有两种方法,在VC++中,你可以用MFC或直接调用API,而在MASM32中,你就只有直接调用API这一种方法。

所谓直接调用API,就是指所有的操作都通过最原始的API来完成。

通过直接调用API来生成这样一个程序,你必须要先注册窗口类(除非您使用Windows预定义的窗口类,如MessageBox或dialogbox);然后产生窗口;然后在桌面显示窗口(除非您不想立即显示它);然后刷新窗口客户区;

麻烦吧,如果你想真正的让这个程序能正常地运行下来,还要再加入以下步骤:

1.你要得到您应用程序的句柄。

2.窗体显示后就进入无限的获取窗口消息的循环。

3.如果有消息到达,由负责该窗口的窗口回调函数处理。

4.如果用户关闭窗口,进行退出处理。

上面这此步骤,都需要调用相应的API来完成。

比如说得到程序的句柄用GetModuleHandle注册窗口类用RegisterClass或RegisterClassEx;注册后,还要用CreateWindowEx函数来生成相应窗口,而后用ShowWindow来显示它,之后还会用UpdateWindow来更新客户区等等等等。

这些还都不算呢,如果你真通过直接调用API去写一个稍大一点儿的程序的话,你会发现那是一个多么不令人愉快的事情。

上面说的这些,只不过是API中的一小小小小小小小小小小….部分,这才几个,真正的API有成百上千个,包括对系统各个方面进行的操作。

没有API,你的程序什么也干不了。

比如说你的程序中有一个Edit控件,VB中应该叫做Text控件吧,你想将用户输入到里面的信息放到一个变量中去,那么Delphi中可以用Str:

=Edit1.text来实现。

VB中应该是Str=Text1.Text;但是如果你用API,想要得到Edit输入框里的文本内容,就要调用GetDlgItemInt(Edit中输入的值当做数值来用)GetDlgItemText、GetDlgItemTextA(Edit中输入的值当做字符串来用)。

而上面我说的VB、Delphi得到编辑框中输入的内容的方法,最终在编译成可执行文件的时候,也会由编译器自动对其进行相应的转换。

你只要明白一件事就好了,那就是你所用的程序,无时无刻都在调用着系统中的各种各样的API函数。

其实Windows中的API,就相当于当年DOS系统中的系统功能调用,及中断21。

只不过在数量上和功能上,都是DOS系统功能调用所不及的。

如果你还是看不明白,那我不怪你,可能是我讲的不清楚,所以,还是给你推荐老牛写的书吧。

力推《Windows程序设计》,看过之后你会内力大增的,那时候你所知道的知识就不止是API而以了。

其实话说回来,我这篇文章不是教你编程的,所以关于Windows程序的原理,没有必要说那么多,我之所以跟你讲API,是想让你知道Windows程序的运行机制。

免的到时候用调试器下断点的时候问什么是API。

(众人(十分愤怒地)冲上台来:

“拉下去PK!

把我们当什么了!

”)

(我再次来到台上,镜头切向脸的一侧,来个特写。

只见上面有若干处大小不同的伤口)可能还有些重点的地方我没有提到,欢迎指正。

如果你有什么不明白的地方,欢迎跟贴提问。

只要别太那个,比如说“你能把所有的API给我列出来让我回去背背好吗?

附上几个常用的API函数吧。

相信你此时因该以经对API有个大概的了解了。

MessageBox显示一信息对话框

MessageBoxEx显示一信息对话框

MessageBoxIndirect显示一定制信息对话框

(以上这三个,可以用来中断那些错误提示,比如说你注册码输入错误了,程序就可能通过这几个函数中的一个,来提示你错误)

GetDlgItemInt得指定输入框整数值

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 数学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1