安全中国首页 > 文章中心 > 脱壳技术
 
安全中国网友投稿专用上传FTP空间:
Ftp服务器:download.anqn.com
Ftp端口:21
用户名:anqn
密 码:anqn.com
 

ACProtect 1.21 之 Embedded 和 RSA Protect 探讨 (二)

更新时间:2008-4-16 0:22:37
责任编辑:流火
热 点:


008F9578    61              POPAD 
008F9579    C70424 901F4A00 MOV DWORD PTR SS:[ESP],XieXieMa.004A1F90           ; // PUSH 4A1F90, Stolen Code 5 
008F9580    64:A1 00000000  MOV EAX,DWORD PTR FS:[0]                           ; // Stolen Code 6 
008F9586    53              PUSH EBX 
008F9587    BB 588C8E00     MOV EBX,XieXieMa.008E8C58 
008F958C    893B            MOV DWORD PTR DS:[EBX],EDI 
008F958E    5B              POP EBX 
008F958F    FF35 588C8E00   PUSH DWORD PTR DS:[8E8C58]                         ; XieXieMa.005516A8 
008F9595    890424          MOV DWORD PTR SS:[ESP],EAX                         ; // PUSH EAX, Stolen code 7 
008F9598    8F05 7C8C8E00   POP DWORD PTR DS:[8E8C7C]                          ; // pop 
008F959E    90              NOP 
008F959F    90              NOP 
008F95A0    90              NOP 
008F95A1    60              PUSHAD 
008F95A2    E8 76FEFFFF     CALL XieXieMa.008F941D 
008F95A7    61              POPAD 
008F95A8    FF35 7C8C8E00   PUSH DWORD PTR DS:[8E8C7C]                         ; // push 
008F95AE    64:8925 0000000>MOV DWORD PTR FS:[0],ESP                           ; // Stolen code 8 
008F95B5    83EC 58         SUB ESP,58                                         ; // Stolen code 9 
008F95B8    51              PUSH ECX 
008F95B9    8F05 548C8E00   POP DWORD PTR DS:[8E8C54] 
008F95BF    FF35 548C8E00   PUSH DWORD PTR DS:[8E8C54] 
008F95C5    891C24          MOV DWORD PTR SS:[ESP],EBX 
008F95C8    8F05 788C8E00   POP DWORD PTR DS:[8E8C78]                          ; // EBX save in 8E8C78 
008F95CE    90              NOP 
008F95CF    90              NOP 
008F95D0    60              PUSHAD 
008F95D0    60              PUSHAD 
008F95D1    E8 06BCFFFF     CALL XieXieMa.008F51DC                             ; // F7 
008F95D6    6A 00           PUSH 0 
008F95D8    E8 0A000000     CALL XieXieMa.008F95E7                             ; // F7 


008F95E7    E8 25000000     CALL XieXieMa.008F9611                             ; // F9 

008F6829    CD 01                       INT 1                                  ; // 异常 
008F682B    40                          INC EAX                                ; // 下断, Shift+F9, 断在这, 取消断点 
008F682C    40                          INC EAX 
008F682D    0BC0                        OR EAX,EAX 
008F682F    75 05                       JNZ SHORT XieXieMa.008F6836 
008F6831    90                          NOP 
008F6832    90                          NOP 
008F6833    90                          NOP 
008F6834    90                          NOP 
008F6835    61                          POPAD 
008F6836    33C0                        XOR EAX,EAX 
008F6838    64:8F00                     POP DWORD PTR FS:[EAX] 
008F683B    58                          POP EAX 
008F683C    60                          PUSHAD 
008F683D    E8 00000000                 CALL XieXieMa.008F6842 
008F6842    5E                          POP ESI 
008F6843    83EE 06                     SUB ESI,6 
008F6846    B9 57000000                 MOV ECX,57 
008F684B    29CE                        SUB ESI,ECX 
008F684D    BA 25F57EDD                 MOV EDX,DD7EF525 
008F6852    C1E9 02                     SHR ECX,2 
008F6855    83E9 02                     SUB ECX,2 
008F6858    83F9 00                     CMP ECX,0 
008F685B    7C 1A                       JL SHORT XieXieMa.008F6877 
008F685D    8B048E                      MOV EAX,DWORD PTR DS:[ESI+ECX*4] 
008F6860    8B5C8E 04                   MOV EBX,DWORD PTR DS:[ESI+ECX*4+4] 
008F6864    33C3                        XOR EAX,EBX 
008F6866    C1C0 0D                     ROL EAX,0D 
008F6869    33C2                        XOR EAX,EDX 
008F686B    81C2 8E7E53EF               ADD EDX,EF537E8E 
008F6871    89048E                      MOV DWORD PTR DS:[ESI+ECX*4],EAX 
008F6874    49                          DEC ECX 
008F6875  ^ EB E1                       JMP SHORT XieXieMa.008F6858 
008F6877    61                          POPAD 
008F6878    61                          POPAD 
008F6879    C3                          RETN                                  ; // F4到这里, F7一下 

