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