S940
2011-01-22, 13:12:31
Hiho,
ich habe hier ein kurioses Problem. OS ist Win32 2008 Server und ich hab ne ATi Karte. Jetzt das Problem:
Server 2008 is not a supported OS by AMD.
http://forums.amd.com/game/messageview.cfm?catid=279&threadid=139666&enterthread=y
Bis Cat 10.7 konnte man den Grafiktreiber noch installieren, aber seit 10.8 geht nichts mehr.
Als Workaround gibts jetzt in den Foren diverse Tipps mit dem MS Debugger WinDbg. Im Cat. Treiber gibts OS Abfragen, die muss man per breakpoint abfangen und den Rückgabewert von 3 auf 1 ändern.
Soo .. .jetzt das 2. Problem, der Trick hier geht nur für Win64:
bp ntdll!RtlGetNtProductType "as /x ReturnValue rcx; gu; ed ReturnValue 1; g"
Für 32bit fand ich immerhin den Syntax hier:
set breakpoint using ‘bp ntdll!RtlGetNtProductType+0x1A’ in the command window.
Everytime this breakpoint is hit, modify the EAX CPU register (View -> Registers) to be 1 instead of 3
Das funktioniert auch, ich hab jetzt Cat 10.12 drauf, aber da sind ca. 40-50 Abfragen, die man da händisch klicken muss. Dazu hab ich beim nächsten Update definitiv keine Lust :freak:
Frage jetzt, kann man den obigen, automatischen 64bit Syntax auf 32bit umbiegen ?
Hab mal amateurhaft einfach das Rückgaberegister auf eax geändert:
bp ntdll!RtlGetNtProductType+0x1A "as /x ReturnValue eax;gu; ed ReturnValue 1; g"
oder
bp ntdll!RtlGetNtProductType "as /x ReturnValue eax;gu; ed ReturnValue 1; g"
oder auch
bp ntdll!RtlGetNtProductType " r eax=1 ; g"
probiert, aber da kommt aber nur Käse.
Falls sich jemand mit dem Debugger auskennt, und ne Lösung hat würde ich mich freuen :massa:
Danke
Alex
ich habe hier ein kurioses Problem. OS ist Win32 2008 Server und ich hab ne ATi Karte. Jetzt das Problem:
Server 2008 is not a supported OS by AMD.
http://forums.amd.com/game/messageview.cfm?catid=279&threadid=139666&enterthread=y
Bis Cat 10.7 konnte man den Grafiktreiber noch installieren, aber seit 10.8 geht nichts mehr.
Als Workaround gibts jetzt in den Foren diverse Tipps mit dem MS Debugger WinDbg. Im Cat. Treiber gibts OS Abfragen, die muss man per breakpoint abfangen und den Rückgabewert von 3 auf 1 ändern.
Soo .. .jetzt das 2. Problem, der Trick hier geht nur für Win64:
bp ntdll!RtlGetNtProductType "as /x ReturnValue rcx; gu; ed ReturnValue 1; g"
Für 32bit fand ich immerhin den Syntax hier:
set breakpoint using ‘bp ntdll!RtlGetNtProductType+0x1A’ in the command window.
Everytime this breakpoint is hit, modify the EAX CPU register (View -> Registers) to be 1 instead of 3
Das funktioniert auch, ich hab jetzt Cat 10.12 drauf, aber da sind ca. 40-50 Abfragen, die man da händisch klicken muss. Dazu hab ich beim nächsten Update definitiv keine Lust :freak:
Frage jetzt, kann man den obigen, automatischen 64bit Syntax auf 32bit umbiegen ?
Hab mal amateurhaft einfach das Rückgaberegister auf eax geändert:
bp ntdll!RtlGetNtProductType+0x1A "as /x ReturnValue eax;gu; ed ReturnValue 1; g"
oder
bp ntdll!RtlGetNtProductType "as /x ReturnValue eax;gu; ed ReturnValue 1; g"
oder auch
bp ntdll!RtlGetNtProductType " r eax=1 ; g"
probiert, aber da kommt aber nur Käse.
Falls sich jemand mit dem Debugger auskennt, und ne Lösung hat würde ich mich freuen :massa:
Danke
Alex