第24 课 DeDe软件的使用 由于Delphi 语言和微软比尔。盖茨的Visu al 系列一直是劲敌。因此,很多寻常的API 在用olly Dbg 调试Delphi 语言编写的程序中不容易断下来,Delphi 有它自己的很多特点。要想抓住Delphi 程序的心,就先抓住Delphi 程序的胃?!不是的,听说过杀手吗,据说这个杀手不太冷,这个杀手的名字叫里昂。错错错,Delphi 的杀手就是DeDe。 DeDe 是一款Delphi 语言静态反汇编程序,它最大的亮点和特色就是将按钮、菜单、表格等事件和相应的处理程序紧密地连在一起,挂上钩了,扯上关系了。这样,方便我们迅速定位破解关键点,将程序的关键部位暴露无遗,实现快速突破和秒杀。 下面举几个例子: 〔例一〕CrackmeNo3_1 请大家先用olly 破解,不要告诉我你不会。学到了这里,你仍然不会的话,我会很伤心的,5555555555!看到外面下雨了吗?那都是我的眼泪。 由于这个例子有注册成功的提示信息,因此,用olly 破解还是比较容易的。试想一下,如果没有注册成功的提示信息,你该怎么办??破解起来很难了,很难定位关键代码,英文就是the key code。 下面用DeDe 载入程序看看: DeDe 界面图 点Process 按钮开始反汇编,结束后的界面如下: 我们关心的是Procedu res 过程:转到过程页面,如下图: 注册按钮是Bu tton1Click。选定 Bu tton1Click 那行,双击,打开一个新图,就是点击注册按钮所对应的汇编代码,如图: 说明:***** TRY 开始的标志 XXX 核心内容 ****** FINALLY 结束的标志 来看一下代码: ***** TRY | 00459951 64FF30 push dword ptr fs:[eax] 00459954 648920 mov fs:[eax], esp 00459957 8D55EC lea edx, [ebp-$14] * Reference to Form1 | 0045995A 8B45FC mov eax, [ebp-$04] 0045995D 8B8000030000 mov eax, [eax+$0300] * Reference to : TControl.GetText(TControl):TCaption;()===取姓名 | 00459963 E8FCEFFDFF call 00438964 00459968 8B45EC mov eax, [ebp-$14] * Reference to : TBoundArray._PROC_0040456C()=====注册码第一部分计算过程 | 0045996B E8FCABFAFF call 0040456C 00459970 8BF0 mov esi, eax 00459972 33DB xor ebx, ebx 00459974 8BC6 mov eax, esi 00459976 85C0 test eax, eax 00459978 7E21 jle 0045999B 0045997A BA01000000 mov edx, $00...