Comments 13
Хм интересно, надо попробовать на другом софте.
Конкретные смещения бесполезны: смещение до PE заголовка может быть разным. Ну и нужно помнить об импортах, которых может тупо не быть на старой операционке.
Я бы вообще посоветовал в таком случае воспользоваться, к примеру — FileInsight, который позволяет определять свои структуры, и имеет парочку встроенных, например для PE-заголовков.
Примерно так (см. поле MajorOperatingSystemVersion):
Примерно так (см. поле MajorOperatingSystemVersion):
Скриншот

Не с каждой программой так получится. В Windows 7 немного другая структура взаимодействия DLL, или что-то в этом роде. Пробовал так перенести на XP игру в шахматы Chess Titans, не получилось.
Иной раз даже на XP нельзя перенести просто так, там могут использоваться функции WinAPI, которых нет в XP.
Более того, иной раз даже с Win 8 в Win 7 нельзя.
Более того, иной раз даже с Win 8 в Win 7 нельзя.
Безусловно, метод пройдёт не с любым приложением — помню как Doom 3 официально не работал на Win98 из-за того, что API изменилось, и данные раньше отдавались в байтах, а начиная с XP — в мегабайтах (или наоборот), но фанаты его патчили. Но ведь есть и приложение, где авторы просто перестраховались и «на всякий случай» выставили минимальную версию довольно высокой. Таким программам эти махинации помогут, что безусловно классно :-)
Утилита PE Tool позволяет сделать подмену версии из командной строки и бесплатно (ссылка открытым текстом из-за кармы): http://www.cantorsys.com/2017/03/Pet.html. Интересно будет получить отклик.
Sign up to leave a comment.
Патчим современное приложение для работы под Windows 2000