天龙程序人生

« 上一篇: Windows下函数Hook技术 下一篇: 没有想到这个Blog我还能进来 »
天龙 @ 2005-10-20 21:28

【破文作者】qxtianlong

【所属组织】无

【作者主页】http://qxtianlong.77169.com

【 E-mail 】kk5910@sina.com

【 作者QQ 】249935058

【文章题目】Crackme  的详解

【软件名称】中国飘云阁破解组织Crackme2.0

【下载地址】http://bbs.cnxhacker.net/images/upload/2005/10/20/211058.exe

【加密方式】固定注册码

【加壳方式】无

【破解工具】OD

【软件限制】无

【破解平台】wxp
=======================================================================================================
【软件简介】
Crackme生存的唯一目的就是让我们练手之用!

=======================================================================================================
【文章简介】
我的破解很菜,写这篇东西是给对这个 crackme 有兴趣的兄弟们,分享一下破解心得
=======================================================================================================
【解密过程】
PEID查壳,无壳,VB程序非p-code,OD载入,下断点bp __vbaLenBstr断在
660248CB M>  8B4424 04          mov eax,dword ptr ssesp+4]//断在这里
660248CF     85C0               test eax,eax
660248D1     74 05              je short MSVBVM60.660248D8
660248D3     8B40 FC            mov eax,dword ptr dseax-4]
660248D6     D1E8               shr eax,1
660248D8     C2 0400            retn 4 //F8过
//上面是一个求字符串长度的一个过程返回
004029EE     8B4D D8            mov ecx,dword ptr ssebp-28]//来到这里
004029F1     33DB               xor ebx,ebx
004029F3     83F8 0C            cmp eax,0C
004029F6     51                 push ecx
004029F7     0F9EC3             setle bl
004029FA     FF15 10104000      call dword ptr ds<&MSVBVM60.__vbaL>; MSVBVM60.__vbaLenBstr//字符串长度
00402A00     F7D8               neg eax
00402A02     1BC0               sbb eax,eax
00402A04     F7D8               neg eax
00402A06     85D8               test eax,ebx
00402A08     75 7F              jnz short 2_0.00402A89
00402A0A     8B16               mov edx,dword ptr dsesi]
00402A0C     56                 push esi
00402A0D     FF92 08030000      call dword ptr dsedx+308]
00402A13     50                 push eax
00402A14     8D45 D0            lea eax,dword ptr ssebp-30]
00402A17     50                 push eax
00402A18     FFD7               call edi
00402A1A     8BD8               mov ebx,eax
00402A1C     68 B4214000        push 2_0.004021B4
00402A21     53                 push ebx
00402A22     8B0B               mov ecx,dword ptr dsebx]
00402A24     FF51 54            call dword ptr dsecx+54]
00402A27     85C0               test eax,eax
00402A29     DBE2               fclex
00402A2B     7D 0F              jge short 2_0.00402A3C
00402A2D     6A 54              push 54
00402A2F     68 CC214000        push 2_0.004021CC
00402A34     53                 push ebx
00402A35     50                 push eax
00402A36     FF15 1C104000      call dword ptr ds<&MSVBVM60.__vbaH>; MSVBVM60.__vbaHresultCheckObj
00402A3C     8B1D 94104000      mov ebx,dword ptr ds<&MSVBVM60.__v>; MSVBVM60.__vbaFreeObj
00402A42     8D4D D0            lea ecx,dword ptr ssebp-30]
00402A45     FFD3               call ebx
00402A47     8B16               mov edx,dword ptr dsesi]
00402A49     56                 push esi
00402A4A     FF92 00030000      call dword ptr dsedx+300]
00402A50     50                 push eax
00402A51     8D45 D0            lea eax,dword ptr ssebp-30]
00402A54     50                 push eax
00402A55     FFD7               call edi
00402A57     8BF0               mov esi,eax
00402A59     68 E0214000        push 2_0.004021E0
00402A5E     56                 push esi
00402A5F     8B0E               mov ecx,dword ptr dsesi]
00402A61     FF91 A4000000      call dword ptr dsecx+A4]
00402A67     85C0               test eax,eax
00402A69     DBE2               fclex
00402A6B     7D 12              jge short 2_0.00402A7F
00402A6D     68 A4000000        push 0A4
00402A72     68 A0214000        push 2_0.004021A0
00402A77     56                 push esi
00402A78     50                 push eax
00402A79     FF15 1C104000      call dword ptr ds<&MSVBVM60.__vbaH>; MSVBVM60.__vbaHresultCheckObj
00402A7F     8D4D D0            lea ecx,dword ptr ssebp-30]
00402A82     FFD3               call ebx
00402A84     E9 0A010000        jmp 2_0.00402B93
00402A89     8B55 D8            mov edx,dword ptr ssebp-28]
00402A8C     52                 push edx
00402A8D     FF15 9C104000      call dword ptr ds<&MSVBVM60.#581>] ; MSVBVM60.rtcR8ValFromBstr//转化为浮点数
00402A93     833D 00304000 00   cmp dword ptr ds403000],0
00402A9A     75 08              jnz short 2_0.00402AA4
00402A9C     DC35 A8104000      fdiv qword ptr ds4010A8]//做浮点除法运算,注意ds004010a8]的值
00402AA2     EB 11              jmp short 2_0.00402AB5
00402AA4     FF35 AC104000      push dword ptr ds4010AC]
00402AAA     FF35 A8104000      push dword ptr ds4010A8]
00402AB0     E8 7FE6FFFF        call <jmp.&MSVBVM60._adj_fdiv_m64>
00402AB5     8D4D DC            lea ecx,dword ptr ssebp-24]
00402AB8     C745 B0 05800000   mov dword ptr ssebp-50],8005
00402ABF     DD5D B8            fstp qword ptr ssebp-48]
00402AC2     DFE0               fstsw ax
00402AC4     A8 0D              test al,0D
00402AC6     0F85 24010000      jnz 2_0.00402BF0
00402ACC     8D45 B0            lea eax,dword ptr ssebp-50]
00402ACF     50                 push eax
00402AD0     51                 push ecx
00402AD1     FF15 3C104000      call dword ptr ds<&MSVBVM60.__vbaV>; MSVBVM60.__vbaVarTstEq//做比较的函数
F7跟进去,里面有一个CALL跟进去
77100867     DD46 08            fld qword ptr dsesi+8]//装入浮点寄存器
7710086A     DC5B 08            fcomp qword ptr dsebx+8]//比较
下面我不跟了,大家自己慢慢发现吧
00402AD7     66:85C0            test ax,ax
00402ADA     74 7C              je short 2_0.00402B58//这里可以爆破
OK
【解密心得】
=======================================================================================================
浮点运算,注意FPU浮点寄存器的值,多了解一些协处理器的指令,这个Crackme对你应该不难的
固定注册码类型,把你输入的内容转化为浮点形式,然后除以18的值和1357924680比较,相等就成功,不等就死啦!1357824680*18=24442644240
算法注册机我就不写了,计算器自己算一下就OK啦,关键在于协处理器指令的掌握
【破解声明】我是一个小小菜虫子,文章如有错误,请高手指正!
【版权声明】本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
=======================================================================================================
                                                                                      2005-10-20 夜

最新评论


hxsk.net

2008-08-16 23:23 匿名 125.93.*.* 网址: http://www.hxsk.net

学习了,谢谢,华夏书库欢迎您www.hxsk.net


评论 / 个人网页 / 扔小纸条
*昵称

已经注册过? 请登录

Email
网址
*评论
 


 
日历
网志分类
· 所有网志 (17)
· 逆向分析 (11)
· 游戏制作 (0)
· 程序人生 (2)
· 编程开发 (4)
· 工具下载 (0)
站内搜索
友情链接
· 我的歪酷
· 天龙破解乐园

订阅 RSS

0011090

歪酷博客

本模版系 歪酷博客Zazamu Studio 授权使用 请尊重知识产权