好文档 - 专业文书写作范文服务资料分享网站

适合入门的软件破解教程 - 鄙视要太多分的 

天下 分享 时间: 加入收藏 我要投稿 点赞

0167:004f4e4f push dword 004f4e6e 0167:004f4e54 mov eax,[ebp-04] 0167:004f4e57 call 004030c4 0167:004f4e5c ret

0167:004f4e5d jmp 00403824 0167:004f4e62 jmp short 004f4e54

0167:004f4e64 mov eax,004f4f48 <---由上面的0167:004f4dec处跳来,出错!; 0167:004f4e69 call 00458b8c 0167:004f4e6e xor eax,eax 再来给你举另一个例子: 【软件名称】天网防火墙 【软件版本】2.46 Beta 【文件大小】1289KB

【适用平台】Win9x/Me/NT/2000

【软件简介】天网防火墙个人版是一套给个人电脑使用的网络安全程序,它可以帮你抵挡网络入侵和攻击,防止信息泄露,并可与我们的网站相配合,根据可疑的攻击信息,来找到攻击者。同时天网防火墙个人版把网络分为本地网和互联网,可以针对来自不同网络的信息,来设置不同的安全方案,它适合于在拨号上网的用户,也适合通过网络共享软件上网的用户。

该软件仍旧是我从电脑报2001年合订本的配套光盘中找的,软件的注册码可以到其网站免费获得... 我们还是要先把它装上(某民工:你小子敢再说一句废话试试!^_^)之后我们用FI看一下它有没有加壳,呵呵,BC++编译,没有加壳,爽!运行它,在注册对话框中随便输入点什么,比如说这星期又出了几部新电影,都叫什么名字等等...

好的,我们接下来请TRW2000出场。先胡乱输入两个字符串,比如第一个输入“英雄的导演是?”第二个输入“可能是赵本山”:)

接下来就按Ctrl+N把TRW2K叫出来,下bpx hmemcpy,之后按F5退出。

接着可以按确定就成了,程序会被TRW2K断掉,我们紧接着输入bc *以及pmodule。

下面可以开始按F12了,一共按8下程序就会报错,我们第二次就按7下然后开始按F10,按70下F10程序就又报错了(呵呵,一定要有耐心哦)。 好的,我把反汇编后的代码给你贴出来:

0167:0041c617 lea edx,[ebp-04] <--7下F12后按一下F10来到这里 0167:0041c61a mov ecx,[0052ae7c] 0167:0041c620 mov eax,[ecx]

0167:0041c622 mov eax,[eax+0318] 0167:0041c628 add eax,byte +2c 0167:0041c62b call 00517740 0167:0041c630 dec dword [ebp-20] 0167:0041c633 lea eax,[ebp-04] 0167:0041c636 mov edx,02 0167:0041c63b call 0167:0041c640 mov 0167:0041c646 lea 0167:0041c649 call 0167:0041c64e mov 0167:0041c650 inc 0167:0041c653 mov 0167:0041c656 mov 0167:0041c65c call 0167:0041c661 lea 0167:0041c664 mov 0167:0041c66a mov 0167:0041c66c mov 0167:0041c672 add 0167:0041c675 call 0167:0041c67a dec 0167:0041c67d lea 0167:0041c680 mov 0167:0041c685 call 0167:0041c68a lea 0167:0041c68d call 0167:0041c692 mov 0167:0041c694 inc 0167:0041c697 mov 0167:0041c69a mov 0167:0041c6a0 call 00517710 word [ebp-2c],14 eax,[ebp-08] 00401d60 edx,eax dword [ebp-20] ecx,[ebp-40] eax,[ecx+02e0] 004b9f14 edx,[ebp-08] ecx,[0052ae7c] eax,[ecx] eax,[eax+0318] eax,byte +30 00517740 dword [ebp-20] eax,[ebp-08] edx,02 00517710 eax,[ebp-10] 00401d60 edx,eax dword [ebp-20] ecx,[ebp-40] eax,[ecx+02e0] 004b9f14

0167:0041c6a5 lea edx,[ebp-10] 0167:0041c6a8 push dword [edx] 0167:0041c6aa mov word [ebp-2c],20 0167:0041c6b0 lea eax,[ebp-0c] 0167:0041c6b3 call 00401d60 0167:0041c6b8 mov edx,eax 0167:0041c6ba inc dword [ebp-20] 0167:0041c6bd mov ecx,[ebp-40] 0167:0041c6c0 mov eax,[ecx+02d4] 0167:0041c6c6 call 004b9f14 0167:0041c6cb lea edx,[ebp-0c] 0167:0041c6ce mov edx,[edx] 0167:0041c6d0 mov eax,[0052ae7c] 0167:0041c6d5 mov eax,[eax] 0167:0041c6d7 pop ecx 0167:0041c6d8 call 0040525c 0167:0041c6dd mov [ebp-45],al 0167:0041c6e0 dec dword [ebp-20] 0167:0041c6e3 lea eax,[ebp-10] 0167:0041c6e6 mov edx,02 0167:0041c6eb call 00517710 0167:0041c6f0 dec dword [ebp-20] 0167:0041c6f3 lea eax,[ebp-0c] 0167:0041c6f6 mov edx,02 0167:0041c6fb call 00517710 0167:0041c700 cmp byte [ebp-45],00

0167:0041c704 jz 0041c750 就是它了!!!

0167:0041c706 mov ecx,[0052ae7c] 0167:0041c70c mov eax,[ecx] 0167:0041c70e mov eax,[eax+0318] 0167:0041c714 call 00411fd0

