飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4958|回复: 6

中国飘云阁Crack组织Crackme2.0破解分析

[复制链接]

该用户从未签到

发表于 2005-10-21 10:45:29 | 显示全部楼层 |阅读模式
【破文作者】qxtianlong

【所属组织】无

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

【 E-mail 】kk5910@sina.com

【 作者QQ 】249935058

【文章题目】Crackme  的详解

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

【下载地址】Crackme

【加密方式】固定注册码

【加壳方式】无

【Crack工具】OD

【软件限制】无

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

=======================================================================================================
【文章简介】
我的Crack很菜,写这篇东西是给对这个 crackme 有兴趣的兄弟们,分享一下Crack心得
=======================================================================================================
【解密过程】
PEID查壳,无壳,VB程序非p-code,OD载入,下断点bp __vbaLenBstr断在
660248CB M>  8B4424 04          mov eax,dword ptr ss:[esp+4]//断在这里
660248CF     85C0               test eax,eax
660248D1     74 05              je short MSVBVM60.660248D8
660248D3     8B40 FC            mov eax,dword ptr ds:[eax-4]
660248D6     D1E8               shr eax,1
660248D8     C2 0400            retn 4 //F8过
//上面是一个求字符串长度的一个过程返回
004029EE     8B4D D8            mov ecx,dword ptr ss:[ebp-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 ds:[esi]
00402A0C     56                 push esi
00402A0D     FF92 08030000      call dword ptr ds:[edx+308]
00402A13     50                 push eax
00402A14     8D45 D0            lea eax,dword ptr ss:[ebp-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 ds:[ebx]
00402A24     FF51 54            call dword ptr ds:[ecx+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 ss:[ebp-30]
00402A45     FFD3               call ebx
00402A47     8B16               mov edx,dword ptr ds:[esi]
00402A49     56                 push esi
00402A4A     FF92 00030000      call dword ptr ds:[edx+300]
00402A50     50                 push eax
00402A51     8D45 D0            lea eax,dword ptr ss:[ebp-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 ds:[esi]
00402A61     FF91 A4000000      call dword ptr ds:[ecx+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 ss:[ebp-30]
00402A82     FFD3               call ebx
00402A84     E9 0A010000        jmp 2_0.00402B93
00402A89     8B55 D8            mov edx,dword ptr ss:[ebp-28]
00402A8C     52                 push edx
00402A8D     FF15 9C104000      call dword ptr ds:[<&MSVBVM60.#581>] ; MSVBVM60.rtcR8ValFromBstr//转化为浮点数
00402A93     833D 00304000 00   cmp dword ptr ds:[403000],0
00402A9A     75 08              jnz short 2_0.00402AA4
00402A9C     DC35 A8104000      fdiv qword ptr ds:[4010A8]//做浮点除法运算,注意ds:[004010a8]的值
00402AA2     EB 11              jmp short 2_0.00402AB5
00402AA4     FF35 AC104000      push dword ptr ds:[4010AC]
00402AAA     FF35 A8104000      push dword ptr ds:[4010A8]
00402AB0     E8 7FE6FFFF        call
00402AB5     8D4D DC            lea ecx,dword ptr ss:[ebp-24]
00402AB8     C745 B0 05800000   mov dword ptr ss:[ebp-50],8005
00402ABF     DD5D B8            fstp qword ptr ss:[ebp-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 ss:[ebp-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 ds:[esi+8]//装入浮点寄存器
7710086A     DC5B 08            fcomp qword ptr ds:[ebx+8]//比较
下面我不跟了,大家自己慢慢发现吧
00402AD7     66:85C0            test ax,ax
00402ADA     74 7C              je short 2_0.00402B58//这里可以爆破
OK
【解密心得】
=======================================================================================================
浮点运算,注意FPU浮点寄存器的值,多了解一些协处理器的指令,这个Crackme对你应该不难的
固定注册码类型,把你输入的内容转化为浮点形式,然后除以18的值和1357924680比较,相等就成功,不等就死啦!1357824680*18=24442644240
算法注册机我就不写了,计算器自己算一下就OK啦,关键在于协处理器指令的掌握
【Crack声明】我是一个小小菜虫子,文章如有错误,请高手指正!
【版权声明】本文纯属技术交流, 转载请注明作者并保持文章的完整, 谢谢!
=======================================================================================================
                                                                                       2005-10-20 夜
PYG19周年生日快乐!
  • TA的每日心情
    难过
    7 天前
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2005-10-21 11:48:26 | 显示全部楼层
    不错啊! 沉了很久的东西被你翻上来了!
    加精!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2005-10-21 17:21:12 | 显示全部楼层
    向飘云老大学习,在程序中体会乐趣,在破解中体会思想,在程序中融于思想
    PYG19周年生日快乐!
  • TA的每日心情
    无聊
    2020-4-10 17:02
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    发表于 2005-10-23 10:29:36 | 显示全部楼层
    非常不错!

    厉害!

    收藏!
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2020-8-4 08:53
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2005-10-31 18:38:57 | 显示全部楼层
    Originally posted by qxtianlong at  17:21:
    向飘云老大学习,在程序中体会乐趣,在破解中体会思想,在程序中融于思想



    向所有的高手学习
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2005-11-29 00:24:34 | 显示全部楼层
    先向楼主学习,然后再向老大学习...
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2007-1-12 12:46:26 | 显示全部楼层
    三人行,必有我师。向所有人学习~~!
    冷血书生,让我看到你了/:D
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表