https://bugs.winehq.org/show_bug.cgi?id=44530
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntoskrnl Summary|Every time I launch ANY |64-bit Sentinel HASP |wine application I get an |hardlock.sys kernel driver |error popup |tries to access to DR7 (not | |handled in ntoskrnl | |emulate_instruction) CC| |focht@gmx.net URL| |ftp://ftp.aladdin.com/pub/a | |laddin.de/hardlock/hldrv32. | |zip Keywords| |download, hardware, | |obfuscation, win64 Status|NEEDINFO |NEW Hardware|x86 |x86-64
--- Comment #3 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
It's essentially the 64-bit case of bug 35842 ("Sentinel HASP hardlock.sys kernel driver (bundled with Kompas-3D v14) tries to access to DR7 (not handled in ntoskrnl emulate_instruction)")
https://source.winehq.org/git/wine.git/commitdiff/bd6e1976b379527f3327fafe5e...
--- snip --- Unhandled exception: page fault in 64-bit code (0x000000000068b8c6). Register dump: rip:000000000068b8c6 rsp:000000000053df50 rbp:000000000053e120 eflags:00010206 ( R- -- I - -P- ) rax:0000000000000400 rbx:000000000068c91d rcx:000000000068b9de rdx:000000000068c135 rsi:000000000068c135 rdi:000000000068b9de r8:00000000000007e8 r9:000000000068b9de r10:000000000004cc00 r11:0000000000013478 r12:00000000000131b0 r13:0000000000000000 r14:0000000000013318 r15:000000000068b9de Stack dump: ... Backtrace: =>0 0x000000000068b8c6 in hardlock.sys (+0x4b8c6) (0x000000000053e120) 0x000000000068b8c6: movl %eax,%dr7 Modules: Module Address Debug info Name (26 modules) PE 640000- 68cc00 Export hardlock.sys ELF 7b400000- 7b812000 Deferred kernel32<elf> -PE 7b420000- 7b812000 \ kernel32 ELF 7bc00000- 7bd1a000 Deferred ntdll<elf> -PE 7bc20000- 7bd1a000 \ ntdll ELF 7c000000- 7c004000 Deferred <wine-loader> ELF 7ffbc6438000- 7ffbc6650000 Deferred hal<elf> -PE 7ffbc6440000- 7ffbc6650000 \ hal ELF 7ffbc6650000- 7ffbc68e7000 Deferred rpcrt4<elf> -PE 7ffbc6660000- 7ffbc68e7000 \ rpcrt4 ELF 7ffbc68e7000- 7ffbc6b3e000 Deferred ntoskrnl<elf> -PE 7ffbc6900000- 7ffbc6b3e000 \ ntoskrnl ... Threads: process tid prio (all id:s are in hex) ... 00000011 (D) C:\windows\system32\winedevice.exe 00000019 0 <== 00000017 0 00000016 0 00000012 0 --- snip ---
The instruction decoding is obviously the same.
--- snip --- 00000000006CB8C6 0F 23 F8 mov dr7,rax --- snip ---
The 64-bit variant of 'emulate_instruction' doesn't have the decoding of 0x23 + drX cases:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ntoskrnl.exe/instr.c#...
$ sha1sum hldrv32.zip 7186efb2b6b2db2d05a788c6ee49606eed85f717 hldrv32.zip
$ du -sh hldrv32.zip 4.9M hldrv32.zip
$ wine --version wine-3.1-316-g65989f2ace
Regards