Я добавлю способ исправить это из командной строки, который должен продолжать действовать в новых версиях.
Вам понадобится небольшой (2,12 МБ), хотя и универсальный бесплатный инструмент под названием sfk
(Swiss File Knife) от StahlWorks Technologies . Так или иначе, вам понадобится сторонний инструмент (HxD или любой другой), поскольку, AFAIK, у Windows нет собственного способа сделать это.
Вы должны найти шестнадцатеричную строку 54 6F 20 72 65 6C 65 61 73 65 20 69 6E 70 75 74 2C 20 70 72 65 73 73 20 25 73
(т.е. "To release input, press %s"
) и заменить ее на 00 6F 20 72 65 6C 65 61 73 65 20 69 6E 70 75 74 2C 20 70 72 65 73 73 20 25 73
(то же самое, за исключением начального нулевого символа).
Это printf
строка формата, оканчивающаяся байтом 0x00: если вы поставите \0
ее на первое место, строка обнулится, поэтому следующие нули будут лишними. Мы используем полную строку только для того, чтобы убедиться, что мы нацелены на нашу цель.
- Загрузите
sfk.exe
и поместите его в папку VMware (или любую другую в вашем %PATH%
).
- Откройте командную строку с повышенными правами и измените каталог на папку VMware.
- Рекомендуется сделать копию
vmware.exe
. Например:
copy vmware.exe vmware.exe.bak
- Выполните следующую команду:
sfk replace vmware.exe -binary /546F2072656C6561736520696E7075742C207072657373202573/006F2072656C6561736520696E7075742C207072657373202573/ -nosub -yes
(Вы можете проверить разницу с помощью fc /b vmware.exe.bak vmware.exe
.)
По сути это то же самое, что @ MaximePoulin's, но из командной строки и заменяет только один байт .
Конечно, вы можете сделать это вручную, но, если вы обновите или переустановите, размещение этих двух команд в командном файле сэкономит ваше время и почти наверняка позволит избежать ошибок.