首页
社区
课程
招聘
无忧计算机等级考试模拟软件评分及分析读KEY盘分析[原创]
发表于: 2005-7-8 14:12 5179

无忧计算机等级考试模拟软件评分及分析读KEY盘分析[原创]

2005-7-8 14:12
5179
无忧计算机等级考试超级模拟软件

这个其实是DOS下的程序,就是以前的无忧DOS模拟盘,本来是破解过的,但破解的不完全。发了这个希望对正在用的同志有些帮助。
我试试考三级PC,学了下汇编,拿到证书后发现考这个干什么呢?不过自己学了些东西,还不算吃亏。

cho 0209 可做cho0209.dbf的选择题
fill 0209 可做tk0209.dbf的填空题

★1.)
19:09 2005-2-1
把ping.exe中的a:和b:改为c:即可
---------
三级PC上机评分程序PING.EXE 65,626BYTES 2002-11-18 16:28
此文件未解密,要读KEY盘,我哪里有?

总结:
2528:3DF1  E81F5A          CALL      9813 ;把这个CALL nop掉,就不会烦人了
2528:3DF4  59              POP       CX
2528:3DF5  59              POP       CX
--------------------------
拿出TR252,在BOCHS 2.1.1虚拟机里跟跟:
00003FF1: E81F5A                       call        000009A13  -----↓ (1)
00003FF4: 59                           pop         cx
00003FF5: 59                           pop         cx
00003FF6: 0BC0                         or          ax,ax
00003FF8: 7422                         je          00000401C  -----↓ (2)
00003FFA: 33C0                         xor         ax,ax
00003FFC: 50                           push        ax
00003FFD: B8FC0C                       mov         ax,00CFC ;"♀?"
00004000: 50                           push        ax
00004001: E80F5A                       call        000009A13  -----↓ (3)
;就是上面这个CALL,我是记住机器码,然后在HIEW中搜索的.
00004004: 59                           pop         cx
00004005: 59                           pop         cx
00004006: 0BC0                         or          ax,ax
00004008: 7412                         je          00000401C  -----↓ (4)
;上行改为EB12,就是JMP,OK!
0000400A: B80B0D                       mov         ax,00D0B ;"?♂"
0000400D: 50                           push        ax
0000400E: E80167                       call        00000A712  -----↓ (5)
00004011: 59                           pop         cx
00004012: E80D4D                       call        000008D22  -----↓ (6)
-------------
但是这样,软驱里无盘,还要读,我把软驱的电源线拔掉了,结果搜索软驱都半天,还以为死机了.
用tr发现3df1读盘.
AX=0CED  BX=FF6A  CX=0CBF  DX=000D  SP=FF0E  BP=FFD4  SI=FFDE  DI=1DBE
DS=3331  ES=3331  SS=3331  CS=2528  IP=3DF1  o d I s Z a P c t
2518:0000  CD 20 FF 9F 00 9A F0 FE-1D F0 0B 82 61 05 4B 01  ㄔ ??.ü≡■.≡.éa.K.
2518:0010  21 04 56 01 21 04 21 04-01 01 01 00 02 FF FF FF  !.V.!.!......???
2528:3DE4  0050E8          ADD       [BX+SI-18],DL
2528:3DE7  F7365933        DIV       [WORD 3359]
2528:3DEB  C050B8ED        RCL       [BYTE BX+SI-48],ED
2528:3DEF  0C50            OR        AL,50
2528:3DF1  E81F5A          CALL      9813 ;把这个CALL nop掉,就不会烦人了
2528:3DF4  59              POP       CX
2528:3DF5  59              POP       CX
2528:3DF6  0BC0            OR        AX,AX
2528:3DF8  7422            JE        3E1C
2528:3DFA  33C0            XOR       AX,AX
2528:3DFC  50              PUSH      AX
2528:3DFD  B8FC0C          MOV       AX,0CFC
2528:3E00  50              PUSH      AX
2528:3E01  E80F5A          CALL      9813
2528:3E04  59              POP       CX
2528:3E05  59              POP       CX
Super Program TRace V2.52, by Liu TaoTao. Nov 30 1998
This is a ShareWare,please register. '?' for Help
g 3df1
========
★2.)
11:09 2004-12-14
cho.exe 选择题程序,按F5评析时,仍会检查a盘,直接退出.
总结:
0000C6F4: 7530                         jne       00000C726;这里直接跳到c722,不读盘
0000C6F6: 6A00                         push        000
-------------
tr载入,按f10单步一直跟到CALL,然后进入再跟,好麻烦,终于到了.
g 13a两次

