《超級解霸2000 限時作廢試用版》的破解方法
作者:RATARICE[BCG]
目標:超級解霸2000 限時作廢試用版
關於它我就不多說什麼了。
工具:TRW2000 1.22、ULTRAEDIT-32
過程:
一、 大家都知道超級解霸5.5可以透過該登錄檔的RUNTIME項,使它多執行幾次,解霸2000也可以這樣做。但
那不是學破解的風格。所以我寫了它的破解方法。
二、 啟動TRW2000,動態跟蹤它,到下面:
015F:00414947 CALL `KERNEL32!WritePrivateProfileStringA`
比較你這次共用了幾次,
015F:0041494D CMP EBX,BYTE +1E ---------------------------->大於30就出錯
015F:00414950 JNG 00414974 -------------------------------->所以這裡要跳
015F:00414952 CALL 0040FCC0
015F:00414957 MOV ECX,[004287BC]
015F:0041495D MOV EAX,[004287B8]
015F:00414962 CMP ECX,EAX
015F:00414964 JZ 0041496D
015F:00414966 PUSH ECX
015F:00414967 CALL `KERNEL32!FreeLibrary`
015F:0041496D XOR EAX,EAX
015F:0041496F JMP 004150EF
015F:00414974 MOV EAX,[00428780]
015F:00414979 TEST EAX,EAX
015F:0041497B JZ 004149D6
015F:0041497D LEA EAX,[ESP+68]
015F:00414981 PUSH EAX
015F:00414982 CALL `KERNEL32!GetSystemTime`
015F:00414988 MOV ECX,[ESP+68]
015F:0041498C XOR EAX,EAX
015F:0041498E MOV AX,[ESP+6A]
015F:00414993 AND ECX,FFFF
015F:00414999 SHL ECX,04
015F:0041499C MOV EDX,[00428780]
015F:004149A2 OR ECX,EAX
015F:004149A4 XOR EAX,EAX
015F:004149A6 SHL ECX,08
015F:004149A9 MOV AX,[ESP+6E]
015F:004149AE OR ECX,EAX
015F:004149B0 CMP ECX,EDX
015F:004149B2 JNA 004149D6
015F:004149B4 CALL 0040FCC0
015F:004149B9 MOV ECX,[004287BC]
015F:004149BF MOV EAX,[004287B8]
015F:004149C4 CMP ECX,EAX
015F:004149C6 JZ 004149CF
015F:004149C8 PUSH ECX
015F:004149C9 CALL `KERNEL32!FreeLibrary`
015F:004149CF XOR EAX,EAX
015F:004149D1 JMP 004150EF
015F:004149D6 CALL 0040FD50 -------------------------------->進入
015F:004149DB TEST EAX,EAX --------------------------------->比較是否成功
015F:004149DD JNZ 00414A01 -------------------------------->成功就跳
015F:004149DF CALL 0040FCC0 -------------------------------->出錯資訊
進入CALL 0040FD50 程式碼如下:
015F:0040FD57 PUSH EBX
015F:0040FD58 PUSH ESI
015F:0040FD59 PUSH EAX
015F:0040FD5A PUSH DWORD 0002001F
015F:0040FD5F PUSH BYTE +00
015F:0040FD61 PUSH DWORD 00427FBC
015F:0040FD66 PUSH DWORD 80000002
015F:0040FD6B CALL `ADVAPI32!RegOpenKeyExA`
015F:0040FD71 TEST EAX,EAX
015F:0040FD73 JZ 0040FD99 ------------------------------>不要跳
015F:0040FD75 LEA EAX,[ESP+0C]
015F:0040FD79 PUSH EAX
015F:0040FD7A PUSH DWORD 00427FBC
015F:0040FD7F PUSH DWORD 80000002
015F:0040FD84 CALL `ADVAPI32!RegCreateKeyA`
015F:0040FD8A TEST EAX,EAX
015F:0040FD8C JZ 0040FD99 ------------------------------>不要跳
015F:0040FD8E MOV EAX,FFFFFFFF
015F:0040FD93 POP ESI
015F:0040FD94 POP EBX
015F:0040FD95 ADD ESP,BYTE +10
015F:0040FD98 RET
三、 關掉TRW2000和解霸2000,啟動ULTRAEDIT-32
找到 7E 22 E8 69 B3 FF FF 8B
^^ ^^---------------------->改為 EB 22
找到 74 24 8D 44 24 0C 50 68
^^ ^^---------------------->改為 90 90
找到 74 0B B8 FF FF FF FF 5E
^^ ^^---------------------->改為 90 90
0K!不論RUNTIME的值是幾,就算是零!也可以安然享用超級解霸2000帶來的快感了!