最新のMSYS32をWindows 2000で動かす実験 その2
最新のMSYS32をWindows 2000で動かす実験 その1
Microsoft、MSDNの技術情報からXP非対応などのパラメータの情報も削除する
対策してリベンジ
C:\msys32\usr\bin>dash 18 [main] dash 1636 C:\msys32\usr\bin\dash.exe: *** fatal error - couldn't dynamically determine load address for 'GetSystemTimePreciseAsFileTime' (handle 0x77E50000), Win32 error 127 Stack trace: Frame Function Args |
GetSystemTimePreciseAsFileTime は、Windows 8以降の関数。
嘘やろ・ω・!
lea eax,[ebx+30h] sub esp,00000004h mov [esp+08h],eax lea eax,[ebx+2Ch] mov [esp+04h],eax lea eax,[ebx+28h] mov [esp],eax call jmp_ntdll.dll!RtlGetNtVersionNumbers sub esp,0000000Ch cmp dword ptr [ebx+28h],00000006h jnz L6111E6C0 // Win XP/2000/2003/NT mov eax,[ebx+2Ch] cmp eax,00000001h jz L6111E710 // Win7 jc L6111E724 // Vista cmp eax,00000003h ja L6111E6C9 // Windows 10 mov dword ptr [ebx+0000016Ch],L612E01B0 mov ecx,L612E01B0 // Windows 8 L6111E630: : L6111E6C0: |
『Windows NT 6.x 以外の場合、Windows 10 として処理する』
|。・ω・) え…馬鹿なの?
試しに、dash を Vista 互換に設定
C:\msys32\usr\bin>dash Cygwin WARNING: Couldn't compute FAST_CWD pointer. This typically occurs if you're using an older Cygwin version on a newer Windows. Please update to the latest available Cygwin version from https://cygwin.com/. If the problem persists, please see https://cygwin.com/problems.html $ |
動いた!
要するに、Windows Vista や 7で XP互換モードにするとエラーで動作しないのに Windows 10だと動く謎現象が発生する
だが、全てのファイルを Vista 互換で起動するのは非現実的だ
パッチ当てた方がよさそう ・ω・
Comments