[Bug 44817] New: Some software protection schemes need ntdll.NtSetLdtEntries implementation

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Mar 25 11:12:22 CDT 2018


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

            Bug ID: 44817
           Summary: Some software protection schemes need
                    ntdll.NtSetLdtEntries implementation
           Product: Wine
           Version: 3.4
          Hardware: x86-64
                OS: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ntdll
          Assignee: wine-bugs at winehq.org
          Reporter: focht at gmx.net
      Distribution: ---

Hello folks,

to track
https://github.com/wine-staging/wine-staging/tree/master/patches/ntdll-NtSetLdtEntries

The stub was added with bug 26268 ("Multiple applications need
ntdll.ZwSetLdtEntries stub (kwiksupport.me, Ragnarok Online patcher)").

Unfortunately there is no further information/details *which* copy-protection
scheme needs and actual implementation.
No applications/games are mentioned.

--- quote ---
1. Some copy protections call NtSetLdtEntries(0x000f) and then with 'retf'
instruction jump to that selector expecting that it works (the tests show that
NtSetLdtEntries(0x000f,0x001f) should succeed). In order to make this work a
limitation to set only selectors > LDT_FIRST_ENTRY (512) in
wine_ldt_set_entry()
was removed.

2. wine_ldt_set_entry() was made to always mark modified selector entries as
WINE_LDT_FLAGS_ALLOCATED, otherwise get_selector_entry() server call returns
entries without that flag set and
NtQueryInformationThread(ThreadDescriptorTableEntry)
fails.
--- quote ---

$ wine --version
wine-3.4

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