破解软件教程

写在破解之前:

软件破解的目的是:有些需要注册的软件,可是找不到注册码,将其破解之后,输入任何注册码都会提示注册成功。

我要破解的软件:万事通.exe

破解需要的软件:侦壳 language.exe       脱壳AspackDie.exe

           反编译 W32Dasm黄金中文版 16进制编辑器 UltraEdit.rar

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

一.破解的等级

初级,修改程序,用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]

常见修改(机器码)

74=>75 74=>90 74=>EB

75=>74 75=>90 75=>EB

jnz->nop

75->90(相应的机器码修改)

jnz -> jmp

75 -> EB(相应的机器码修改)

jnz -> jz

75->74 (正常) 0F 85 -> 0F 84

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

1.修改为jmp

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

2.修改为nop

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

好了,下面开始我们的破解之旅。。。。。。。。。。

1,侦壳:先打开侦壳 language.exe,选择打开----找到要破解的"万事通.exe":点确。language.exe便显示出软件的壳又是:Aspack,

2,脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择万事通.exe,打开。点确定脱壳完成。在万事通.exe:同目录下生成一个unpacked.exe文件,这就是脱壳后的万事通.exe

3,运行脱壳后的unpacked.exe,点帮助----注册,注册名称,注册码随便添。。点注册,提示:“注册码不符”,好了记住这5个字。关了它。

4,开始反汇编:打开 反编译 W32Dasm黄金中文版,选择反汇编----打开脱壳后的unpacked.exe,变开始加载。。返汇编之后。点击上面的参考----串式参考,出现这个对话框。找到

“注册码不符”,双击它,汇编主程序便来到这里:图1。(注意:正确注册信息在错误信息之下)关闭串式参考框。看主程序:。从注册码错误向上找到第一个跳转(关键跳,除了jmp的其它跳:je,jne,jz,jnz),来到这里。(它上面的call叫关键call。),双击关键跳,看软件最下面有一行字的后面:@Offset 000b6fe8H in File:unpacked.exe.其中@Offset 000b6fe8H就是偏移地址,记住000b6fe8(后面的h代表16进制,不用管他),

5,开始修改软件:打开16进制编辑器 UltraEdit.rar,。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xb6fe8(即偏移地址,不要前面的 000)。点确定,来到图2,说过正确注册信息在错误信息之下,所以这里将74改为eb。图2.3。。将光标移到74上直接输入数字eb即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe。

6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。。回到软件界面看看,帮助,注册一项已经没有了。

Write a comment

Comments: 0