能力值:
( LV12,RANK:210 )
|
-
-
2 楼
没搞定 谁推出来了讲下
|
能力值:
( LV4,RANK:50 )
|
-
-
3 楼
这个只有等穷举完的比较好的牛x人来了
|
能力值:
( LV3,RANK:30 )
在线值:

|
-
-
4 楼
00401000 >/$ 6A 00 PUSH 0 ; /lParam = NULL
00401002 |. 68 90104000 PUSH crackme.00401090 ; |DlgProc = crackme.00401090
00401007 |. 6A 00 PUSH 0 ; |hOwner = NULL
00401009 |. 6A 65 PUSH 65 ; |pTemplate = 65
0040100B |. 6A 00 PUSH 0 ; |/pModule = NULL
0040100D |. E8 F8000000 CALL <JMP.&KERNEL32.GetModuleHandleA> ; |\GetModuleHandleA
00401012 |. 50 PUSH EAX ; |hInst
00401013 |. E8 FE000000 CALL <JMP.&USER32.DialogBoxParamA> ; \DialogBoxParamA
00401018 |. 83F8 01 CMP EAX,1 ; 判断输入是否为空
0040101B |. 7E 72 JLE SHORT crackme.0040108F ; 是就跳
0040101D |. 6A 40 PUSH 40 ; /Protect = PAGE_EXECUTE_READWRITE
0040101F |. 68 00101000 PUSH 101000 ; |AllocationType = MEM_COMMIT|MEM_TOP_DOWN
00401024 |. 68 00100000 PUSH 1000 ; |Size = 1000 (4096.)
00401029 |. 6A 00 PUSH 0 ; |Address = NULL
0040102B |. E8 E0000000 CALL <JMP.&KERNEL32.VirtualAlloc> ; \VirtualAlloc 申请新空间
00401030 |. 8BF8 MOV EDI,EAX ; 申请的空间通过EAX传给EDI
00401032 |. 33C0 XOR EAX,EAX ; 清空一些寄存器,以下略同
00401034 |. 33DB XOR EBX,EBX
00401036 |. 33C9 XOR ECX,ECX
00401038 |. 33F6 XOR ESI,ESI
0040103A |. 49 DEC ECX ; ECX=-1
0040103B |> 8A86 10304000 /MOV AL,BYTE PTR DS:[ESI+403010] ; 从ESI+403010处取字符
00401041 |. 02C3 |ADD AL,BL
00401043 |. 3283 00304000 |XOR AL,BYTE PTR DS:[EBX+403000]
00401049 |. 88043E |MOV BYTE PTR DS:[ESI+EDI],AL ; 存入申请空间
0040104C |. C1E0 03 |SHL EAX,3
0040104F |. 32C8 |XOR CL,AL
00401051 |. 66:F7D1 |NOT CX
00401054 |. C0D9 03 |RCR CL,3
00401057 |. 46 |INC ESI
00401058 |. 43 |INC EBX
00401059 |. 80BB 00304000>|CMP BYTE PTR DS:[EBX+403000],0
00401060 |. 75 02 |JNZ SHORT crackme.00401064
00401062 |. 33DB |XOR EBX,EBX
00401064 |> 83FE 49 |CMP ESI,49 ; 是否计算了0x49次?
00401067 |.^ 75 D2 \JNZ SHORT crackme.0040103B ; 回跳
00401069 |. 3D 00D8B66D CMP EAX,6DB6D800 ; 计算结果中EAX比较
0040106E |. 75 0C JNZ SHORT crackme.0040107C ; 跳到错误
00401070 |. 81F9 9E00FFFF CMP ECX,FFFF009E ; ECX比较
00401076 |. 75 04 JNZ SHORT crackme.0040107C ; 跳到错误
00401078 |. FFD7 CALL EDI ; 跳到EDI指向的申请空间
0040107A |. EB 13 JMP SHORT crackme.0040108F
0040107C |> 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
0040107E |. 68 96304000 PUSH crackme.00403096 ; |password invalid
00401083 |. 68 60304000 PUSH crackme.00403060 ; |the password you entered is invalid. please check it.
00401088 |. 6A 00 PUSH 0 ; |hOwner = NULL
0040108A |. E8 9F000000 CALL <JMP.&USER32.MessageBoxA> ; \MessageBoxA
0040108F \> C3 RETN
|
能力值:
( LV12,RANK:210 )
|
-
-
5 楼
没有高手来指导呢?
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
这种东西弄多了 感觉一点意思都没有了
|
能力值:
( LV12,RANK:200 )
|
-
-
7 楼
得找穷举高手!
|
能力值:
(RANK:550 )
|
-
-
8 楼
123456
|
能力值:
( LV4,RANK:50 )
|
-
-
9 楼
楼上的老大能放出破文么
|
能力值:
( LV12,RANK:210 )
|
-
-
10 楼
能给点提示吗?
|
能力值:
(RANK:550 )
|
-
-
11 楼
首先可以确定解码后的最后一位是0 并且之前的8位应该都是小写字母 根据这个条件可以确定密码的长度只可能为10 11 13 14 15 而且代码很短 应该是MessageBox 最后保存的就是提示信息字符串了 根据Shellcode常见的代码定位方式 判断最开始的指令应该是 E8 00 00 00 00 密码13位长时相应最后一位0的地方也是0 猜测应该是两个字符串的分隔符 将最开始的5个密码确定后代入看最终结果 看到最后有ati字样 刚开始猜是congratulation 将最后补成ation 又看到前面有sfully字样 猜是successfully 线索越来越多 再猜下就成功了
|
能力值:
( LV12,RANK:210 )
|
-
-
12 楼
哎 我水平太菜啊 猜不出来
|
能力值:
( LV8,RANK:130 )
|
-
-
13 楼
什么东西来的,肉鸡???
|
能力值:
( LV3,RANK:30 )
在线值:

