📜 ⬆️ ⬇️

Patching modern application for use under Windows 2000

If you think that Windows 2000 has died, this is far from the case, it works fine on the old hardware, even without security patches, but this is excusable on the home intranet. Outdated system on an outdated Pentium-4 what could be more beautiful? Yes, and nostalgic feelings often require returning to the old interface in order to feel yourself a decade and a half younger.

Of course, OS / 2 would have looked even better, but with it there are big problems with modern software. On Windows 2000, problems are also missing. For example, the utility for recovering deleted files refused to work. It indicates that the executable file is not a Win32 application. It works great on Windows 7.



Well, let's see what happened to the PE header of the exe-file. At first glance, nothing suspicious. But after a detailed analysis and comparison of documentation , it turns out that too large numbers in the parameters of OS Version 5.01 and Subsystem Version 5.01 are an insurmountable obstacle for running our file under Windows 2000.
')


Fix it on OS Version 1.00 and Subsystem Version 3.10, set the checksum to zero, patch the file.



After that, Windows 2000 starts to run the file, problems are solved.

In conclusion, I will give a byte comparison of the changes:

 Compare repair1.exe and REPAIR2.EXE
 00000138: 05 01
 0000013A: 01 00
 00000140: 05 03
 00000142: 01 0A
 00000150: F0 00
 00000151: 38 00
 00000152: 0D 00

Source: https://habr.com/ru/post/275341/


All Articles