Skip to content

Latest commit

 

History

History
34 lines (30 loc) · 2.13 KB

File metadata and controls

34 lines (30 loc) · 2.13 KB

Linked-library reference

include/link_libraries.hpp preserves the unique linker pragmas from the original source. Dynamic resolution itself needs only the normal Windows loader imports, but the broader original include/link surface was retained for compatibility.

The pragmas are disabled by default and require NTFORGE_LINK_LEGACY_LIBRARIES=ON. This keeps the resolver/test targets buildable without unrelated optional SDK import libraries. Enable the option only when added research code actually calls those statically imported APIs.

Library group Typical purpose
kernel32, advapi32, user32 Core process, security/registry/service, and UI APIs.
ntdll Native API import surface; this project normally resolves its exports dynamically.
bcrypt, ncrypt, crypt32, cryptnet, wintrust Cryptography, certificates, chain retrieval, and trust verification.
secur32 SSPI, LSA logon-session, and security-package APIs.
ws2_32, mswsock, dnsapi, iphlpapi Sockets, extensions, DNS, and network configuration.
rpcrt4 RPC runtime.
ole32, oleaut32, comsupp, comsuppw COM/OLE automation and compiler support wrappers.
taskschd Task Scheduler COM interfaces.
shell32, shlwapi Shell operations and helper routines.
psapi, dbghelp, pdh Process inspection, symbols/debugging, and performance counters.
wtsapi32, userenv Terminal Services sessions and user profiles/environments.
netapi32, mpr, rasapi32, rtutils Network management, providers, RAS, and routing utilities.
wbemuuid WMI COM interface identifiers.
virtdisk, setupapi, version Virtual disks, device installation, and version resources.
wlanapi, powrprof WLAN and power-management APIs.
activeds, adsiid Active Directory Service Interfaces.
credui, normaliz Credential UI and Unicode normalization.

Some libraries require optional Visual Studio/Windows SDK components. If the application never uses the associated static API surface, removing that pragma is a build-system cleanup decision, not a native resolver requirement.