g 5827
g 5857 call
g 35bc 这个断点,tr载入,直接go 35bc,然后go,程序运行再按F5,就会断在35BC

5470:35bc        9a113bfc4c        call far 4cfc:3b11
    :35c1        83c406                add sp,06
    ;35c4        0bc0                or ax,ax
    :35c6        741a                je 35e2                        ;这里直接跳走即可
    :35c8        6a00                push 00
    :35ca        1e                push ds
    :35cb        688c4e                push 4e8c

-------
跟进4cfc:3b11
到:
4CFC:3B24        0E                PUSH CS
     3B25        E8C600                CALL 3BEE        ;这个call读盘,但有多处调用
     3B28        83C406                ADD SP,06
     3B2B        8BD0                MOV DX,AX
------
跟进4cfc:3b25        ;这个call有多次调用,运行程序打开文件时也会用到,不可在这里nop
到:
4cfc:3c00        c55606                lds dx,[bp+0006]
     3c03        cd21                int 21        ;get or set file attributes

;发现按F5会检查a盘或b盘的install.exe
--------------
关键代码5470:35bc附近的代码.
5470:3590  76FE            JBE       3590                                 
5470:3592  EB0E            JMP       35A2                                 
5470:3594  EB15            JMP       35AB                                 
5470:3596  837EFEFF        CMP       [WORD BP-02],-01                     
5470:359A  7504            JNE       35A0                                 
5470:359C  EBCD            JMP       356B                                 
5470:359E  EB0B            JMP       35AB                                 
5470:35A0  6A01            PUSH      01                                    
5470:35A2  90              NOP                                             
5470:35A3  0E              PUSH      CS                                    
5470:35A4  E86E14          CALL      4A15                                 
5470:35A7  59              POP       CX                                    
5470:35A8  E9010A          JMP       3FAC                                 
5470:35AB  E9FE09          JMP       3FAC                                 
5470:35AE  0E              PUSH      CS                                    
5470:35AF  E809DC          CALL      11BB     
...
5470:35B1  DC3C            FDIVR     [QWORD SI]                           
5470:35B3  017530          ADD       [DI+0030],SI                          
5470:35B6  6A00            PUSH      00                                    
5470:35B8  1E              PUSH      DS                                    
5470:35B9  687E4E          PUSH      4E7E                                 
5470:35BC  9A113BFC4C      CALL FAR  4CFC:3B11                             
5470:35C1  83C406          ADD       SP,06                                 
5470:35C4  0BC0            OR        AX,AX                                 
5470:35C6  741A            JE        35E2         ;这里jmp
5470:35C8  6A00            PUSH      00                                    
5470:35CA  1E              PUSH      DS                                    
5470:35CB  688C4E          PUSH      4E8C                                 
5470:35CE  9A113BFC4C      CALL FAR  4CFC:3B11                             
5470:35D3  83C406          ADD       SP,06                                 
5470:35D6  0BC0            OR        AX,AX                                 
5470:35D8  7408            JE        35E2   
5470:35DA  6A00            PUSH      00                                    
5470:35DC  9AB006FC4C      CALL FAR  4CFC:06B0                             
5470:35E1  59              POP       CX                                    
5470:35E2  0E              PUSH      CS                                    
5470:35E3  E808EF          CALL      24EE                                 
5470:35E6  E9C309          JMP       3FAC                                 
5470:35E9  0E              PUSH      CS                                    
5470:35EA  E8CEDB          CALL      11BB                                 
5470:35ED  0AC0            OR        AL,AL                                 
5470:35EF  7503            JNE       35F4                                 
5470:35F1  E9B809          JMP       3FAC                                 
5470:35F4  6A00            PUSH      00                                    
5470:35F6  1E              PUSH      DS                                    
5470:35F7  689A4E          PUSH      4E9A                                 
5470:35FA  9A113BFC4C      CALL FAR  4CFC:3B11                             
5470:35FF  83C406          ADD       SP,06                                 
5470:3602  0BC0            OR        AX,AX                                 
5470:3604  741A            JE        3620                                 
5470:3606  6A00            PUSH      00                                    
5470:3608  1E              PUSH      DS                                    
5470:3609  68A84E          PUSH      4EA8                                 
5470:360C  9A113BFC4C      CALL FAR  4CFC:3B11                             
5470:3611  83C406          ADD       SP,06                                 
5470:3614  0BC0            OR        AX,AX                                 
5470:3616  7408            JE        3620                                 
5470:3618  6A00            PUSH      00                                    
5470:361A  9AB006FC4C      CALL FAR  4CFC:06B0                             
--------
由于直接搜索5470:35C6处的代码找不到,所以,要搜索其附近的代码,这里搜索3590-3596的代码
在hiew搜到这里
0000C6E3: 0E                           push        cs
0000C6E4: E86E14                       call        00000DB55
0000C6E7: 59                           pop         cx
0000C6E8: E9010A                       jmp         00000D0EC
0000C6EB: E9FE09                       jmp         00000D0EC  -----↓ (1)
0000C6EE: 0E                           push        cs
0000C6EF: E809DC                       call        00000A2FB  -----↑ (2)
0000C6F2: 3C01                         cmp         al,001 ;"?"
0000C6F4: 7530                         jne       00000C726;这里直接跳到c722,不读盘
0000C6F6: 6A00                         push        000
0000C6F8: 1E                           push        ds
0000C6F9: 687E4E                       push        04E7E ;"N~"
0000C6FC: 9A113B0000                   call        00000:03B11  -----↑ (4)
0000C701: 83C406                       add         sp,006 ;"?"
0000C704: 0BC0                         or          ax,ax
0000C706: 741A                         je          00000C722        ;则就是那个关键跳转
0000C708: 6A00                         push        000
0000C70A: 1E                           push        ds
0000C70B: 688C4E                       push        04E8C ;"N?"
0000C70E: 9A113B0000                   call        00000:03B11  -----↑ (6)
0000C713: 83C406                       add         sp,006 ;"?"
0000C716: 0BC0                         or          ax,ax
0000C718: 7408                         je          00000C722  -----↓ (7)
0000C71A: 6A00                         push        000
0000C71C: 9AB0060000                   call        00000:006B0  -----↑ (8)