|
-
-
14 楼
|
能力值:
( LV12,RANK:210 )
|
-
-
15 楼
那个哥们跟出来了,写下分析过程 
实在跟不出来
|
能力值:
( LV12,RANK:210 )
|
-
-
16 楼
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | 0040103B |> /8A86 10304000 /mov al, byte ptr [esi+403010]
00401041 |. |02C3 |add al, bl
00401043 |. |3283 00304000 |xor al, byte ptr [ebx+403000]
00401049 |. |88043E |mov byte ptr [esi+edi], al
0040104C |. |C1E0 03 |shl eax, 3
0040104F |. |32C8 |xor cl, al
00401051 |. |66:F7D1 |not cx
00401054 |. |C0D9 03 |rcr cl, 3
00401057 |. |46 |inc esi
00401058 |. |43 |inc ebx
00401059 |. |80BB 00304000>| cmp byte ptr [ebx+403000], 0
00401060 |. |75 02 |jnz short 00401064
00401062 |. |33DB |xor ebx, ebx
00401064 |> |83FE 49 | cmp esi, 49
00401067 |.^\75 D2 \jnz short 0040103B
00401069 3D 00D8B66D cmp eax, 6DB6D800
0040106E 75 0C jnz short 0040107C
00401070 81F9 9E00FFFF cmp ecx, FFFF009E
00401076 75 04 jnz short 0040107C
00401078 FFD7 call edi
|
|
能力值:
( LV12,RANK:210 )
|
-
-
17 楼
cmp eax, 6DB6D800
cmp ecx, FFFF009E
这段代码什么意思?取49次
|
能力值:
( LV12,RANK:210 )
|
-
-
18 楼
call edi为注册算法
|
能力值:
( LV12,RANK:210 )
|
-
-
19 楼
爆破不行
|
能力值:
( LV12,RANK:210 )
|
-
-
20 楼
看不懂呢 
|
能力值:
( LV3,RANK:30 )
在线值:

|
-
-
21 楼
爆破肯定不行啊,爆破Call EDI就有可能是无效指令了。。。VirtualAlloc 用得不错
|
能力值:
( LV3,RANK:30 )
在线值:

|
-
-
22 楼
计算结果与正确进行比较。。。
|
能力值:
( LV12,RANK:210 )
|
-
-
23 楼
那怎么办呢?猜不出来呢
|
能力值:
( LV12,RANK:210 )
|
-
-
24 楼
|
能力值:
( LV12,RANK:210 )
|
-
-
25 楼
可以爆破吗?
|
|
|