这几天用到一个软件,未注册版有100条的限制。根据About信息里提供的信息联系原作者,没有任何回应。无奈之下尝试自行 Crack 。现将过程摘录如下:
原则:
1、Crack 版本不外传
2、不涉及具体的软件名称
3、不对外承接 Crack 类工作
0041F260
之后,找到调用这一字符串的位置(共有三处):
 0040DBC0 PUSH XXXXXXXX.0041F260
0040DBC0 PUSH XXXXXXXX.0041F260 0040F317 PUSH XXXXXXXX.0041F260
0040F317 PUSH XXXXXXXX.0041F260 004101B7 PUSH XXXXXXXX.0041F260
004101B7 PUSH XXXXXXXX.0041F260之后分别对三处代码进行观察,发现基本的过程极为相似:
 0040DBAE    MOV    ECX, XXXXXXXX.0047B290
0040DBAE    MOV    ECX, XXXXXXXX.0047B290 0040DBB3    CALL    XXXXXXXX.0040ACD0
0040DBB3    CALL    XXXXXXXX.0040ACD0 0040DBB8    TEST    EAX, EAX
0040DBB8    TEST    EAX, EAX 0040DBBA    JE    SHORT XXXXXXXX.0040DBD6
0040DBBA    JE    SHORT XXXXXXXX.0040DBD6 ; 估计 0040DBD6 是正常处理的部分,代码很长,很复杂。
; 估计 0040DBD6 是正常处理的部分,代码很长,很复杂。 0040DBBC    PUSH    0
0040DBBC    PUSH    0 0040DBBE    PUSH    0
0040DBBE    PUSH    0 0040DBC0    PUSH    XXXXXXXX.0041F260
0040DBC0    PUSH    XXXXXXXX.0041F260 0040DBC5    CALL    <jmp.&MFC42.#1200>
0040DBC5    CALL    <jmp.&MFC42.#1200> ; 0040F317 :
; 0040F317 : 0040F2FE      mov     edx,dword ptr ds:[edi+7A]
0040F2FE      mov     edx,dword ptr ds:[edi+7A] 0040F301      mov     ecx,XXXXXXXX.0047B290
0040F301      mov     ecx,XXXXXXXX.0047B290 0040F306      inc     edx
0040F306      inc     edx 0040F307      mov     dword ptr ds:[edi+7A],edx
0040F307      mov     dword ptr ds:[edi+7A],edx 0040F30A      call    XXXXXXXX.0040ACD0
0040F30A      call    XXXXXXXX.0040ACD0 0040F30F      test    eax,eax
0040F30F      test    eax,eax 0040F311      je      short XXXXXXXX.0040F32D
0040F311      je      short XXXXXXXX.0040F32D 0040F313      push    0
0040F313      push    0 0040F315      push    0
0040F315      push    0 0040F317      push    XXXXXXXX.0041F260
0040F317      push    XXXXXXXX.0041F260 0040F31C      call    <jmp.&MFC42.#1200>
0040F31C      call    <jmp.&MFC42.#1200>
 ; 004101B7 :
; 004101B7 : 0041019E      mov     edx,dword ptr ds:[edi+7A]
0041019E      mov     edx,dword ptr ds:[edi+7A] 004101A1      mov     ecx,XXXXXXXX.0047B290
004101A1      mov     ecx,XXXXXXXX.0047B290 004101A6      inc     edx
004101A6      inc     edx 004101A7      mov     dword ptr ds:[edi+7A],edx
004101A7      mov     dword ptr ds:[edi+7A],edx 004101AA      call    XXXXXXXX.0040ACD0
004101AA      call    XXXXXXXX.0040ACD0 004101AF      test    eax,eax
004101AF      test    eax,eax 004101B1      je      short XXXXXXXX.004101CD
004101B1      je      short XXXXXXXX.004101CD 004101B3      push    0
004101B3      push    0 004101B5      push    0
004101B5      push    0 004101B7      push    XXXXXXXX.0041F260
004101B7      push    XXXXXXXX.0041F260 004101BC      call    <jmp.&MFC42.#1200>
004101BC      call    <jmp.&MFC42.#1200>由于整个过程很简单,JE之前只涉及到一个 CALL XXXXXXXX.0040ACD0,因此观察这处代码:
 0040ACD0    MOV    EAX,    DWORD PTR DS:[ECX+1E4]
0040ACD0    MOV    EAX,    DWORD PTR DS:[ECX+1E4] 0040ACD6    XOR    EAX, EAX
0040ACD6    XOR    EAX, EAX 0040ACD8    CMP    EDX, 64H
0040ACD8    CMP    EDX, 64H 0040ACDB    SETGE    AL
0040ACDB    SETGE    AL 0040ACD8    RETN
0040ACD8    RETN将 0040ACDB 这里的 SETGE 语句改为 NOP ,Crack 完成。
 
                    
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号