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@winehq.org Reporter: focht@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...
--- 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