Crack技术是指软化"破解"技术,从事Crack 技术的人叫 Cracker。 强调,当cracker目的不是破解软件,而是通过跟踪软件,了解程序思路,这样提高自己,使自己能写出更好的程序。并且破解不在多,而在于你要掌握它,尽量了解注册码计算原理,最好能写出注册机,不能写也没关系,要弄懂它的算法。 好了,大家知道现在的软件主要有两块:1. 共享软件,也就是免费供大家使用的无需注册的软件. 2.商业软件,需要注册收费的,未注册的软件功能受限等其他限制。我们主要学习的就是后者方面的. 商业软件注册保护主要有: 破解成为可能 原理: 数据是在内存中保存的,用 WinHex 内存着注册码也就有了可能,但是内存中保存注册码的数据不是永远的,当别的数据被计算,写入时往往会覆盖这时 用 WinHex 内存着注册码也就无法找注册码了,我们只要用写调试软件,让他在程序刚在内存中写完正确的注册码我们就让程序停止运行,防止程序继续运行产生的数据覆盖内存中的注册码. 汇编代码地址区:他其实就是汇编代码的指令地址。(注意这种颜色的背景代表程序运行在这行代码上,并且中断在这里,如果是蓝色背景表示这个地址上被下了断点,也就是程序运行在这里时会被中断) 快捷键 名词解释: 汇编语言介绍:
Olldbug 的设置: 分析软件流程:(我们以破解 动画.exe 密码为例.) 关键 Call :其实就是用来计算 正确序列号或密码的子程序. 问:如何找 关键 Call 或 关键跳? 运行下 目标程序,随便输下密码,确定,显示 Password Wrong! (即上面说的显示错误信息)
00402025 |. E8 24FEFFFF CALL 试验品.00401E4E 402048 下面就是错误信息代码段,我们在最上面的那个窗口中往 402048 上面找关键跳和关键 Call.关键跳的地址是 40203F 关键 Call 地址是 402034 00402034 上下断点如图: 变成蓝色后,按 F9 运行,在运行的 动画.exe 中输入密码,我随手输 123456789 确定,回到 CMD 的窗空中,在最下方状态兰中我们看到了当前的状态,中断在 地址 402034.
在,寄存器区,我们看到了 醒目的 "qq24882688"字符,这是什么啊??呵呵~在往下,看堆栈区中的数据如图:
0012F720 0012F778 |s1 = "qq24882688" |
作者在 2010-01-25 12:43:16 发布以下内容