56 lines
1.8 KiB
Plaintext
56 lines
1.8 KiB
Plaintext
Unprotect for Civilization
|
|
|
|
Tired of looking up protection codes for that expensive program you bought?
|
|
Well we can do something about that nasty protection scheme.
|
|
|
|
Use the Norton editor (or a similar hex editor) on the hard disk copy of
|
|
CIV.EXE (as always it is inadvisable to modify your original). Search for
|
|
the following bytes, move the cursor over a few bytes and change the 9A (a
|
|
far call) to a CB (a far return).
|
|
|
|
Original: 00 00 00 9A 56 06 at 40DFD for Version 1
|
|
Original: 00 00 00 9A 55 06 at 405FD for Version 3
|
|
Original: 00 00 00 9A 5B 06 at 405FD for Version 4
|
|
Original: 00 00 00 9A 5F 06 at 40DFD for Version 5á
|
|
|
|
|
|
Write the file out and you are done!
|
|
|
|
|
|
For reference this is a dump of the part of the program we are changing.
|
|
Note that we have to add 4000 to CS to get to the area of interest.
|
|
|
|
copy civ.exe civ.cmd
|
|
debug civ.cmd
|
|
|
|
-rcs
|
|
CS 0FC1
|
|
:4fc1
|
|
|
|
-uf00
|
|
|
|
4FC1:0F00 9A5606DE1D CALL 1DDE:0656 ;Change to RETF
|
|
4FC1:0F05 B80100 MOV AX,0001
|
|
4FC1:0F08 99 CWD
|
|
4FC1:0F09 52 PUSH DX
|
|
4FC1:0F0A 50 PUSH AX
|
|
4FC1:0F0B 0E PUSH CS
|
|
4FC1:0F0C E81D00 CALL 0F2C
|
|
4FC1:0F0F 83C404 ADD SP,+04
|
|
4FC1:0F12 0BC0 OR AX,AX
|
|
4FC1:0F14 750B JNZ 0F21
|
|
4FC1:0F16 2BC0 SUB AX,AX
|
|
4FC1:0F18 50 PUSH AX
|
|
4FC1:0F19 50 PUSH AX
|
|
4FC1:0F1A 0E PUSH CS
|
|
4FC1:0F1B E80E00 CALL 0F2C
|
|
4FC1:0F1E 83C404 ADD SP,+04
|
|
-q
|
|
|
|
If you have another version of the program besides 1,3,4 or 5á search for the
|
|
code after the far call which does not seem to change from version to version.
|
|
|
|
|
|
Courtesy of Bad Bob
|
|
|