能力值:
( LV4,RANK:50 )
|
-
-
2 楼
F2来到这里
0040E5BE |> 68 FF000000 PUSH 0FF ; 从按钮事件过来
0040E5C3 |. 8D8C24 2501000>LEA ECX,DWORD PTR SS:[ESP+125]
0040E5CA |. 53 PUSH EBX
0040E5CB |. 51 PUSH ECX
0040E5CC |. 889C24 2C01000>MOV BYTE PTR SS:[ESP+12C],BL
0040E5D3 |. E8 D8EA0100 CALL 99.0042D0B0
0040E5D8 |. A1 403C4400 MOV EAX,DWORD PTR DS:[443C40]
0040E5DD |. 8B35 3C114000 MOV ESI,DWORD PTR DS:[<&USER32.GetDlgIte>; USER32.GetDlgItemTextA
0040E5E3 |. 83C4 0C ADD ESP,0C
0040E5E6 |. 68 FF000000 PUSH 0FF ; /Count = FF (255.)
0040E5EB |. 8D9424 2401000>LEA EDX,DWORD PTR SS:[ESP+124] ; |
0040E5F2 |. 52 PUSH EDX ; |Buffer
0040E5F3 |. 68 EB030000 PUSH 3EB ; |ControlID = 3EB (1003.)
0040E5F8 |. 50 PUSH EAX ; |hWnd => 001D034C ('small crackme',class='#32770')
0040E5F9 |. FFD6 CALL ESI ; \GetDlgItemTextA
0040E5FB |. 8D8424 2001000>LEA EAX,DWORD PTR SS:[ESP+120] ; EAX返回用户名用户名
0040E602 |. 8D50 01 LEA EDX,DWORD PTR DS:[EAX+1] ; EDX指向用户名BUFFER第1个字符位置
0040E605 |> 8A08 /MOV CL,BYTE PTR DS:[EAX] ; 取出用户名每一位
0040E607 |. 83C0 01 |ADD EAX,1 ; EAX++
0040E60A |. 84C9 |TEST CL,CL ; 测试CL ,实际测试是否字符串结束符号
0040E60C |.^75 F7 \JNZ SHORT 99.0040E605 ; 如果没遇到结束符,则循环
0040E60E |. 2BC2 SUB EAX,EDX ; EAX=EAX-EDX,实际是计用户名长度
0040E610 |. 75 1E JNZ SHORT 99.0040E630 ; 如果长度大于0 则,跳0040E630继续执行
0040E612 |. 8B0D 403C4400 MOV ECX,DWORD PTR DS:[443C40] ; 这里实际是参数HWND
0040E618 |. 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
0040E61A |. 68 57614000 PUSH 99.00406157 ; |Title = ""
0040E61F |. 68 58614000 PUSH 99.00406158 ; |Text = "usrname error"
0040E624 |. 51 PUSH ECX ; |hOwner => 001D034C ('small crackme',class='#32770')
0040E625 |. FF15 44114000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
0040E62B |.^E9 2BFFFFFF JMP 99.0040E55B ; 直接跳到0040E55B,继续消息循环
0040E630 |> 68 FF000000 PUSH 0FF ;
0040E635 |. 8D5424 25 LEA EDX,DWORD PTR SS:[ESP+25] ;
0040E639 |. 53 PUSH EBX
0040E63A |. 52 PUSH EDX
0040E63B |. 885C24 2C MOV BYTE PTR SS:[ESP+2C],BL
0040E63F |. E8 6CEA0100 CALL 99.0042D0B0
0040E644 |. 8B0D 403C4400 MOV ECX,DWORD PTR DS:[443C40]
0040E64A |. 83C4 0C ADD ESP,0C
0040E64D |. 68 FF000000 PUSH 0FF ; /Count = FF (255.)
0040E652 |. 8D4424 24 LEA EAX,DWORD PTR SS:[ESP+24] ;
0040E656 |. 50 PUSH EAX ; |Buffer
0040E657 |. 68 ED030000 PUSH 3ED ; |ControlID = 3ED (1004.)
0040E65C |. 51 PUSH ECX ; |hWnd => 001D034C ('small crackme',class='#32770')
0040E65D |. FFD6 CALL ESI ; 这里去注册码
0040E65F |. 8D4424 20 LEA EAX,DWORD PTR SS:[ESP+20] ; 这里返回注册码
0040E663 |. 8D50 01 LEA EDX,DWORD PTR DS:[EAX+1] ; EDX指向用户名BUFFER第1个字符位置
0040E666 |> 8A08 /MOV CL,BYTE PTR DS:[EAX] ; 取出注册码每一位
0040E668 |. 83C0 01 |ADD EAX,1 ; EAX ++
0040E66B |. 84C9 |TEST CL,CL ; 测试CL ,实际测试是否字符串结束符号
0040E66D |.^75 F7 \JNZ SHORT 99.0040E666 ; 如果没遇到结束符,则循环
0040E66F |. 2BC2 SUB EAX,EDX ; EAX=EAX-EDX,实际是计注册码长度
0040E671 |. 75 1E JNZ SHORT 99.0040E691 ; 长度大于0则跳到 0040E691
0040E673 |. 8B15 403C4400 MOV EDX,DWORD PTR DS:[443C40] ; 这里实际是参数HWND
0040E679 |. 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
0040E67B |. 68 57614000 PUSH 99.00406157 ; |Title = ""
0040E680 |. 68 68614000 PUSH 99.00406168 ; |Text = "the pass was error"
0040E685 |. 52 PUSH EDX ; |hOwner => 001D034C ('small crackme',class='#32770')
0040E686 |. FF15 44114000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
0040E68C |.^E9 CAFEFFFF JMP 99.0040E55B ; 直接跳到0040E55B,继续消息循环
0040E691 |> 8D4424 20 LEA EAX,DWORD PTR SS:[ESP+20] ; 用户名BUFFER首地址给EAX
0040E695 |. 50 PUSH EAX ; 用户名压栈
0040E696 |. 8D8C24 2401000>LEA ECX,DWORD PTR SS:[ESP+124] ; 注册码BUFFER首地址给ECX
0040E69D |. E8 2EA1FFFF CALL 99.004087D0 ; 关键CALL,爆破关键点!!!!!!!!
0040E6A2 |. 83C4 04 ADD ESP,4 ; 恢复栈平衡
0040E6A5 |. 84C0 TEST AL,AL ; 判断返回值AL
0040E6A7 |. 74 1D JE SHORT 99.0040E6C6 ; 如果返回0 则提示“try error!"
0040E6A9 |. 8B0D 403C4400 MOV ECX,DWORD PTR DS:[443C40] ; 否则提示“success”
0040E6AF |. 53 PUSH EBX ; /Style
0040E6B0 |. 68 57614000 PUSH 99.00406157 ; |Title = ""
0040E6B5 |. 68 7C614000 PUSH 99.0040617C ; |Text = "success !!!"
0040E6BA |. 51 PUSH ECX ; |hOwner => 001D034C ('small crackme',class='#32770')
0040E6BB |. FF15 44114000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
0040E6C1 |.^E9 95FEFFFF JMP 99.0040E55B ; 直接跳到0040E55B,继续消息循环
0040E6C6 |> 8B15 403C4400 MOV EDX,DWORD PTR DS:[443C40]
0040E6CC |. 6A 10 PUSH 10 ; /Style = MB_OK|MB_ICONHAND|MB_APPLMODAL
0040E6CE |. 68 57614000 PUSH 99.00406157 ; |Title = ""
0040E6D3 |. 68 88614000 PUSH 99.00406188 ; |Text = "try error!!"
0040E6D8 |. 52 PUSH EDX ; |hOwner => 001D034C ('small crackme',class='#32770')
0040E6D9 |. FF15 44114000 CALL DWORD PTR DS:[<&USER32.MessageBoxA>>; \MessageBoxA
0040E6DF |.^E9 77FEFFFF JMP 99.0040E55B ; 直接跳到0040E55B,继续消息循环
貌似关键CALL 非常大,这里不贴出,无语,等大牛来表演
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
很好,很强大 。估计一个星期之内不会有结果
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
cm还成算法就算了。。。
|
能力值:
( LV4,RANK:50 )
|
-
-
5 楼
有办法让IDA 或 OD 识别 NTL库函数吗?
网上下载 NTL源码,生成LIB,PAT, EXC,SIG,还是没法用呀
数学鸭蛋,给我源码都不会算呀,
|
能力值:
( LV2,RANK:10 )
|
-
-
6 楼
爆的行不?菜菜只会爆菊
|
能力值:
( LV9,RANK:180 )
|
-
-
7 楼
完全不懂路过
四元数旋转?
|
能力值:
( LV2,RANK:10 )
|
-
-
8 楼
数学无能啊。。
|
能力值:
( LV9,RANK:180 )
|
-
-
9 楼
|
能力值:
( LV15,RANK:2473 )
|
-
-
10 楼
s的眼睛够雪亮的,lz又被识破真相了,膜拜
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
我这收集了大量CM
改天做一个为S君准备的999关boss级别的crackme
|
能力值:
( LV9,RANK:180 )
|
-
-
13 楼
楼主用我的ID帮我算一下吧
俺也想留个名. 感恩啊~
|
能力值:
( LV4,RANK:50 )
|
-
-
14 楼
name: sessiondiy serial: 3b3dabnJYpPXCvs5eCR7KAMfgmdA7i52N name: tyroneking serial: 46WbIs3urZUndlhb8OIqqdGcCAO4svIUd
膜拜,我捡现成的,
|
能力值:
( LV4,RANK:50 )
|
-
-
16 楼
网上的KeyGen
|
能力值:
( LV5,RANK:60 )
|
-
-
17 楼
我就是玩了这个搞不定, 所以让才大家玩玩的 哈哈。
大家都膜拜 andrewl.us 吧, 这位才是真正的世界级顶级高手!!
|
能力值:
( LV4,RANK:50 )
|
-
-
18 楼
膜拜!!!!!!
|
能力值:
( LV5,RANK:60 )
|
-
-
19 楼
改的
我也没有MR.HAANDI 的功力深厚。
就不想被大家看出来 ,看咱们国内有没有神人能弄出来。 但还是被S古哥出来了,可能里面的数据没改全吧
|