改后OK!
=================
★3.)
cho.exe
按f9评分检测软驱.

总结:
0000C72F: 7503                         jne       00000C734;这里直接跳到c760,不读盘
0000C731: E9B809                       jmp         00000D0EC  -----↓ (5)
0000C734: 6A00                         push        000
---------------
跟踪方法前几步跟上面一样,省了些功夫
g 13a两次
g 5827
g 5857 这个call读盘
进去,逐步跟到:
3C6A:35CA  1E              PUSH      DS                                    
3C6A:35CB  688C4E          PUSH      4E8C                                 
3C6A:35CE  9A113BF634      CALL FAR  34F6:3B11                             
3C6A:35D3  83C406          ADD       SP,06                                 
3C6A:35D6  0BC0            OR        AX,AX                                 
3C6A:35D8  7408            JE        35E2                                 
3C6A:35DA  6A00            PUSH      00                                    
3C6A:35DC  9AB006F634      CALL FAR  34F6:06B0                             
3C6A:35E1  59              POP       CX                                    
3C6A:35E2  0E              PUSH      CS                                    
3C6A:35E3  E808EF          CALL      24EE                                 
3C6A:35E6  E9C309          JMP       3FAC                                 
3C6A:35E9  0E              PUSH      CS                                    
3C6A:35EA  E8CEDB          CALL      11BB                                 
3C6A:35ED  0AC0            OR        AL,AL                                 
3C6A:35EF  7503            JNE       35F4                                   
3C70:35F1  E9B809          JMP       3FAC                                 
3C70:35F4  6A00            PUSH      00                                    
3C70:35F6  1E              PUSH      DS                                    
3C70:35F7  689A4E          PUSH      4E9A                                 
3C70:35FA  9A113BFC34      CALL FAR  34FC:3B11  ;这里读盘
3C70:35FF  83C406          ADD       SP,06                                 
3C70:3602  0BC0            OR        AX,AX                                 
3C70:3604  741A            JE        3620       ;跳走ok
3C70:3606  6A00            PUSH      00                                    
3C70:3608  1E              PUSH      DS                                    
3C70:3609  68A84E          PUSH      4EA8                                 
3C70:360C  9A113BFC34      CALL FAR  34FC:3B11                             
---------
直接找该call代码找不到,可能由于dos载入动态改变了远程调用地址,搜索其附近代码,找到:
0000C722: 0E                           push        cs
0000C723: E808EF                       call        00000B62E  -----↑ (1)
0000C726: E9C309                       jmp         00000D0EC  -----↓ (2)
0000C729: 0E                           push        cs
0000C72A: E8CEDB                       call        00000A2FB  -----↑ (3)
0000C72D: 0AC0                         or          al,al
0000C72F: 7503                         jne       00000C734;这里直接跳到c760,不读盘
0000C731: E9B809                       jmp         00000D0EC  -----↓ (5)
0000C734: 6A00                         push        000
0000C736: 1E                           push        ds
0000C737: 689A4E                       push        04E9A ;"Nü"
0000C73A: 9A113B0000                   call        00000:03B11;这就是读盘的call
0000C73F: 83C406                       add         sp,006 ;"?"
0000C742: 0BC0                         or          ax,ax
0000C744: 741A                         je          00000C760        ;这里跳走OK
0000C746: 6A00                         push        000
0000C748: 1E                           push        ds
0000C749: 68A84E                       push        04EA8 ;"N?"
0000C74C: 9A113B0000                   call        00000:03B11  -----↑ (8)
0000C751: 83C406                       add         sp,006 ;"?"
0000C754: 0BC0                         or          ax,ax
0000C756: 7408                         je          00000C760  -----↓ (9)
0000C758: 6A00                         push        000

