破解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修改)
第三列 汇编指令
两种不同情况的不同修改方法
1.修改为jmp je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
2.修改为nop je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处。