- UID
- 2198
注册时间2005-6-29
阅读权限255
最后登录1970-1-1
副坛主
该用户从未签到
|
之间简单分析过一次 有点问题
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" |
|