| 
注册时间2005-6-29
阅读权限255
最后登录1970-1-1UID2198 副坛主   
 
 该用户从未签到 | 
 
| 之间简单分析过一次 有点问题 https://www.chinapyg.com/viewthread.php?tid=55639
 
 5楼西门二哥提供的汉化版 功能是OK的 简单分析了一下该版本的修改手法 有几个地方改的很妙 ~
 
 有兴趣的可以参考学习一下 再次感谢西门二哥提供的汉化版
 
 这份破解笔记修改的很详细 Good Job ~
 
 
 //  60天时间限制
 004225B1  |.  C1E9 1F       SHR ECX,1F
 004225B4      33D2          XOR EDX,EDX     //
 004225B6  |.  2BC2    SUB EAX,EDX
 004225B8  |.  78 05         JS SHORT Screen2S.004225BF
 004225BA  |.  83F8 3C       CMP EAX,3C
 004225BD      EB 02         JMP SHORT Screen2S.004225C1   //
 004225BF  |>  33C0          XOR EAX,EAX
 004225C1  |>  5F            POP EDI
 004225C2  |.  5E            POP ESI
 004225C3  |.  83C4 0C       ADD ESP,0C
 004225C6  \.  C3            RETN
 
 // PCID info
 00422472  |.  E8 59FFFFFF   CALL Screen2S.004223D0                   ; \Screen2S.004223D0
 00422477  |.  85C0          TEST EAX,EAX
 00422479      90            NOP                                        //
 0042247A      90            NOP
 
 //
 0041CD3A      33D2             XOR EDX,EDX                        ;  /////
 0041CD3C      2BC2             SUB EAX,EDX
 0041CD3E      0F88 16020000    JS Screen2S.0041CF5A               ;  负数则走
 0041CD44   .  83F8 3C          CMP EAX,3C                         ;  这里应该也是天数吧
 0041CD47   .  0F8F 0D020000    JG Screen2S.0041CF5A               ;  大于则走
 
 
 // 这里是处理录制时间的限制
 004122D3  |.  68 A0554B00      PUSH Screen2S.004B55A0                        ; |Arg2 = 004B55A0 ASCII "Base"
 004122D8  |.  68 C0514B00      PUSH Screen2S.004B51C0                        ; |Arg1 = 004B51C0 ASCII "Info"
 004122DD  |.  8BC8             MOV ECX,EAX                                   ; |
 004122DF  |.  E8 EC000100      CALL Screen2S.004223D0                        ; \Screen2S.004223D0
 004122E4  |.  B9 976B0000      MOV ECX,6B97
 004122E9  |.  2BC8             SUB ECX,EAX
 004122EB      B9 DC050000      MOV ECX,5DC                   //
 004122F0      90               NOP
 004122F1      EB 02            JMP SHORT Screen2S.004122F5
 
 
 //  这里是做什么的 没猜出来 一会调一下
 // 这里是解决 录制的 flash无法播放的问题
 0040FEF3  |.  E8 B2850700      CALL <JMP.&MFC42.#825>                        ; \free
 0040FEF8  |.  83C4 04          ADD ESP,4
 0040FEFB  |>  5F               POP EDI
 0040FEFC  |.  5E               POP ESI
 0040FEFD  |.  85ED             TEST EBP,EBP
 0040FEFF      EB 06            JMP SHORT Screen2S.0040FF07
 0040FF01      892D 68EC4B00    MOV DWORD PTR DS:[4BEC68],EBP
 
 
 // 向线程发消息的函数 干掉 发的是什么消息呢 ?
 0040F617  |.  E8 54540000      CALL Screen2S.00414A70
 0040F61C  |.  39AB 20010000    CMP DWORD PTR DS:[EBX+120],EBP
 0040F622      EB 15            JMP SHORT Screen2S.0040F639          //
 0040F624  |.  8B0D A8E74B00    MOV ECX,DWORD PTR DS:[4BE7A8]
 0040F62A  |.  55               PUSH EBP                             ; /lParam
 0040F62B  |.  6A 01            PUSH 1                               ; |wParam = 1
 0040F62D  |.  68 D2040000      PUSH 4D2                             ; |Message = MSG(4D2)  // 这个是自定义的什么消息呢 ~~
 0040F632  |.  51               PUSH ECX                             ; |ThreadId => 0
 0040F633  |.  FF15 ECC74800    CALL DWORD PTR DS:[<&USER32.PostThre>; \PostThreadMessageA
 0040F639  |>  5F               POP EDI
 
 // 干掉启动窗口
 0040A8BD     /E9 C4000000      JMP Screen2S.0040A986
 0040A8C2     |90               NOP
 0040A8C3     |90               NOP
 
 
 // 60天 ?
 00407E6E   .  B8 ABAAAA2A      MOV EAX,2AAAAAAB
 00407E73   .  F7EA             IMUL EDX
 00407E75   .  C1FA 02          SAR EDX,2
 00407E78   .  8BCA             MOV ECX,EDX
 00407E7A   .  B8 3C000000      MOV EAX,3C
 00407E7F   .  C1E9 1F          SHR ECX,1F
 00407E82      03D1             ADD EDX,ECX                                   ;  修改为:XOR EDX,EDX
 
 //  干掉NAG
 00404927     /E9 FF000000      JMP Screen2S.00404A2B
 0040492C     |90               NOP
 0040492D  |. |893D 9C514B00    MOV DWORD PTR DS:[4B519C],EDI
 00404933  |. |E8 423E0800      CALL <JMP.&MFC42.#1168>
 00404938  |. |8B70 04          MOV ESI,DWORD PTR DS:[EAX+4]
 0040493B  |. |6A 01            PUSH 1                                        ; /Arg3 = 00000001
 0040493D  |. |68 C8514B00      PUSH Screen2S.004B51C8                        ; |Arg2 = 004B51C8 ASCII "FirstTime"
 00404942  |. |68 C0514B00      PUSH Screen2S.004B51C0                        ; |Arg1 = 004B51C0 ASCII "Info"
 | 
 |