(no subject)

Oct 16, 2016 21:35

Посмотрел сегодня под winXP в отладчике на функцию WinExec (это такое legacy, еще со времен win16).

Увидел забавность - посимвольное сравнение имени "hypertrm.exe"

Решил загуглить, нагуглил http://blog.sigsegv.in/2010/07/winexec-intelligent-typo-handling.html

Apparently kernel32!WinExec has an unusual check for the string "hypertrm.exe\"" in lpCmdLine parameter and when matched, it attempts to execute "hypertrm.exe". A possible ridiculous fix for a typo in some legacy application? Even the kernel32.dll shipped with Vista has similar behavior.

Своими словами, это костыль для проверки попытки запуска "hypertrm.exe\" (т.е. последним символом идет "\", и разумеется это запустить нельзя), в этом случае оно запускает hypertrm без "\".
Previous post Next post
Up