返回列表 发帖

简单密码破解

简单密码破解

本帖最后由 qls 于 2009-5-29 14:26 编辑

简单密码破解
获取密码后可以在后边跟帖发上来

C1.rar (96.47 KB)

13_C.rar (86.67 KB)

怎么用啊

TOP

哦,原来是题哦,我还以为是其它的什么呢。
感受都相同

TOP

41# 48759660


对有的人就没用
比如你
存在即有存在的价值

TOP

有用吗???

TOP

这种东西我一般不碰的……

TOP

HOANNJNMM

TOP

争取每个帖子后面都是我的名字

TOP

有事没事破人家密码干啥子哦...宝器...
此人已死,有钱烧香,没钱烧纸。

TOP

没用途
无聊随便发的

TOP

我只想问下你这个有什么实际用途没的
人之所以幸福,不是因为得到太多,而是因为想的太少....

TOP

密码:UnpackMe


脱壳不用说直接单步就好了.
004013A0   .  51            PUSH ECX   //断点
004013A1   .  53            PUSH EBX
004013A2   .  56            PUSH ESI
004013A3   .  57            PUS ...
东方阿姨 发表于 2009-6-16 10:49


高手
厉害!!

TOP

第一个密码就是EasyFindText!

TOP

本帖最后由 东方阿姨 于 2009-6-16 10:51 编辑

密码:UnpackMe


脱壳不用说直接单步就好了.
004013A0   .  51            PUSH ECX   //断点
004013A1   .  53            PUSH EBX
004013A2   .  56            PUSH ESI
004013A3   .  57            PUSH EDI
004013A4   .  8BF1          MOV ESI,ECX
004013A6   .  6A 01         PUSH 1
004013A8   .  E8 31860100   CALL c.004199DE
004013AD   .  8B46 5C       MOV EAX,DWORD PTR DS:[ESI+5C]
004013B0   .  BB 01000000   MOV EBX,1
004013B5   .  8378 F8 08    CMP DWORD PTR DS:[EAX-8],8 //判断输入的注册码是否为8位.
004013B9   .  74 02         JE SHORT c.004013BD        //如果是则跳
004013BB   .  33DB          XOR EBX,EBX                 
004013BD   >  33FF          XOR EDI,EDI                //edi清零
004013BF   >  85DB          TEST EBX,EBX
004013C1   .  74 07         JE SHORT c.004013CA        
004013C3   .  B8 08000000   MOV EAX,8
004013C8   .  EB 06         JMP SHORT c.004013D0
004013CA   >  8B4E 5C       MOV ECX,DWORD PTR DS:[ESI+5C]
004013CD   .  8B41 F8       MOV EAX,DWORD PTR DS:[ECX-8]
004013D0   >  3BF8          CMP EDI,EAX   //判断比较了好多位.
004013D2   .  7D 1F         JGE SHORT c.004013F3
004013D4   .  8B56 5C       MOV EDX,DWORD PTR DS:[ESI+5C]
004013D7   .  57            PUSH EDI
004013D8   .  8A0417        MOV AL,BYTE PTR DS:[EDI+EDX] //取第edi位输入的注册码到al.
004013DB   .  884424 10     MOV BYTE PTR SS:[ESP+10],AL  
004013DF   .  8B4C24 10     MOV ECX,DWORD PTR SS:[ESP+10]
004013E3   .  51            PUSH ECX
004013E4   .  E8 97FFFFFF   CALL c.00401380  //子程序功能是取输入的注册码第edi位与真正的注册码相应位数比较.如果相等返回值在eax里为1.否则eax为零
004013E9   .  83C4 08       ADD ESP,8
004013EC   .  85C0          TEST EAX,EAX  
004013EE   .  74 1F         JE SHORT c.0040140F //判断eax是否为零不为零继续下一位比较
004013F0   .  47            INC EDI  //edi加一准备比较下一位.
004013F1   .^ EB CC         JMP SHORT c.004013BF //回跳比较下一位.
004013F3   >  85DB          TEST EBX,EBX
004013F5   .  74 18         JE SHORT c.0040140F
004013F7   .  6A 00         PUSH 0
004013F9   .  68 F8B04200   PUSH c.0042B0F8                          ;  OK
004013FE   .  68 E0B04200   PUSH c.0042B0E0                          ;  恭喜! 你所填的即为KEY!
00401403   .  8BCE          MOV ECX,ESI
00401405   .  E8 787E0100   CALL c.00419282
0040140A   .  5F            POP EDI
0040140B   .  5E            POP ESI
0040140C   .  5B            POP EBX
0040140D   .  59            POP ECX
0040140E   .  C3            RETN
0040140F   >  6A 00         PUSH 0
00401411   .  68 D8B04200   PUSH c.0042B0D8                          ;  ERROR
00401416   .  68 CCB04200   PUSH c.0042B0CC                          ;  KEY不正确!
0040141B   .  8BCE          MOV ECX,ESI
0040141D   .  E8 607E0100   CALL c.00419282
00401422   .  5F            POP EDI
00401423   .  5E            POP ESI
00401424   .  5B            POP EBX
00401425   .  59            POP ECX
00401426   .  C3            RETN

=======================================================================



00401380  /$  8B4424 08     MOV EAX,DWORD PTR SS:[ESP+8]
00401384  |.  8A5424 04     MOV DL,BYTE PTR SS:[ESP+4]
00401388  |.  8A88 C0B04200 MOV CL,BYTE PTR DS:[EAX+42B0C0]
0040138E  |.  33C0          XOR EAX,EAX
00401390  |.  80F1 44       XOR CL,44
00401393  |.  FEC9          DEC CL
00401395  |.  3AD1          CMP DL,CL  //上面子程序关键之处.DL里保存的是一位输入的注册码,CL里保存的是一位真正的注册码.   
00401397  |.  0F94C0        SETE AL
0040139A  \.  C3            RETN

13_C.rar (172.47 KB)

TOP

00401380   .  56            PUSH ESI   //断点下在00401380
00401381   .  8BF1          MOV ESI,ECX
00401383   .  6A 01         PUSH 1
00401385   .  E8 E9850100   CALL 1.00419973
0040138A   .  8B46 5C       MOV EAX,DWORD PTR DS:[ESI+5C]    //读取输入值到eax寄存器
0040138D   .  68 04B14200   PUSH 1.0042B104                   //字符串EasyFindText!入栈      
00401392   .  50            PUSH EAX                           //   输入值入栈
00401393   .  E8 367F0000   CALL 1.004092CE                     //这个子程序调用应该是判断输入值是否与EasyFindText!相等.如果相等就返回到eax的值为0否则为1
00401398   .  83C4 08       ADD ESP,8                        
0040139B   .  85C0          TEST EAX,EAX                       //判断eax是否为零
0040139D   .  6A 00         PUSH 0
0040139F      75 13         JNZ SHORT 1.004013B4                //eax不为0这提示输入错误.
004013A1   .  68 FCB04200   PUSH 1.0042B0FC                        
004013A6   .  68 D4B04200   PUSH 1.0042B0D4

1.rar (197.44 KB)

TOP

返回列表