008F988A   /E9 02000000                 JMP XieXieMa.008F9891                 ; // F7走, 一直到008F98FB 



008F98FB  ^\0F85 68FFFFFF               JNZ XieXieMa.008F9869                 ; // 循环 
008F9901    50                          PUSH EAX                              ; // F4到这里, F7走, 中间三个CALL F8 跳过 
008F9902    E8 01000000                 CALL XieXieMa.008F9908 

008F9944    E8 83EBFFFF                 CALL XieXieMa.008F84CC                ; // F8 

008F99A1    E8 94CCFFFF                 CALL XieXieMa.008F663A   &nbs, p;            ; // F8 (就一个 RETN) 

008F99DF    E8 48C3FFFF                 CALL XieXieMa.008F5D2C                ; // F8 
008F99E4    F9                          STC 
008F99E5    D3D0                        RCL EAX,CL 
008F99E7    83EF 01                     SUB EDI,1 
008F99EA  ^ 0F85 78FFFFFF               JNZ XieXieMa.008F9968                 ; // 循环 
008F99F0    E8 01000000                 CALL XieXieMa.008F99F6                ; // F4到这里, F7走, 一直到008F9AEB 


008F9AEB  ^\0F85 5BFFFFFF               JNZ XieXieMa.008F9A4C                 ; // 循环 
008F9AF1    50                          PUSH EAX                              ; // F4到这里, F7走 


008F9BB3    E8 14E9FFFF                 CALL XieXieMa.008F84CC                ; // F8 
008F9BB8    87C6                        XCHG ESI,EAX 
008F9BBA    0F89 01000000               JNS XieXieMa.008F9BC1 
008F9BC0    46                          INC ESI 
008F9BC1    8955 00                     MOV DWORD PTR SS:[EBP],EDX 
008F9BC4    50                          PUSH EAX 
008F9BC5    E8 01000000                 CALL XieXieMa.008F9BCB 
008F9BCB    58                          POP EAX                                  
008F9BCC    58                          POP EAX 
008F9BCD    E8 F7DFFFFF                 CALL XieXieMa.008F7BC9                ; // 加载perplex.dll, 判断有无Key.dat, F8 
                                                                              ; // 如果没有, 显示 "No License" MessageBox 


008F9BFD  ^\0F85 67FFFFFF               JNZ XieXieMa.008F9B6A                 ; // 循环 
008F9C03    EB 01                       JMP SHORT XieXieMa.008F9C06           ; // F4 到这里, F9 


