caterpilla 发表于 2006-7-17 10:32:56

KeyGenMe6(有反跟踪,抗DEDE反编译)破文,附算法注册机(更新版)

【文章标题】: KeyGenMe6破文
【文章作者】: caterpilla(惊涛)
【软件名称】: KeyGenMe6
【下载地址】: https://www.chinapyg.com/viewthread.php?tid=6128&extra=page%3D1
【编写语言】: Delphi
【使用工具】: OD,IDA
【操作平台】: WINXP SP2
【软件介绍】: DEDE无法反编译,有反跟踪
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
猫兄提供的这个CRACKME,用PEID查为DELPHI所编,但用DEDE无法反编译,不知用了什么方法,呵呵。。。。。。
一、去反跟踪
用OD载入后,发现一运行就退出,感觉有反跟踪存在。。。。。。。。
用CTRL+N查找程序用到的标签,发现有这样一些调用:
名称位于 Keygenme, 条目 11
   地址=000171C0
   区段=.idata
   类型=输入    (已知)
   名称=user32.FindWindowA

名称位于 Keygenme, 条目 32
   地址=000171D8
   区段=.idata
   类型=输入    (已知)
   名称=kernel32.IsDebuggerPresent

名称位于 Keygenme, 条目 43
   地址=0001716C
   区段=.idata
   类型=输入    (已知)
   名称=kernel32.OutputDebugStringA

其中IsDebuggerPresent和OutputDebugStringA都是用来干扰调试器和发现调试器的,而FINDWINDOWA也常用来发现调试器所在的窗口,
由此分析可知这个程序的反跟踪机制有这些部分。

应对之法:
对于IsDebuggerPresent调用可以用OD中的PLUG-IN来完成,只需调用IsDebuggerPresent这个PLUG-IN就可以把调试器隐藏起来,从而达到
欺骗程序的目的。而对于FINDWINDOWA调用,则可以通过修改查找参数来完成。

二、具体操作
用OD载入程序后,首先运行PLUG-IN:IsDebuggerPresent,选择其中的隐藏功能。然后对FINDWINDOWA的每个参考下断点。F9运行之。。。
程序在FINDWINDOWA处停下:
00013DEC|.50            push    eax                              ; |Class
00013DED|.E8 BAFAFFFF   call    <jmp.&user32.FindWindowA>      ; \FindWindowA
00013DF2|.85C0          test    eax, eax
00013DF4|.74 06         je      short 00013DFC
00013DF6|.E8 7DF0FFFF   call    00012E78

下面还有一个FINDWINDOW调用。。。。。。。
在这里观察对FINDWINDOW传入的参数,发现这样两个地址,,,跟随地址在数据窗口中可看到下面的内容:

00013C484F 4C 4C 59 44 42 47 00 FF FF FF FF 0A 00 00 00OLLYDBG.

浮云思音 发表于 2006-7-17 10:44:49

我要破文呀,不要注册机


要注册机也可以,不过是要注册机的找码


你这样发帖我只能说你是高手,但我菜鸟还是什么都没学到



:L:L:L

[ 本帖最后由 浮云思音 于 2006-7-17 10:46 编辑 ]

飘云 发表于 2006-7-17 11:35:04

原帖由 浮云思音 于 2006-7-17 10:44 发表
我要破文呀,不要注册机


要注册机也可以,不过是要注册机的找码


你这样发帖我只能说你是高手,但我菜鸟还是什么都没学到



:L:L:L


你调试他的注册机,岂不更妙?;P

浮云思音 发表于 2006-7-17 15:50:36

此帖技术性含量高,推荐加精!!!

lgjxj 发表于 2006-7-17 16:48:08

学习一下。。。。。。。。。。。。顶

hbqjxhw 发表于 2006-7-17 18:01:41

反跟踪技术讲解的很详细,但是算法分析还差一点.(只是讲解了注册码是如何形成的).
学习反跟踪技术,算法分析正在研究中==

caterpilla 发表于 2006-7-17 18:10:50

原帖由 hbqjxhw 于 2006-7-17 18:01 发表
反跟踪技术讲解的很详细,但是算法分析还差一点.(只是讲解了注册码是如何形成的).
学习反跟踪技术,算法分析正在研究中==
代码计算过于繁琐,呵呵,所以没写,关键部分都在上面列着呢

hbqjxhw 发表于 2006-7-17 20:29:25

跟了一下的确是很繁琐,但还是想把它研究一下。

caterpilla 发表于 2006-7-17 21:34:38

个人感觉:里面的汇编语言计算部分中,数据类型总在变化,有四字,双字,字节的类型,用高级语言描述时需要注意。程序中嵌入汇编写起来会方便些。

[ 本帖最后由 caterpilla 于 2006-7-17 21:37 编辑 ]

gameness 发表于 2006-7-18 01:40:12

都是高手偶不能落后了~~~
页: [1] 2 3
查看完整版本: KeyGenMe6(有反跟踪,抗DEDE反编译)破文,附算法注册机(更新版)