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

ACProtect_122b_pro主程序脱壳笔记

更新时间:2008-4-18 0:08:04
责任编辑:池天
热 点:

006E57FA    8DB5 11184100   LEA     ESI, [EBP+411811]
006E5800    6A 00           PUSH    0
006E5802    56              PUSH    ESI
006E5803    56              PUSH    ESI
006E5804    6A 00           PUSH    0
006E5806    FF95 90B04100   CALL    [EBP+41B090]                     ; USER32.MessageBoxA
006E580C    E9 54010000     JMP     006E5965                         ; ACProtec.006E5965
006E5811    73 74           JNB     SHORT 006E5887                   ; ACProtec.006E5887
006E5813    6F              OUTS    DX, DWORD PTR ES:[EDI]           ; I/O command
006E5814    6C              INS     BYTE PTR ES:[EDI], DX            ; I/O command
006E5815    65:6E           OUTS    DX, BYTE PTR ES:[EDI]            ; I/O command
006E5817    206C69 63       AND     [ECX+EBP*2+63], CH
006E581B    65:6E           OUTS    DX, BYTE PTR ES:[EDI]            ; I/O command
006E581D    73 65           JNB     SHORT 006E5884                   ; ACProtec.006E5884
006E581F    90              NOP
006E5820    6A 10           PUSH    10
006E5822    8DB5 67DD4000   LEA     ESI, [EBP+40DD67]
006E5828    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5829    8DB5 F7DB4000   LEA     ESI, [EBP+40DBF7]
006E582F    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5830    8DB5 E7DB4000   LEA     ESI, [EBP+40DBE7]
006E5836    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5837    8DB5 87DC4000   LEA     ESI, [EBP+40DC87]
006E583D    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E583E    FF95 AFDA4000   CALL    [EBP+40DAAF]
//进入DLL里面.
006E5844    83C4 14         ADD     ESP, 14
006E5847    B9 10000000     MOV     ECX, 10
006E584C    8DB5 17DB4000   LEA     ESI, [EBP+40DB17]
006E5852    8DBD 67DD4000   LEA     EDI, [EBP+40DD67]
006E5858    AD              LODS    DWORD PTR [ESI]
006E5859    8B1F            MOV     EBX, [EDI]
006E585B    83C7 04         ADD     EDI, 4
006E585E    49              DEC     ECX
006E585F    74 4D           JE      SHORT 006E58AE                          ; ACProtec.006E58AE
006E5861    90              NOP
006E5862    90              NOP
006E5863    90              NOP
006E5864    90              NOP
006E5865    3BC3            CMP     EAX, EBX
006E5867    75 06           JNZ     SHORT 006E586F                          ; ACProtec.006E586F
//比较是否合法
006E5869    90              NOP
006E586A    90              NOP
006E586B    90              NOP
006E586C    90              NOP
006E586D  ^ EB E9           JMP     SHORT 006E5858                          ; ACProtec.006E5858
006E586F    8DB5 86184100   LEA     ESI, [EBP+411886]
006E5875    6A 00           PUSH    0
006E5877    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5878    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5879    6A 00           PUSH    0
006E587B    FF95 90B04100   CALL    [EBP+41B090]                            ; USER32.MessageBoxA
//不合法的话就弹出提示框!
006E5881    E9 DF000000     JMP     006E5965                                ; ACProtec.006E5965
006E5886    55              PUSH    EBP
006E5887    73 65           JNB     SHORT 006E58EE                          ; ACProtec.006E58EE
006E5889    72 20           JB      SHORT 006E58AB                          ; ACProtec.006E58AB
006E588B    6F              OUTS    DX, DWORD PTR ES:[EDI]                  ; I/O command
006E588C    72 20           JB      SHORT 006E58AE                          ; ACProtec.006E58AE
006E588E    4D              DEC     EBP
006E588F    61              POPAD
006E5890    6368 69         ARPL    [EAX+69], BP
006E5893    6E              OUTS    DX, BYTE PTR ES:[EDI]                   ; I/O command
006E5894    65:49           DEC     ECX                                     ; Superfluous prefix
006E5896    44              INC     ESP
006E5897    2069 6E         AND     [ECX+6E], CH
006E589A    206C69 63       AND     [ECX+EBP*2+63], CH
006E589E    65:6E           OUTS    DX, BYTE PTR ES:[EDI]                   ; I/O command
006E58A0    73 65           JNB     SHORT 006E5907                          ; ACProtec.006E5907
006E58A2    2066 69         AND     [ESI+69], AH
006E58A5    6C              INS     BYTE PTR ES:[EDI], DX                   ; I/O command
006E58A6    65:2065 72      AND     GS:[EBP+72], AH
006E58AA    72 6F           JB      SHORT 006E591B                          ; ACProtec.006E591B
006E58AC    72 00           JB      SHORT 006E58AE                          ; ACProtec.006E58AE
006E58AE    8B9D 87DD4000   MOV     EBX, [EBP+40DD87]
006E58B4    0BDB            OR      EBX, EBX
006E58B6    74 5B           JE      SHORT 006E5913                          ; ACProtec.006E5913
006E58B8    90              NOP
006E58B9    90              NOP
006E58BA    90              NOP
006E58BB    90              NOP
006E58BC    81FB 20202020   CMP     EBX, 20202020
006E58C2    74 4F           JE      SHORT 006E5913                          ; ACProtec.006E5913
006E58C4    90              NOP
006E58C5    90              NOP
006E58C6    90              NOP
006E58C7    90              NOP
006E58C8    53              PUSH    EBX
006E58C9    6A 00           PUSH    0
006E58CB    FF95 84B04100   CALL    [EBP+41B084]                            ; kernel32.GetModuleHandleA
006E58D1    8DB5 86D74000   LEA     ESI, [EBP+40D786]
006E58D7    60              PUSHAD
006E58D8    AD              LODS    DWORD PTR [ESI]
006E58D9    8BD8            MOV     EBX, EAX
006E58DB    AD              LODS    DWORD PTR [ESI]
006E58DC    3BC3            CMP     EAX, EBX
006E58DE    74 0A           JE      SHORT 006E58EA                          ; ACProtec.006E58EA
006E58E0    90              NOP
006E58E1    90              NOP
006E58E2    90              NOP
006E58E3    90              NOP
006E58E4    61              POPAD
006E58E5    EB 09           JMP     SHORT 006E58F0                          ; ACProtec.006E58F0
006E58E7    90              NOP
006E58E8    90              NOP
006E58E9    90              NOP
006E58EA    61              POPAD
006E58EB    EB 17           JMP     SHORT 006E5904                          ; ACProtec.006E5904
006E58ED    90              NOP
006E58EE    90              NOP
006E58EF    90              NOP
006E58F0    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E58F1    50              PUSH    EAX
006E58F2    FF95 80B04100   CALL    [EBP+41B080]                            ; kernel32.GetProcAddress
006E58F8    8985 86D74000   MOV     [EBP+40D786], EAX
006E58FE    8985 8AD74000   MOV     [EBP+40D78A], EAX
006E5904    FF95 86D74000   CALL    [EBP+40D786]
006E590A    5B              POP     EBX                                     ; ACProtec.006E1C87
006E590B    3BD8            CMP     EBX, EAX
006E590D    75 56           JNZ     SHORT 006E5965                          ; ACProtec.006E5965
006E590F    90              NOP
006E5910    90              NOP
006E5911    90              NOP
006E5912    90              NOP
006E5913    6A 10           PUSH    10
006E5915    8DB5 67DD4000   LEA     ESI, [EBP+40DD67]
006E591B    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E591C    8DB5 F7DB4000   LEA     ESI, [EBP+40DBF7]
006E5922    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5923    8DB5 E7DB4000   LEA     ESI, [EBP+40DBE7]
006E5929    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E592A    8DB5 57DB4000   LEA     ESI, [EBP+40DB57]
006E5930    56              PUSH    ESI                                     ; ACProtec.006E1C87
006E5931    FF95 AFDA4000   CALL    [EBP+40DAAF]
006E5937    83C4 14         ADD     ESP, 14
006E593A    E8 63D4FFFF     CALL    006E2DA2                                ; ACProtec.006E2DA2
//这个CALL进去是干什么的没有搞懂
006E593F    C685 57DD4000 0>MOV     BYTE PTR [EBP+40DD57], 1
006E5946    8B8D F6AC4100   MOV     ECX, [EBP+41ACF6]
006E594C    8DB5 17DB4000   LEA     ESI, [EBP+40DB17]
006E5952    8BBD F2AC4100   MOV     EDI, [EBP+41ACF2]
006E5958    03BD 31DE4000   ADD     EDI, [EBP+40DE31]                       ; ACProtec.00400000
006E595E    F3:A4           REP     MOVS BYTE PTR ES:[EDI], BYTE PTR [ESI]
//转移KEY.dat里面的数据到004CCE04这个地址!
006E5960    EB 47           JMP     SHORT 006E59A9                          ; ACProtec.006E59A9
006E5962    90              NOP
006E5963    90              NOP
006E5964    90              NOP
006E5965    66:C785 17DB400>MOV     WORD PTR [EBP+40DB17], 0FF00
//未注册版的标志!
//爆破点!!!(经过测试,只能爆破掉加壳后不会出现"未注册"字样,其他需要注册才能用的功能用不了)
006E596E    8B9D 13DB4000   MOV     EBX, [EBP+40DB13]
006E5974    83C3 02         ADD     EBX, 2
006E5977    B9 FFFFFFFF     MOV     ECX, -1
006E597C    41              INC     ECX
006E597D    8B848D BBDA4000 MOV     EAX, [EBP+ECX*4+40DABB]
006E5984    0BC0            OR      EAX, EAX
006E5986    74 21           JE      SHORT 006E59A9                          ; ACProtec.006E59A9
006E5988    90              NOP
006E5989    90              NOP
006E598A    90              NOP
006E598B    90              NOP
006E598C    0385 31DE4000   ADD     EAX, [EBP+40DE31]                       ; ACProtec.00400000
006E5992    3BC3            CMP     EAX, EBX
006E5994  ^ 75 E6           JNZ     SHORT 006E597C                          ; ACProtec.006E597C
006E5996    83E8 02         SUB     EAX, 2
006E5999    8B8C8D E7DA4000 MOV     ECX, [EBP+ECX*4+40DAE7]
006E59A0    83C1 08         ADD     ECX, 8
006E59A3    C600 E9         MOV     BYTE PTR [EAX], 0E9
006E59A6    8948 01         MOV     [EAX+1], ECX
006E59A9    60              PUSHAD
.....
//返回006E5C83
****************************************************************************
//返回到006E5C83之后继续走一段小花.然后会到这里