<--按了60多下F10后会在这里发现一个跳转,嘿嘿,0167:0041c719 mov word [ebp-2c],2c 0167:0041c71f mov edx,00521b50 0167:0041c724 lea eax,[ebp-14] 0167:0041c727 call 005175b0 0167:0041c72c inc dword [ebp-20] 0167:0041c72f mov eax,[eax] 0167:0041c731 call 004b41b0 0167:0041c736 dec dword [ebp-20] 0167:0041c739 lea eax,[ebp-14] 0167:0041c73c mov edx,02 0167:0041c741 call 00517710 0167:0041c746 mov eax,[ebp-40] 0167:0041c749 call 004a81d0 0167:0041c74e jmp short 0041c77d 0167:0041c750 mov word [ebp-2c],38 0167:0041c756 mov edx,00521b6b 0167:0041c75b lea eax,[ebp-18] 0167:0041c75e call 005175b0 0167:0041c763 inc dword [ebp-20]

找到了关键跳转之后就别闲着了,呵呵,放雷管吧!(你可以用W32Dasm打开这个文件,然后按Shift+F12,之后输入0041c704,这样就可以在右下角看到相应的偏移地址了)

小技巧:在TRW中,如果你觉的某处可能是关键跳转的话,可以用r fl z这个指令来进行测试,该指令可使以成立的条件取反,比如说本来JZ XXXXXXXX成立,可以跳走了,用r fl z指令后该条指令就不成立了,即就不会跳走了。以上也是,你可以在0041c704处输入r fl z,呵呵,再执行几步看看,是不是成功了?还有就是如果你只是想达到注册软件的目的,且该软件只在注册的时候验证一次的话,用这个方法就可以代替雷管了!

呵呵,最后还是要说一句,爆破只是一些雕虫小技。刚入门时玩几次就够了,切莫就此不前...

后话:你可能慢慢就会发现,有一些软件其实并没有你想象中那么简单,你甚至连找到它的关键跳转都找不到。这很正常,你要做的便是多动手多练习,慢慢你就会明白过来的。我今天之所以给你举这两个例子,就是因为它们两个都比较简单,且能说明重点,给你讲那些比较那个的软件的爆破,反而会让你看的一头雾水...

第七章-寻找软件的注册码 我们来寻找软件真正的注册码!

寻找软件的注册码就像你小时玩的躲猫猫一样,简单又有趣,虽然后来你会不这样觉的 好的,我们开始。

我不知道你有没有明白我前面在原理中讲的那些东西,如果没明白,我就再说一遍

软件通过你输入的用户名或者机器码什么的生成一个正确的注册码来与你输入的注册码进行比较,如果两个相同,也就是说你输入的注册码是正确的话,那软件就会完成注册。如果你输入的不正确,嘿嘿,当然就不会注册成功。

好的,现在你已经知道软件会有一个比较两个注册码的过程,这就是关键所在。一般如果你遇到的是那种明码比较的软件,这会是一件非常另人愉快的事情的

软件会先计算出正确的注册码然后再与你输入的那个进行比较,也就是说正确的注册码会被软件自己算出来!嘿嘿,搜身你会吗?虽然法律以及道德不允许我们去搜身,但…

我接着说,虽然现在的软件已经比以前要厉害上许多,但,那种用明码比较的,还是大有人在的。所谓明码比较,就是说软件先算出正确的注册码,然后放到内存或你家的沙发下面,之后再得到你输入的那个注册码,接着就比较了。呵呵,好理解吧,我们只要找到那个比较的地方,看一下软件把注册码放到内存的哪里了,再到相应的内存处瞧一瞧,就万事OK了!

还记的对你说过的那些常见的(也是最菜的)比较吗?我捡其中最简单的一个来给你再解释一下: mov eax [ ] 这里可以是地址,也可以是其它寄存器 该条指令也可以是mov eax [ ] mov edx [ ] 同上 通常这两个地址就储存着重要信息 该指令也可以是 pop edx call 00?????? 关键call jz(jnz)或 jne(je) 关键跳转

第一条mov eax [ ]指令是将一个内存地址或另外一个寄存器(该寄存器中装的是内存地址)装入eax中。第二条指令与其相同,是将一个内存地址或另外一个寄存器中的内存地址装入edx中。而这两条指令是干什么的呢?嘿嘿嘿嘿…

这两条指令就是用来存放真假两个注册码的地址的,也就是说eax和edx这两个寄存器中此时一个装的是正确的注册码的内存地址,一个是你输入的那个错误的注册码的内存地址。软件在比较注册码前将两个注册码的内存地址分别装入到两个寄存器中,然后就是关键Call出场。在这个关键Call中对注册码进行比较时,软件会从相应的寄存器中取出两个注册码来比较,接着出来就是一个关键跳转,通过上面Call中的比较结果来做相应的跳转…

你应该已经想到什么了吧!没错,我们只要找到软件的关键Call,然后在关键Call处来查看相应的内存地址就可以找到正确的注册码了 而这一切,都可以通过调试器来完成。从某种意义上来说,如果你能自己一个人把你家的微波炉修好,那你就绝对会用调试器 我们在调试器中,只要一步一步执行到关键Call处,

适合入门的软件破解教程 - 鄙视要太多分的 

0167:004f4e4fpushdword004f4e6e0167:004f4e54moveax,[ebp-04]0167:004f4e57call004030c40167:004f4e5cret0167:004f4e5djmp004038240167:004f4e62jmpsh
推荐度:
点击下载文档文档为doc格式
7w6882x74s2b61z989ic
领取福利

微信扫码领取福利

微信扫码分享