Fix Windows 7 support (#19)

This change pays off technical debt with the function -> DLL mappings in
libc/nt/master.sh, which was originally defined based on binary analysis
on Windows 10. It's now been updated so the kernel32/kernelbase/advapi32
imports should be exactly as they are written, on the MSDN documentation
and that wouldn't have been easy without Geoff Chappell's work thank him

https://www.geoffchappell.com/studies/windows/win32/index.htm
This commit is contained in:
Justine Tunney 2020-12-28 13:47:19 -08:00
parent 12065100e1
commit 0e85b136ae
1665 changed files with 13129 additions and 2637 deletions

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheck,AccessCheck,0
.text.windows
AccessCheck:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_AccessCheck(%rip),%rax
jmp __sysv2nt8
.endfn AccessCheck,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckAndAuditAlarmW,AccessCheckAndAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckByType,AccessCheckByType,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckByTypeAndAuditAlarmW,AccessCheckByTypeAndAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckByTypeResultList,AccessCheckByTypeResultList,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckByTypeResultListAndAuditAlarmByHandleW,AccessCheckByTypeResultListAndAuditAlarmByHandleW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AccessCheckByTypeResultListAndAuditAlarmW,AccessCheckByTypeResultListAndAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessAllowedAce,AddAccessAllowedAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessAllowedAceEx,AddAccessAllowedAceEx,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessAllowedObjectAce,AddAccessAllowedObjectAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessDeniedAce,AddAccessDeniedAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessDeniedAceEx,AddAccessDeniedAceEx,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAccessDeniedObjectAce,AddAccessDeniedObjectAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAce,AddAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAuditAccessAce,AddAuditAccessAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAuditAccessAceEx,AddAuditAccessAceEx,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddAuditAccessObjectAce,AddAuditAccessObjectAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AddMandatoryAce,AddMandatoryAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AdjustTokenGroups,AdjustTokenGroups,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AdjustTokenPrivileges,AdjustTokenPrivileges,0
.text.windows
AdjustTokenPrivileges:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_AdjustTokenPrivileges(%rip),%rax
jmp __sysv2nt6
.endfn AdjustTokenPrivileges,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AllocateAndInitializeSid,AllocateAndInitializeSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AllocateLocallyUniqueId,AllocateLocallyUniqueId,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AreAllAccessesGranted,AreAllAccessesGranted,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_AreAnyAccessesGranted,AreAnyAccessesGranted,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CheckTokenMembership,CheckTokenMembership,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ConvertToAutoInheritPrivateObjectSecurity,ConvertToAutoInheritPrivateObjectSecurity,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CopySid,CopySid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreatePrivateObjectSecurity,CreatePrivateObjectSecurity,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreatePrivateObjectSecurityEx,CreatePrivateObjectSecurityEx,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreatePrivateObjectSecurityWithMultipleInheritance,CreatePrivateObjectSecurityWithMultipleInheritance,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreateProcessAsUserA,CreateProcessAsUserA,0
.text.windows
CreateProcessAsUserA:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_CreateProcessAsUserA(%rip),%rax
jmp __sysv2nt12
.endfn CreateProcessAsUserA,globl
.previous

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreateProcessAsUserW,CreateProcessAsUserW,0
.text.windows
CreateProcessAsUser:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_CreateProcessAsUserW(%rip),%rax
jmp __sysv2nt12
.endfn CreateProcessAsUser,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreateRestrictedToken,CreateRestrictedToken,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_CreateWellKnownSid,CreateWellKnownSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_DeleteAce,DeleteAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_DestroyPrivateObjectSecurity,DestroyPrivateObjectSecurity,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_DuplicateToken,DuplicateToken,0
.text.windows
DuplicateToken:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_DuplicateToken(%rip),%rax
jmp __sysv2nt
.endfn DuplicateToken,globl
.previous

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_DuplicateTokenEx,DuplicateTokenEx,0
.text.windows
DuplicateTokenEx:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_DuplicateTokenEx(%rip),%rax
jmp __sysv2nt6
.endfn DuplicateTokenEx,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_EqualDomainSid,EqualDomainSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_EqualPrefixSid,EqualPrefixSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_EqualSid,EqualSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_FindFirstFreeAce,FindFirstFreeAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_FreeSid,FreeSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetAce,GetAce,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetAclInformation,GetAclInformation,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetFileSecurityW,GetFileSecurityW,0
.text.windows
GetFileSecurity:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_GetFileSecurityW(%rip),%rax
jmp __sysv2nt6
.endfn GetFileSecurity,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetKernelObjectSecurity,GetKernelObjectSecurity,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetLengthSid,GetLengthSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetPrivateObjectSecurity,GetPrivateObjectSecurity,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorControl,GetSecurityDescriptorControl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorDacl,GetSecurityDescriptorDacl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorGroup,GetSecurityDescriptorGroup,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorLength,GetSecurityDescriptorLength,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorOwner,GetSecurityDescriptorOwner,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorRMControl,GetSecurityDescriptorRMControl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSecurityDescriptorSacl,GetSecurityDescriptorSacl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSidIdentifierAuthority,GetSidIdentifierAuthority,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSidLengthRequired,GetSidLengthRequired,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSidSubAuthority,GetSidSubAuthority,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetSidSubAuthorityCount,GetSidSubAuthorityCount,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetTokenInformation,GetTokenInformation,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_GetWindowsAccountDomainSid,GetWindowsAccountDomainSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ImpersonateAnonymousToken,ImpersonateAnonymousToken,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ImpersonateLoggedOnUser,ImpersonateLoggedOnUser,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ImpersonateNamedPipeClient,ImpersonateNamedPipeClient,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ImpersonateSelf,ImpersonateSelf,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_InitializeAcl,InitializeAcl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_InitializeSecurityDescriptor,InitializeSecurityDescriptor,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_InitializeSid,InitializeSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_IsTokenRestricted,IsTokenRestricted,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_IsValidAcl,IsValidAcl,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_IsValidSecurityDescriptor,IsValidSecurityDescriptor,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_IsValidSid,IsValidSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_IsWellKnownSid,IsWellKnownSid,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_MakeAbsoluteSD,MakeAbsoluteSD,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_MakeSelfRelativeSD,MakeSelfRelativeSD,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_MapGenericMask,MapGenericMask,0
.text.windows
MapGenericMask:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_MapGenericMask(%rip),%rax
jmp __sysv2nt
.endfn MapGenericMask,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ObjectCloseAuditAlarmW,ObjectCloseAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ObjectDeleteAuditAlarmW,ObjectDeleteAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ObjectOpenAuditAlarmW,ObjectOpenAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_ObjectPrivilegeAuditAlarmW,ObjectPrivilegeAuditAlarmW,0

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_OpenProcessToken,OpenProcessToken,0
.text.windows
OpenProcessToken:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_OpenProcessToken(%rip),%rax
jmp __sysv2nt
.endfn OpenProcessToken,globl
.previous

View file

@ -0,0 +1,12 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_OpenThreadToken,OpenThreadToken,0
.text.windows
OpenThreadToken:
push %rbp
mov %rsp,%rbp
.profilable
mov __imp_OpenThreadToken(%rip),%rax
jmp __sysv2nt
.endfn OpenThreadToken,globl
.previous

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfCreateInstance,PerfCreateInstance,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfDecrementULongCounterValue,PerfDecrementULongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfDecrementULongLongCounterValue,PerfDecrementULongLongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfDeleteInstance,PerfDeleteInstance,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfIncrementULongCounterValue,PerfIncrementULongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfIncrementULongLongCounterValue,PerfIncrementULongLongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfQueryInstance,PerfQueryInstance,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfSetCounterRefValue,PerfSetCounterRefValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfSetCounterSetInfo,PerfSetCounterSetInfo,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfSetULongCounterValue,PerfSetULongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfSetULongLongCounterValue,PerfSetULongLongCounterValue,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfStartProvider,PerfStartProvider,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfStartProviderEx,PerfStartProviderEx,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PerfStopProvider,PerfStopProvider,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PrivilegeCheck,PrivilegeCheck,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_PrivilegedServiceAuditAlarmW,PrivilegedServiceAuditAlarmW,0

View file

@ -0,0 +1,2 @@
.include "o/libc/nt/codegen.inc"
.imp advapi32,__imp_QuerySecurityAccessMask,QuerySecurityAccessMask,0

Some files were not shown because too many files have changed in this diff Show more