[Bug 45665] New: 64-bit BattlEye 'BEDaisy' kernel service fails in driver entry point due to missing ' ntoskrnl.exe.MmCopyVirtualMemory'

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Aug 18 10:46:10 CDT 2018


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

            Bug ID: 45665
           Summary: 64-bit BattlEye 'BEDaisy' kernel service fails in
                    driver entry point due to missing
                    'ntoskrnl.exe.MmCopyVirtualMemory'
           Product: Wine
           Version: 3.14
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ntoskrnl
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

as it says. Only applies to 64-bit version of the driver.

Continuation of bug 45664

--- snip ---
$ pwd
/home/focht/.wine/drive_c/users/Public/Daybreak Game Company/Installed
Games/PlanetSide 2

$ WINEDEBUG=+seh,+relay,+ntoskrnl wine ./PlanetSide2_x64_BE.exe >>log.txt 2>&1
...
0049:Call ntoskrnl.exe.MmGetSystemRoutineAddress(0055dfb0) ret=14024a248
...
0049:Call KERNEL32.GetModuleHandleW(7f692f9758f0 L"ntoskrnl.exe")
ret=7f692f9678b4
0049:Ret  KERNEL32.GetModuleHandleW() retval=7f692f940000 ret=7f692f9678b4
0049:Call KERNEL32.GetProcAddress(7f692f940000,00027040 "MmCopyVirtualMemory")
ret=7f692f9678d2
0049:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=7f692f9678d2
0049:Call KERNEL32.GetModuleHandleW(7f692f975910 L"hal.dll") ret=7f692f9678f5
0049:Ret  KERNEL32.GetModuleHandleW() retval=00000000 ret=7f692f9678f5
...
0049:fixme:ntoskrnl:MmGetSystemRoutineAddress L"MmCopyVirtualMemory" not found
0049:Ret  ntoskrnl.exe.MmGetSystemRoutineAddress() retval=00000000
ret=14024a248
0049:Ret  driver init 0x140011000
(obj=0x26d60,str=L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\BEDaisy")
retval=c0000001 
--- snip ---

https://github.com/DarthTon/Blackbone/blob/master/src/BlackBoneDrv/Imports.h#L84

--- snip ---
NTKERNELAPI
NTSTATUS
NTAPI
MmCopyVirtualMemory(
    IN PEPROCESS FromProcess,
    IN PVOID FromAddress,
    IN PEPROCESS ToProcess,
    OUT PVOID ToAddress,
    IN SIZE_T BufferSize,
    IN KPROCESSOR_MODE PreviousMode,
    OUT PSIZE_T NumberOfBytesCopied 
);
--- snip ---

It's only imported, not called (yet). Adding stub line to .spec should be fine.
Although it wouldn't harm if a real stub is added that just dumps the parameter
and returns 'STATUS_NOT_IMPLEMENTED'.

$ sha1sum PS2_setup.exe 
a49fec77dfe38ba6b6871aa832a50b7b10d48692  PS2_setup.exe

$ du -sh PS2_setup.exe 
38M    PS2_setup.exe

$ wine --version
wine-3.14

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