码迷,mamicode.com
首页 > 其他好文 > 详细

教你如何破解软件

时间:2015-06-11 19:14:01      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

     我想破解软件:网络填表终结者

     破解须要的软件(点击下载):

    侦壳 language.exe

    脱壳AspackDie.exe

    反编译 W32Dasm黄金中文版

    16进制编辑器 UltraEdit.rar

     在破解之前先复习一下基础知识:

     一.破解的等级

     0基础,改动程序,用ultraedit改动exe文件,称暴力破解,简称爆破

     中级,追出软件的注冊码

     高级,写出注冊机

     二.用w32dasm破解的一般步骤:

     1.看软件的说明书,软件注冊与不注冊在功能上有什么差别,怎样注冊

     2.执行此软件,试着输入你的姓名和随意注冊码去注冊,有什麽错误提示信息,将错误提示信息记下来

     3.侦測有无加壳(第一课).若加壳,脱壳(第二课)

     4.pw32dasmgold反汇编

     5.串式參考中找到错误提示信息或可能是正确的提示信息双击鼠标左键

     6.pw32dasmgold主窗体中分析对应汇编,找出关键跳转和关键call

     7.绿色光条停在关键跳转,在pw32dasmgold主窗体底部找到关键跳转的偏移地址(实际改动地址)

     8.用ultraedit找到偏移地址(实际改动地址)改动机器码,保存

     壳的概念:版权信息须要保护起来,不想让别人随便修改,exe可运行文件压缩。最常见的加壳软件ASPACK ,UPX,PEcompact

     脱壳:拿到一个软件,侦測它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件unaspack,caspr,upx,unpecompact,procdump

     实际改动地址(偏移地址)和行地址(虚拟地址)pw32dasmgold反汇编出来的代码由三列组成

     第一列 行地址(虚拟地址)

     第二列 机器码(终于改动时用ultraedit改动)

     第三列 汇编指令

   第一列   第二列     第三列

:0041BE38 2B45F0     sub eax, dword ptr [ebp-10]

:0041BE3B 6A42       push 00000042

:0041BE3D 50         push eax

:0041BE3E FF75F4     push [ebp-0C]

:0041BE41 FF75F0     push [ebp-10]

:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]

     两种不同情况的不同改动方法

     1.改动为jmp

     je(jne,jz,jnz) =>jmp对应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过以下的出错信息

     2.改动为nop

     je(jne,jz,jnz) =>nop对应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效。失去作用,从而使程序顺利来到紧跟其后的正确信息处。

好了,以下開始我们的破解之旅。。

。。。。

。。

。。

     1,侦壳:先打开侦壳 language.exe,选择打开----找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。language.exe便显示出软件的壳是:Aspack。如图2。

技术分享

技术分享

2。脱壳:双击脱壳AspackDie.exe,出现一个对话框。选择网络填表终结者:FormGhost.exe,打开。如图3。出现图4框,点确定脱壳完毕。在网络填表终结者:FormGhost.exe同文件夹下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。

技术分享

技术分享

3。执行脱壳后的unpacked.exe。点帮助----注冊,图9。注冊名称,注冊码随便添。图10。点注冊,提示:“注冊码错误”图11。好了记住这5个字。关了它。

技术分享

技术分享

技术分享

4。開始反汇编:打开 反编译 W32Dasm黄金中文版,选择反汇编----打开脱壳后的unpacked.exe,变開始载入。如图5。

图6。

技术分享

技术分享

返汇编之后如图7。点击上面的參考----串式參考如图8。

技术分享

技术分享

出现这个对话框图12。找到   “注冊码错误”,双击它,汇编主程序便来到这里:图13。

技术分享

技术分享

(注意:正确注冊信息在错误信息之上)关闭串式參考框。看主程序:图14。从注冊码错误向上找到第一个跳转(关键跳,除了jmp的其他跳:je,jne,jz,jnz),来到这里图15。

技术分享

技术分享

(它上面的call叫关键call。

)。双击关键跳,看软件最以下有一行字:Line:379267 Pg 7586 of 7626 Code Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.当中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制。不用管他)。图16。

技术分享

5。開始改动软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,来到图19

技术分享

技术分享

技术分享

前面说过正确注冊信息在错误信息之上。所以这里将of85改为of84。

图20。

(假设正确注冊信息在错误信息之下。这里改为eb)。将光标移到5上直接输入数字4就可以,其它地方不要动。

好了,改好仅仅后左上角的文件---另存为unpacked222.exe

技术分享

6,关闭所以软件,执行另存的unpacked222.exe。点帮助---注冊。注冊名称,注冊码随便添,点确定,提示注冊完毕。图21。回到软件界面看看,帮助。注冊一项已经变为灰色了,图22

   

     7,破解所有完毕

技术分享

技术分享

教你如何破解软件

标签:

原文地址:http://www.cnblogs.com/lcchuguo/p/4569633.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!