一.什么是软件破解?
我们都知道很多软件需要注册的,就是花钱向软件作者购买注册码。当然了,注册码就相当于密码,只有知道密码才能完全使用软件。软件本身都有一个注册的算法,只要我们找到它就可以破解了
二.什么是爆破软件?
爆破,顾名思义就是通过暴力破解软件(这样我们可以事先不知道注册码)。我们知道软件通过判断我们输的“假注册码”和“真注册码”进行比较。就有两个选择了,一个是注册成功,一个是注册失败,我们的爆破就是使软件在判断这个环节直接跳转到注册成功的地方
三.软件破解的步骤?
1.查一下壳
2.如果有壳的话,就脱壳(关于脱壳,呵呵~~学问大了,以后再给大家说,还有看大家的热情度了)
3.到了真正破解的地方了,我们使用ollydbg(简称OD,做免杀的不陌生吧?外国人开发的,相当出名的软件,软件反汇编界很普遍用的工具)
当然我们还可以使用其他工具(不懂的看《软件破解I》)
在此详细说一下这个软件OD(推荐大家用看雪的ollyice)
(1)常用的快捷键
f2 下断点(什么是断点?就是可以使程序运行到你那个地方中断下来,这样我们好分析程序啊)
f7 单步往下走(有call就进去,什么是call?晕撒~就是具有特定功能的函数,打个比方,我们在公路上走,突然路边上有个美女call,我们走到美女身边和她聊天,聊完天然后上公路继续走我们的路)
f8 单步走,有call不进(不受诱惑,呵呵~)
f9 运行软件
f12 暂停软件
ctrl+g 将跳到我们指定的地点处(例如:0040166C ,我们知道OD反汇编都是汇编代码,最右边的就是地址了)
alt+f9 执行到用户代码(额,就是跳到执行完后的代码处,这个需要深刻理解)
……
当然常用的就是上面的了,还有其他的,暂时不说了,怕大家消化不了
(2)OD界面介绍
划分屏幕四个部分:左上- 汇编代码 右上-寄存器 左下-(叫什么来?忘了咯,反正不是很常用) 右下:堆栈
工具栏对应常用的 :C返回到汇编代码 K :调用堆栈 B:断点 其他的本人不是很常用
四.如何用OD修改软件?
我们所修改的软件指通过修改汇编代码而实现的,例如:我们要修改这句代码
0040B1EA /74 20 je short 0040B20C
只要在这句代码上 按空格键或右键-->汇编将je修改为jnz或者jmp。关于常用汇编代码,给大家在介绍一下:
JE 或JZ 若相等则跳
JNE或JNZ 若不相等则跳
JMP 无条件跳
JB 若小于则跳
JA 若大于则跳
JG 若大于则跳
JGE 若大于等于则跳
JL 若小于则跳
JLE 若小于等于则跳
常用的就这几个,记住就行了!!
四.修改完怎么保存?
前提是我们修改的软件,如果我们是在软件运行调用动态链接库(dll)时,就不能保存软件了,当然一般的情况说明你破解的软件没找准地方修改(我们需要在软件领空修改,关于“领空”以及“段首”详见《软件破解II》)右键“复制到可执行文件”-->"选择"或“全部选择”,一般是全部选择。然后就可以运行你破解的软件,看一看是否破解了
五.我是新手,怎么办?
不要尝试破解外界的软件,首先从crackme入手,只有你把crackme练熟了,才能真正能够破解软件(更多内容见《软件破解II》不想再说了)