Я додам спосіб виправити це з командного рядка, який має продовжувати діяти в нових версіях.
Вам знадобиться крихітний (2,12 Мб), але універсальний безкоштовний інструмент sfk
(Швейцарський файловий ніж) від 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%
).
- Відкрийте командний рядок з підвищеним рівнем і змініть також dir на папку 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, але з командного рядка і замінює лише один байт .
Звичайно, ви можете це зробити вручну, але, якщо оновити або перевстановити, розміщення цих двох команд у пакетному файлі дозволить заощадити ваш час та уникнути помилок майже напевно.