★4.)
目的:ID每次都要输入准考证号:310199990001,烦!不想输,它有110套题,我还要输110多次!让它不输也可

以进入:

hiew修改:
0000FA61: 75BF                         jne         00000FA22  ;9090
0000FA63: 8BC7                         mov         ax,di
---
0000CF23: 7E0C                         jle         00000CF31  ;9090
0000CF25: 1E                           push        ds
======
详细跟踪过程:

tr2.52载入,go 13a,断下,在go 13a,到如下代码:

4D8D:012A  FF367100        PUSH      [WORD 0071]                        
4D8D:012E  FF366F00        PUSH      [WORD 006F]                        
4D8D:0132  FF366D00        PUSH      [WORD 006D]                        
4D8D:0136  FF366B00        PUSH      [WORD 006B]                        
4D8D:013A  9A24116357      CALL FAR  5763:1124        ;出现界面
4D8D:013F  50              PUSH      AX                                 
4D8D:0140  90              NOP                                          
4D8D:0141  0E              PUSH      CS                                 
4D8D:0142  E88A05          CALL      06CF                              
4D8D:0145  2E8E068402      MOV       ES,[CS:0284]                       
4D8D:014A  56              PUSH      SI                                 
4D8D:014B  57              PUSH      DI                                 
4D8D:014C  BEAC0A          MOV       SI,0AAC                           
4D8D:014F  BFC40A          MOV       DI,0AC4                           
4D8D:0152  E8CF00          CALL      0224                              
4D8D:0155  5F              POP       DI                                 
---
跟入:
5763:138E  3976F6          CMP       [BP-0A],SI
5763:1391  7D03            JGE       1396                              
5763:1393  E9F1FE          JMP       1287                              
5763:1396  0E              PUSH      CS                                 
5763:1397  E870ED          CALL      010A        ;出界面
5763:139A  1E              PUSH      DS                                 
5763:139B  68A603          PUSH      03A6                              
5763:139E  9A9C0D8D4D      CALL FAR  4D8D:0D9C                          
5763:13A3  83C404          ADD       SP,04                              
5763:13A6  1E              PUSH      DS                                 
5763:13A7  68B803          PUSH      03B8                              
5763:13AA  9A9C0D8D4D      CALL FAR  4D8D:0D9C                          
5763:13AF  83C404          ADD       SP,04                              
5763:13B2  807EF500        CMP       [BYTE BP-0B],00                    
5763:13B6  7505            JNE       13BD                              
5763:13B8  9AC32F8D4D      CALL FAR  4D8D:2FC3   
---
再跟入:
5763:13D9  9AEA1F545A      CALL FAR  5A54:1FEA                          
5763:13DE  83C406          ADD       SP,06                              
5763:13E1  C746F00000      MOV       [WORD BP-10],0000                  
5763:13E6  8A46F5          MOV       AL,[BP-0B]                        
5763:13E9  50              PUSH      AX                                 
5763:13EA  16              PUSH      SS                                 
5763:13EB  8D46F0          LEA       AX,[BP-10]                        
5763:13EE  50              PUSH      AX                                 
5763:13EF  16              PUSH      SS                                 
5763:13F0  8D46F8          LEA       AX,[BP-08]                        
5763:13F3  50              PUSH      AX                                 
5763:13F4  0E              PUSH      CS                                 
5763:13F5  E85FF7          CALL      0B57        ;再调用
5763:13F8  83C40A          ADD       SP,0A                              
5763:13FB  0BC0            OR        AX,AX                              
5763:13FD  7518            JNE       1417                              
---
5763:13D9  9AEA1F545A      CALL FAR  5A54:1FEA                             
5763:13DE  83C406          ADD       SP,06                                 
5763:13E1  C746F00000      MOV       [WORD BP-10],0000                     
5763:13E6  8A46F5          MOV       AL,[BP-0B]                           
5763:13E9  50              PUSH      AX                                    
5763:13EA  16              PUSH      SS                                    
5763:13EB  8D46F0          LEA       AX,[BP-10]                           
5763:13EE  50              PUSH      AX                                    
5763:13EF  16              PUSH      SS                                    
5763:13F0  8D46F8          LEA       AX,[BP-08]                           
5763:13F3  50              PUSH      AX                                    
5763:13F4  0E              PUSH      CS                                    
5763:13F5  E85FF7          CALL      0B57                                 
5763:13F8  83C40A          ADD       SP,0A                                 
5763:13FB  0BC0            OR        AX,AX                                 
5763:13FD  7518            JNE       1417                                 
5763:0B7A  9AC9061559      CALL FAR  5915:06C9                             
5763:0B7F  C6066E0000      MOV       [BYTE 006E],00                        
5763:0B84  C6065D0000      MOV       [BYTE 005D],00                        
5763:0B89  C606520000      MOV       [BYTE 0052],00                        
5763:0B8E  807E0E00        CMP       [BYTE BP+000E],00                     
5763:0B92  751F            JNE       0BB3                                 
5763:0B94  1E              PUSH      DS                                    
5763:0B95  686E00          PUSH      006E                                 
5763:0B98  6A1E            PUSH      1E                                    
5763:0B9A  6A0C            PUSH      0C                                    
5763:0B9C  68C800          PUSH      00C8                                 
5763:0B9F  68F000          PUSH      00F0                                 
5763:0BA2  9AA407545A      CALL FAR  5A54:07A4        ;输入准考证号的CALL
5763:0BA7  83C40C          ADD       SP,0C                                 
5763:0BAA  0BC0            OR        AX,AX                                 
5763:0BAC  7505            JNE       0BB3                                 
--
5A54:07B2  FF7610          PUSH      [WORD BP+0010]        ;循环开始
5A54:07B5  FF760E          PUSH      [WORD BP+000E]                        
5A54:07B8  FF760C          PUSH      [WORD BP+000C]                        
5A54:07BB  56              PUSH      SI                                    
5A54:07BC  FF7608          PUSH      [WORD BP+0008]                        
5A54:07BF  FF7606          PUSH      [WORD BP+0006]                        
5A54:07C2  90              NOP                                             
5A54:07C3  0E              PUSH      CS                                    
5A54:07C4  E83500          CALL      07FC                                 
5A54:07C7  83C40C          ADD       SP,0C                                 
5A54:07CA  8BF8            MOV       DI,AX                                 
5A54:07CC  FF7610          PUSH      [WORD BP+0010]                        
5A54:07CF  FF760E          PUSH      [WORD BP+000E]                        
5A54:07D2  0E              PUSH      CS                                    
5A54:07D3  E881FC          CALL      0457                                 
5A54:07D6  83C404          ADD       SP,04                                 
5A54:07D9  0BFF            OR        DI,DI                                 
5A54:07DB  7504            JNE       07E1                                 
5A54:07DD  33C0            XOR       AX,AX                                 
5A54:07DF  EB16            JMP       07F7                                 
5A54:07E1  FF7610          PUSH      [WORD BP+0010]                        
5A54:07E4  FF760E          PUSH      [WORD BP+000E]                        
5A54:07E7  9AC05B8D4D      CALL FAR  4D8D:5BC0                             
5A54:07EC  83C404          ADD       SP,04                                 
5A54:07EF  3BC6            CMP       AX,SI                                 
5A54:07F1  75BF            JNE       07B2;循环,这里判断是否输入了准考证号
;如果NOP那么,不输入准考证号,直接回车也可继续
5A54:07F3  8BC7            MOV       AX,DI                                 
5A54:07F5  EBE8            JMP       07DF                                 
5A54:07F7  1F              POP       DS                                    
5A54:07F8  5F              POP       DI                                    
5A54:07F9  5E              POP       SI                                    
5A54:07FA  5D              POP       BP                                    
---
575D:0B9C  68C800          PUSH      00C8                                 
575D:0B9F  68F000          PUSH      00F0                                 
575D:0BA2  9AA4074E5A      CALL FAR  5A4E:07A4                             
575D:0BA7  83C40C          ADD       SP,0C                                 
575D:0BAA  0BC0            OR        AX,AX                                 
575D:0BAC  7505            JNE       0BB3;如果按ESC,这里不会跳,直接退出
575D:0BAE  33C0            XOR       AX,AX                                 
575D:0BB0  E9B702          JMP       0E6A                                 
575D:0BB3  1E              PUSH      DS                                    
575D:0BB4  686E00          PUSH      006E                                 
575D:0BB7  9A57044E5A      CALL FAR  5A4E:0457                             
575
D:0BBC  83C404          ADD       SP,04                                 
575D:0BBF  807E0E00        CMP       [BYTE BP+000E],00                     
575D:0BC3  7E0C            JLE       0BD1        ;这里NOP可以抽题
575D:0BC5  1E              PUSH      DS                                    
575D:0BC6  686E00          PUSH      006E

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 214
活跃值: (86)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
嘻嘻~~~~是DOS的程序啊?
真的不会用DOS下的调试破解软件~~~
2005-7-8 14:16
0
游客
登录 | 注册 方可回帖
返回
//