006E5E69    E8 79D1FFFF     CALL    006E2FE7                                ; ACProtec.006E2FE7
006E5E6E    66:81BD 17DB400>CMP     WORD PTR [EBP+40DB17], 0FF00
//这里就是验证标志位了.把这里改成赋入值某某值就爆破了.
006E5E77    0F85 F1000000   JNZ     006E5F6E                                ; ACProtec.006E5F6E
006E5E7D    80BD D4E34000 C>CMP     BYTE PTR [EBP+40E3D4], 0CC
006E5E84    0F84 E4000000   JE      006E5F6E                                ; ACProtec.006E5F6E
006E5E8A    80BD D5E34000 C>CMP     BYTE PTR [EBP+40E3D5], 0CC
006E5E91    0F84 D7000000   JE      006E5F6E                                ; ACProtec.006E5F6E
006E5E97    80BD BB1E4100 0>CMP     BYTE PTR [EBP+411EBB], 0
006E5E9E    0F84 CA000000   JE      006E5F6E                                ; ACProtec.006E5F6E
006E5EA4    6A 00           PUSH    0
006E5EA6    E8 0B000000     CALL    006E5EB6                                ; ACProtec.006E5EB6
006E5EAB    4E              DEC     ESI
006E5EAC    6F              OUTS    DX, DWORD PTR ES:[EDI]                  ; I/O command
006E5EAD    204C69 63       AND     [ECX+EBP*2+63], CL
006E5EB1    65:6E           OUTS    DX, BYTE PTR ES:[EDI]                   ; I/O command
006E5EB3    73 65           JNB     SHORT 006E5F1A                          ; ACProtec.006E5F1A
006E5EB5    90              NOP
006E5EB6    E8 AB000000     CALL    006E5F66                                ; ACProtec.006E5F66
006E5EBB    006F 20         ADD     [EDI+20], CH
006E5EBE    4C              DEC     ESP
006E5EBF    6963 65 6E73652>IMUL    ESP, [EBX+65], 2065736E
006E5EC6    6F              OUTS    DX, DWORD PTR ES:[EDI]                  ; I/O command
006E5EC7    72 20           JB      SHORT 006E5EE9                          ; ACProtec.006E5EE9
006E5EC9    4C              DEC     ESP
006E5ECA    6963 65 6E73652>IMUL    ESP, [EBX+65], 2065736E
006E5ED1    6973 20 6E6F742>IMUL    ESI, [EBX+20], 20746F6E
006E5ED8    636F 72         ARPL    [EDI+72], BP
006E5EDB    72 65           JB      SHORT 006E5F42                          ; ACProtec.006E5F42
006E5EDD    637420 2C       ARPL    [EAX+2C], SI
006E5EE1    73 6F           JNB     SHORT 006E5F52                          ; ACProtec.006E5F52
006E5EE3    6D              INS     DWORD PTR ES:[EDI], DX                  ; I/O command
006E5EE4    65:2066 75      AND     GS:[ESI+75], AH
006E5EE8    6E              OUTS    DX, BYTE PTR ES:[EDI]                   ; I/O command
006E5EE9    637469 6F       ARPL    [ECX+EBP*2+6F], SI
006E5EED    6E              OUTS    DX, BYTE PTR ES:[EDI]                   ; I/O command
006E5EEE    2061 72         AND     [ECX+72], AH
006E5EF1    65:206E 6F      AND     GS:[ESI+6F], CH
006E5EF5    74 20           JE      SHORT 006E5F17                          ; ACProtec.006E5F17
006E5EF7    61              POPAD
006E5EF8    76 61           JBE     SHORT 006E5F5B                          ; ACProtec.006E5F5B
006E5EFA    696C61 62 6C652>IMUL    EBP, [ECX+62], 21656C
006E5F02    0000            ADD     [EAX], AL
006E5F04    0000            ADD     [EAX], AL
006E5F06    0000            ADD     [EAX], AL
.................
.............省略...
.................

上一页 1 2 3 4 下一页

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