008F6A7B    90                          NOP                                   ; // 异常 
008F6A7C    64:67:8F06 0000             POP DWORD PTR FS:[0]                  ; // 断在这, Shift+F9, 断下,取消断点 
008F6A82    83C4 04                     ADD ESP,4 
008F6A85    60                          PUSHAD 
008F6A86    E8 00000000                 CALL XieXieMa.008F6A8B 
008F6A8B    5E                          POP ESI 
008F6A8C    83EE 06                     SUB ESI,6 
008F6A8F    B9 5B000000                 MOV ECX,5B 
008F6A94    29CE                        SUB ESI,ECX 
008F6A96    BA A4CAFB52                 MOV EDX,52FBCAA4 
008F6A9B    C1E9 02                     SHR ECX,2 
008F6A9E    83E9 02                     SUB ECX,2 
008F6AA1    83F9 00                     CMP ECX,0 
008F6AA4    7C 1A                       JL SHORT XieXieMa.008F6AC0 
008F6AA6    8B048E                      MOV EAX,DWORD PTR DS:[ESI+ECX*4] 
008F6AA9    8B5C8E 04                   MOV EBX,DWORD PTR DS:[ESI+ECX*4+4] 
008F6AAD    33C3                        XOR EAX,EBX 
008F6AAF    C1C0 1D                     ROL EAX,1D 
008F6AB2    33C2                        XOR EAX,EDX 
008F6AB4    81EA 0E1DB438               SUB EDX,38B41D0E 
008F6ABA    89048E                      MOV DWORD PTR DS:[ESI+ECX*4],EAX 
008F6ABD    49                          DEC ECX 
008F6ABE  ^ EB E1                       JMP SHORT XieXieMa.008F6AA1 
008F6AC0    61                          POPAD 
008F6AC1    61                          POPAD 
008F6AC2    C3                          RETN                                   ; // F4 到这里, F7 一下 

008FA8C0    FC                          CLD 
008FA8C1    3346 04                     XOR EAX,DWORD PTR DS:[ESI+4] 
008FA8C4    50                          PUSH EAX 

以后再 F4, F7, 下面都是循环出口, 也就是0F85 xxFFFFFF 下一句, 可下硬件执行断点 
这里有近百个循环, 好变态. (记住, 用 OD 搜索 FF FF FF, 就可以不用 F7) 
  
008F9C06 008FB61B 008FC09B 008FC9E6 008FD3DD 008FDDFB 008FE1FE 008FE6A1 008FE87C 008FF7B2 
00900E00 0090184D 009020EE 00902AA0 00903170 009040C8 00904EA0 009055EA 00905B4E 

00905B4E    61                          POPAD                                              ; // 下面将继续Stolen code 
00905B4F    FF35 788C8E00               PUSH DWORD PTR DS:[8E8C78]                         ; // PUSH EBX, Stolen code 10 
00905B55    8915 388C8E00               MOV DWORD PTR DS:[8E8C38],EDX 
00905B5B    FF35 388C8E00               PUSH DWORD PTR DS:[8E8C38] 
00905B61    891C24                      MOV DWORD PTR SS:[ESP],EBX                         ; // push ebx 
00905B64    56                          PUSH ESI 
00905B65    BE 708C8E00                 MOV ESI,XieXieMa.008E8C70 
00905B6A    8935 508C8E00               MOV DWORD PTR DS:[8E8C50],ESI 
00905B70    5E                          POP ESI 
00905B71    FF35 508C8E00               PUSH DWORD PTR DS:[8E8C50]                         ; // push 8E8C70 
00905B77    60                          PUSHAD 
00905B78    E8 5FF6FEFF                 CALL XieXieMa.008F51DC                             ; // EBP = 4E7000 
00905B7D    8B85 6EEC4100               MOV EAX,DWORD PTR SS:[EBP+41EC6E]                  ; // EAX = 9BF2D , 伪OEP 
00905B83    0385 26D04000               ADD EAX,DWORD PTR SS:[EBP+40D026]                  ; // EAX + 400000 
00905B89    8985 6EEC4100               MOV DWORD PTR SS:[EBP+41EC6E],EAX                  ; // Save in 905C6E 
00905B8F    61                          POPAD 
00905B90    5B                          POP EBX                                            ; // pop ebx 
00905B91    893B                        MOV DWORD PTR DS:[EBX],EDI 
00905B93    8F05 4C8C8E00               POP DWORD PTR DS:[8E8C4C]                          ; // pop 
00905B99    52                          PUSH EDX 
00905B9A    BA 4C8C8E00                 MOV EDX,XieXieMa.008E8C4C 
00905B9F    8B1A                        MOV EBX,DWORD PTR DS:[EDX] 
00905BA1    5A                          POP EDX 
00905BA2    FF35 708C8E00               PUSH DWORD PTR DS:[8E8C70]                         ; XieXieMa.005516A8 

上一页 1 2 3 下一页

 
相关文章
一日一文章
 
一日一软件
一日一动画