能力值:
(RANK:520 )
2 楼
你再提交试试
不行就
加群 8601428
给我发私信
能力值:
( LV8,RANK:130 )
3 楼
1.初始化第一组xor key
00401000 $ 53 push ebx 00401001 . 8BDC mov ebx, esp 00401003 . 83EC 08 sub esp, 0x8 00401006 . 83E4 F0 and esp, 0xFFFFFFF0 00401009 . 83C4 04 add esp, 0x4 0040100C . 55 push ebp 0040100D . 8B6B 04 mov ebp, dword ptr [ebx+0x4] 00401010 . 896C24 04 mov dword ptr [esp+0x4], ebp 00401014 . 8BEC mov ebp, esp 00401016 . 81EC 24040000 sub esp, 0x424 0040101C . A1 04304100 mov eax, dword ptr [0x413004] 00401021 . 33C5 xor eax, ebp 00401023 . 8945 FC mov dword ptr [ebp-0x4], eax 00401026 . 56 push esi 00401027 . 57 push edi 00401028 . 6A 40 push 0x40 0040102A . 8D45 90 lea eax, dword ptr [ebp-0x70] 0040102D . C785 14FCFFFF>mov dword ptr [ebp-0x3EC], 0xCC5CAD44 00401037 . 8BF9 mov edi, ecx 00401039 . C785 18FCFFFF>mov dword ptr [ebp-0x3E8], 0x8D739012 00401043 . 6A 00 push 0x0 00401045 . 50 push eax 00401046 . 8BF2 mov esi, edx 00401048 . 89BD 2CFCFFFF mov dword ptr [ebp-0x3D4], edi 0040104E . C785 1CFCFFFF>mov dword ptr [ebp-0x3E4], 0x89E38147 00401058 . C785 20FCFFFF>mov dword ptr [ebp-0x3E0], 0xF9DF9C84 00401062 . C785 24FCFFFF>mov dword ptr [ebp-0x3DC], 0x9EB66A47 0040106C . 66:C785 28FCF>mov word ptr [ebp-0x3D8], 0x3011 00401075 . C685 2AFCFFFF>mov byte ptr [ebp-0x3D6], 0x27 0040107C . E8 CF1B0000 call 00402C50 00401081 . 68 00020000 push 0x200 00401086 . 8D85 90FDFFFF lea eax, dword ptr [ebp-0x270] 0040108C . 6A 00 push 0x0
2.计算输入key的前7个字符的MD5,并重复前面7个字节组成新的xor key,
这部分在虚拟机里,在dispatch这里下断可以看得大概流程
0042FCD9 F7D3 not ebx
0042FCDB 4B dec ebx
0042FCDC 66:F7D3 not bx
0042FCDF 66:81EB D165 sub bx, 0x65D1
0042FCE4 0FB646 FF movzx eax, byte ptr [esi-0x1]
0042FCE8 4E dec esi
0042FCE9 2AC3 sub al, bl
0042FCEB F6D0 not al
0042FCED 04 57 add al, 0x57
0042FCEF FEC8 dec al
0042FCF1 2C 3E sub al, 0x3E
0042FCF3 FF3485 DDF84200 push dword ptr [eax*4+0x42F8DD]
0042FCFA C3 retn --------------------------------------VM DISPATCH 3.迷宫数据
004011F1 . B9 40000000 mov ecx, 0x40 ; Case 16 of switch 004011D2
004011F6 . 8DBD 90FCFFFF lea edi, dword ptr [ebp-0x370]
004011FC . BE 98374100 mov esi, 00413798 ===========迷宫数据
00401201 . 33C0 xor eax, eax
00401203 . F3:A5 rep movs dword ptr es:[edi], dword ptr [esi]
00401205 . B9 40000000 mov ecx, 0x40
0040120A . 8985 30FCFFFF mov dword ptr [ebp-0x3D0], eax
00401210 . BE 98384100 mov esi, 00413898 ==============迷宫数据
00401215 . 8DBD 90FEFFFF lea edi, dword ptr [ebp-0x170]
0040121B . F3:A5 rep movs dword ptr es:[edi], dword ptr [esi]
0040121D . 33C9 xor ecx, ecx
0040121F . 898D 2CFCFFFF mov dword ptr [ebp-0x3D4], ecx
00401225 > 8A4C0D D0 mov cl, byte ptr [ebp+ecx-0x30]
00401229 . 0FB6C9 movzx ecx, cl
0040122C . C785 0CFCFFFF>mov dword ptr [ebp-0x3F4], 0x6
00401236 . 898D 00FCFFFF mov dword ptr [ebp-0x400], ecx
0040123C . 90 nop 解密后得到
43 30 30 30 30 31 31 31 31 31 31 31 31 30 30 30
31 30 30 30 30 31 30 30 30 30 30 30 31 30 30 30
31 30 30 30 30 31 30 31 31 31 31 31 31 30 30 30
31 31 31 31 30 31 30 31 30 30 30 30 30 30 30 30
30 30 30 31 30 31 30 31 31 31 31 31 31 31 31 30
30 30 30 31 30 31 30 30 30 30 30 30 30 30 31 30
30 31 31 31 30 31 30 30 30 30 30 30 30 30 31 30
30 31 30 30 30 31 30 31 31 31 30 30 30 30 31 30
30 31 30 30 30 31 30 31 30 31 30 30 30 30 31 30
30 31 30 30 30 31 30 31 30 31 30 30 30 30 31 30
30 31 30 30 30 31 31 31 30 31 30 30 30 30 31 30
30 31 30 30 30 30 30 30 30 31 30 30 30 30 31 30
30 31 30 30 30 30 30 30 30 31 30 31 31 31 31 30
30 31 31 31 31 31 31 31 30 31 30 31 30 30 30 30
30 30 30 30 30 30 30 31 30 31 30 31 30 30 30 30
30 30 30 30 30 30 30 31 31 31 30 31 31 58 30 30
根据后面的代码,43是入口,58是出口,30是障碍,31可行
00401242 . 8985 10FCFFFF mov dword ptr [ebp-0x3F0], eax 00401248 . 8A8D 0CFCFFFF mov cl, byte ptr [ebp-0x3F4] 0040124E . D3EA shr edx, cl 00401250 . 83E2 03 and edx, 0x3 00401253 . FF2495 0C1440>jmp dword ptr [edx*4+0x40140C] 0040125A > 83E8 10 sub eax, 0x10 0040125D . EB 09 jmp short 00401268 0040125F > 40 inc eax 00401260 . EB 06 jmp short 00401268 00401262 > 83C0 10 add eax, 0x10 00401265 . EB 01 jmp short 00401268
这里标明的4个方向的走法,每4步对应一个字节,手工组合一下得到最终的数据:
A9 5A BE AA A5 55 A5 00 00 FA BC 00 00 15 55 AF
FE 95 55 AA AA FE A5
4.爆破
因为xor 秘钥与输入的前7个字节的md5有关,猜想应该最终结果应该是可见字符,而题目也没有对输入进行限制,于是对全数字进行爆破,得到一组数据,然后输入框里可以成功,但是提交不了答案,后来将字母也加进去,得到了很多,但是时间也比较长,下面给出另外一组
00omgvf5!^'"6vPusXvj9R$a)_u.="