Liquor 发表于 2013-12-14 10:08

【吾爱2013CM大赛解答】----CrackMe -- 苏紫方璇 CM分析

本帖最后由 Chief 于 2013-12-14 17:38 编辑

【文章标题】: 吾爱2013CM大赛解答--CrackMe--苏紫方璇 CM分析
【文章作者】: Crack_Qs
【作者主页】: www.reversesec.com
【软件名称】: CrackMe -- 苏紫方璇
【下载地址】: http://www.52pojie.cn/thread-228417-1-1.html
【操作平台】: win xp
【作者声明】: 我是打酱油的,失误之处敬请诸位大侠赐教! 技术支持:Peace、kido
--------------------------------------------------------------------------------
【详细过程】
前面就不写了,跑了一遍没什么东西。

00401742   > \6A 01         push 0x1                                 ;开始计算的准备工作
00401744   .8B8D C4FEFFFF mov ecx,dword ptr ss:
0040174A   .E8 43060000   call <jmp.&MFC42.#6334>                  ;读假码到edx
0040174F   .6A 00         push 0x0
00401751   .8B8D C4FEFFFF mov ecx,dword ptr ss:
00401757   .E8 36060000   call <jmp.&MFC42.#6334>
0040175C   .8B8D C4FEFFFF mov ecx,dword ptr ss:
00401762   .8B51 60       mov edx,dword ptr ds:          ;用户名到edx
00401765   .8995 CCFEFFFF mov dword ptr ss:,edx
0040176B   .8D85 E4FEFFFF lea eax,dword ptr ss:
00401771   .50            push eax
00401772   .8B8D CCFEFFFF mov ecx,dword ptr ss:         ;用户名到ecx
00401778   .51            push ecx                                 ;压
00401779   .E8 92FDFFFF   call CrackMe.00401510                  ;关键call

00401510/$83EC 08       sub esp,0x8
00401513|.53            push ebx
00401514|.8B5C24 10   mov ebx,dword ptr ss:          ;用户名给ebx
00401518|.57            push edi
00401519|.8BFB          mov edi,ebx                              ;到edi
0040151B|.83C9 FF       or ecx,0xFFFFFFFF
0040151E|.33C0          xor eax,eax
00401520|.F2:AE         repne scas byte ptr es:             ;取用户名 准备开始运算

算法:

00401550|> /33C0          /xor eax,eax
00401552|. |8A03          |mov al,byte ptr ds:                ;用户名逐位取ascii值
00401554|. |8D0440      |lea eax,dword ptr ds:      ;ASCII+ASCII*2
00401557|. |99            |cdq
00401558|. |2BC2          |sub eax,edx
0040155A|. |D1F8          |sar eax,1                               ;strlen(a1) + 1
0040155C|. |25 FF000000   |and eax,0xFF                            ;64,AB,91,94,A0,8E,79,AC
00401561|. |50            |push eax
00401562|. |8D4424 14   |lea eax,dword ptr ss:         ;%02X;C语言的,不解释了。
00401566|. |50            |push eax
00401567|. |56            |push esi
00401568|. |FFD5          |call ebp                              ;printf();函数
0040156A|. |83C4 0C       |add esp,0xC                           ;printf("%02x",0x64);
0040156D|. |83C6 02       |add esi,0x2
00401570|. |43            |inc ebx
00401571|. |4F            |dec edi
00401572|.^\75 DC         \jnz XCrackMe.00401550


key:
Crack_Qs
64AB9194A08E79AC


以下为推测:

sar = strlen(a1) + 1;
    if ( (signed int)(sar - 1) > 0 )
    {
      v5 = Dest;
      b = sar - 1;
      do
      {
      printf("%02X",n);
      ++i;
      --b;
      }
      while ( b );
    }

--------------------------------------------------------------------------------
【版权声明】: 本文原创于Crack_Qs, 转载请注明作者并保持文章的完整, 谢谢!

                                                       2013年12月14日 9:58:49


吾爱扣扣 发表于 2013-12-14 10:11

前排支持大大!我去,算法都被逆出来了

马斯维尔 发表于 2013-12-14 10:15

QS牛就是厉害。直接逆出算法。。膜拜

wuyasos 发表于 2013-12-14 10:20

来膜拜 QS大大

淡然出尘 发表于 2013-12-14 10:54

QS永远都那么简洁 利索..

黑夜伴影 发表于 2013-12-14 11:16

前来膜拜QS牛!大牛啊。

Syer 发表于 2013-12-14 11:19

膜拜大牛。。。。{:1_931:}

840870819 发表于 2013-12-14 23:39

膜拜大牛,尽然可以逆出算法
页: [1]
查看完整版本: 【吾爱2013CM大赛解答】----CrackMe -- 苏紫方璇 CM分析