软件注册码破解案例教程
序言:
所谓计算机软件注册码是指为了不受限制地实现计算机软件的功能,而在软件安装或使用的过程中,按照指定的要求所输入的、由字母、数字或其它符号所组成的序列,因此,注册码有时又可称为序列号,只是在特定的条件下,两者会有所区别。之所以要对计算机软件设置注册码,开发者的初衷在于防止用户使用盗版软件,至今仍有部分软件注册码在发挥着这样的功能,最为典型的就是安装型注册码,即在软件安装过程中按要求必须输入的注册码,如果没有正确输入注册码,则软件根本不能安装到计算机中去。但是现在已经有了愈来愈多的软件注册码并非是对软件安装的限制,而是对软件其它方面的限制,比如,如果不输入正确的注册码,虽然可以安装并使用,但不能实现软件的全部功能等。
教程案例:
要破解的软件:网络填表终结者
破解需要的软件:
侦壳
脱壳
反编译 W32Dasm黄金中文版
16进制编辑器 UltraEdit.rar
在破解之前先复习一下基础知识:
一、破解的等级
初级:修改程序,ultraedit修改exe文件,称暴力破解,简称爆破。
中级:追出软件的注册码。
高级:写出注册机。
二、用w32dasm破解的一般步骤:
1.看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册。
2.运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误提示信息,将错误提示信息记下来。
3.侦测有无加壳(第一课).若加壳,脱壳(第二课)
4.pw32dasmgold反汇编。
5.串式参考中到错误提示信息或可能是正确的提示信息双击鼠标左键。
6.pw32dasmgold主窗口中分析相应汇编,出关键跳转和关键call
7.绿光条停在关键跳转,pw32dasmgold主窗口底部到关键跳转的偏移地址(实际修改地址)
8.ultraedit到偏移地址(实际修改地址)修改机器码,保存。
壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompactkeygen注册机是什么。
脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件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便显示出软件的壳是:Aspack,如图2
二、脱壳:
双击脱壳,出现一个对话框,选择网络填表终结者:,打开。如图3。出现图4框,点确定脱壳完成。在网络填表终结者:同目录下生成一个文件,这就是脱壳后的
三、定位:
运行脱壳后的,点帮助----注册,图9。注册名称,注册码随便添。图10。点注册,提示:注册码错误11,好了记住这5个字。关了它。
四、开始反汇编:
打开反编译软件“W32Dasm黄金中文版”,选择反汇编,打开脱壳后的,开始加载。如图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 其中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制,不用管他),图16
五、开始修改软件:
打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,来到图19
前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件,另存为
    六、完成全部破解:
关闭所以软件,运行另存的,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰了,图22