[Bug 44530] 64-bit Sentinel HASP hardlock.sys kernel driver tries to access to DR7 ( not handled in ntoskrnl emulate_instruction)

wine-bugs at winehq.org wine-bugs at winehq.org
Fri Feb 16 04:30:33 CST 2018


https://bugs.winehq.org/show_bug.cgi?id=44530

Anastasius Focht <focht at 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 at 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 at 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/bd6e1976b379527f3327fafe5e18805b180eb742

--- 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#l609

$ sha1sum hldrv32.zip 
7186efb2b6b2db2d05a788c6ee49606eed85f717  hldrv32.zip

$ du -sh hldrv32.zip 
4.9M    hldrv32.zip

$ wine --version
wine-3.1-316-g65989f2ace

Regards

-- 
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.



More information about the wine-bugs mailing list