十二 发表于 2012-3-27 14:12:46

常用API 以及一些资料整合【不定时更新】

本帖最后由 十二 于 2012-4-16 10:23 编辑

DriverIoControl()         IRP_MJ_DEVICE_CONTROL
NtCreatePort()
NtCreateWaitablePort()
NtListenPort()
NtConnectPort()
NtAcceptConnectPort()
NtCompleteConnectPort()
NtRequestPort()
NtRequestWaiReplyPort()
NtReplyPort()
NtReplyWaitReceivePort()
NtReplyWaitReceivePortEx()
NtReadRequestData()
NtWriteRequestData()
NtQueryInformationPort()

美鵺赤月 发表于 2012-4-1 19:22:28

底层API啊

美鵺赤月 发表于 2012-4-1 19:25:02

NtAcceptConnectPort
NtAccessCheck
NtAccessCheckAndAuditAlarm
NtAccessCheckByType
NtAccessCheckByTypeAndAuditAlarm
NtAccessCheckByTypeResultList
NtAccessCheckByTypeResultListAndAuditAlarm
NtAccessCheckByTypeResultListAndAuditAlarmByHandle
NtAddAtom
NtAddBootEntry
NtAdjustGroupsToken
NtAdjustPrivilegesToken
NtAlertResumeThread
NtAlertThread
NtAllocateLocallyUniqueId
NtAllocateUserPhysicalPages
NtAllocateUuids
NtAllocateVirtualMemory
NtAreMappedFilesTheSame
NtAssignProcessToJobObject
NtCallbackReturn
NtCancelDeviceWakeupRequest
NtCancelIoFile
NtCancelTimer
NtClearEvent
NtClose
NtCloseObjectAuditAlarm
NtCompactKeys
NtCompareTokens
NtCompleteConnectPort
NtCompressKey
NtConnectPort
NtContinue
NtCreateDebugObject
NtCreateDirectoryObject
NtCreateEvent
NtCreateEventPair
NtCreateFile
NtCreateIoCompletion
NtCreateJobObject
NtCreateJobSet
NtCreateKey
NtCreateKeyedEvent
NtCreateMailslotFile
NtCreateMutant
NtCreateNamedPipeFile
NtCreatePagingFile
NtCreatePort
NtCreateProcess
NtCreateProcessEx
NtCreateProfile
NtCreateSection
NtCreateSemaphore
NtCreateSymbolicLinkObject
NtCreateThread
NtCreateTimer
NtCreateToken
NtCreateWaitablePort
NtCurrentTeb
NtDebugActiveProcess
NtDebugContinue
NtDelayExecution
NtDeleteAtom
NtDeleteBootEntry
NtDeleteFile
NtDeleteKey
NtDeleteObjectAuditAlarm
NtDeleteValueKey
NtDeviceIoControlFile
NtDisplayString
NtDuplicateObject
NtDuplicateToken
NtEnumerateBootEntries
NtEnumerateKey
NtEnumerateSystemEnvironmentValuesEx
NtEnumerateValueKey
NtExtendSection
NtFilterToken
NtFindAtom
NtFlushBuffersFile
NtFlushInstructionCache
NtFlushKey
NtFlushVirtualMemory
NtFlushWriteBuffer
NtFreeUserPhysicalPages
NtFreeVirtualMemory
NtFsControlFile
NtGetContextThread
NtGetDevicePowerState
NtGetPlugPlayEvent
NtGetWriteWatch
NtImpersonateAnonymousToken
NtImpersonateClientOfPort
NtImpersonateThread
NtInitializeRegistry
NtInitiatePowerAction
NtIsProcessInJob
NtIsSystemResumeAutomatic
NtListenPort
NtLoadDriver
NtLoadKey2
NtLoadKey
NtLockFile
NtLockProductActivationKeys
NtLockRegistryKey
NtLockVirtualMemory
NtMakePermanentObject
NtMakeTemporaryObject
NtMapUserPhysicalPages
NtMapUserPhysicalPagesScatter
NtMapViewOfSection
NtModifyBootEntry
NtNotifyChangeDirectoryFile
NtNotifyChangeKey
NtNotifyChangeMultipleKeys
NtOpenDirectoryObject
NtOpenEvent
NtOpenEventPair
NtOpenFile
NtOpenIoCompletion
NtOpenJobObject
NtOpenKey
NtOpenKeyedEvent
NtOpenMutant
NtOpenObjectAuditAlarm
NtOpenProcess
NtOpenProcessToken
NtOpenProcessTokenEx
NtOpenSection
NtOpenSemaphore
NtOpenSymbolicLinkObject
NtOpenThread
NtOpenThreadToken
NtOpenThreadTokenEx
NtOpenTimer
NtPlugPlayControl
NtPowerInformation
NtPrivilegeCheck
NtPrivilegeObjectAuditAlarm
NtPrivilegedServiceAuditAlarm
NtProtectVirtualMemory
NtPulseEvent
NtQueryAttributesFile
NtQueryBootEntryOrder
NtQueryBootOptions
NtQueryDebugFilterState
NtQueryDefaultLocale
NtQueryDefaultUILanguage
NtQueryDirectoryFile
NtQueryDirectoryObject
NtQueryEaFile
NtQueryEvent
NtQueryFullAttributesFile
NtQueryInformationAtom
NtQueryInformationFile
NtQueryInformationJobObject
NtQueryInformationPort
NtQueryInformationProcess
NtQueryInformationThread
NtQueryInformationToken
NtQueryInstallUILanguage
NtQueryIntervalProfile
NtQueryIoCompletion
NtQueryKey
NtQueryMultipleValueKey
NtQueryMutant
NtQueryObject
NtQueryOpenSubKeys
NtQueryPerformanceCounter
NtQueryPortInformationProcess
NtQueryQuotaInformationFile
NtQuerySection
NtQuerySecurityObject
NtQuerySemaphore
NtQuerySymbolicLinkObject
NtQuerySystemEnvironmentValue
NtQuerySystemEnvironmentValueEx
NtQuerySystemInformation
NtQuerySystemTime
NtQueryTimer
NtQueryTimerResolution
NtQueryValueKey
NtQueryVirtualMemory
NtQueryVolumeInformationFile
NtQueueApcThread
NtRaiseException
NtRaiseHardError
NtReadFile
NtReadFileScatter
NtReadRequestData
NtReadVirtualMemory
NtRegisterThreadTerminatePort
NtReleaseKeyedEvent
NtReleaseMutant
NtReleaseSemaphore
NtRemoveIoCompletion
NtRemoveProcessDebug
NtRenameKey
NtReplaceKey
NtReplyPort
NtReplyWaitReceivePort
NtReplyWaitReceivePortEx
NtReplyWaitReplyPort
NtRequestDeviceWakeup
NtRequestPort
NtRequestWaitReplyPort
NtRequestWakeupLatency
NtResetEvent
NtResetWriteWatch
NtRestoreKey
NtResumeProcess
NtResumeThread
NtSaveKey
NtSaveKeyEx
NtSaveMergedKeys
NtSecureConnectPort
NtSetBootEntryOrder
NtSetBootOptions
NtSetContextThread
NtSetDebugFilterState
NtSetDefaultHardErrorPort
NtSetDefaultLocale
NtSetDefaultUILanguage
NtSetEaFile
NtSetEvent
NtSetEventBoostPriority
NtSetHighEventPair
NtSetHighWaitLowEventPair
NtSetInformationDebugObject
NtSetInformationFile
NtSetInformationJobObject
NtSetInformationKey
NtSetInformationObject
NtSetInformationProcess
NtSetInformationThread
NtSetInformationToken
NtSetIntervalProfile
NtSetIoCompletion
NtSetLdtEntries
NtSetLowEventPair
NtSetLowWaitHighEventPair
NtSetQuotaInformationFile
NtSetSecurityObject
NtSetSystemEnvironmentValue
NtSetSystemEnvironmentValueEx
NtSetSystemInformation
NtSetSystemPowerState
NtSetSystemTime
NtSetThreadExecutionState
NtSetTimer
NtSetTimerResolution
NtSetUuidSeed
NtSetValueKey
NtSetVolumeInformationFile
NtShutdownSystem
NtSignalAndWaitForSingleObject
NtStartProfile
NtStopProfile
NtSuspendProcess
NtSuspendThread
NtSystemDebugControl
NtTerminateJobObject
NtTerminateProcess
NtTerminateThread
NtTestAlert
NtTraceEvent
NtTranslateFilePath
NtUnloadDriver
NtUnloadKey
NtUnloadKeyEx
NtUnlockFile
NtUnlockVirtualMemory
NtUnmapViewOfSection
NtVdmControl
NtWaitForDebugEvent
NtWaitForKeyedEvent
NtWaitForMultipleObjects
NtWaitForSingleObject
NtWaitHighEventPair
NtWaitLowEventPair
NtWriteFile
NtWriteFileGather
NtWriteRequestData
NtWriteVirtualMemory
NtYieldExecution

部分底层的

全部的

十二 发表于 2012-4-14 18:09:43

本帖最后由 十二 于 2012-4-16 10:32 编辑

PostThreadMessage
RegisterHotKey
UnregisterHotKeySetProcessWindowStation
OpenDesktop
OpenWindowStation
GetProcessWindowStation
EnumDesktopWindows
CloseDesktop
SwitchDeskop
SetThreadDesktop
GetThreadDesktop
GetDesktopWindow
OpenProcessToken
LookupPrivilegeValue
AdjustTokenPrivileges


特权信息
----------------------

特权名                                                            描述                     
===================================================================
SeCreateTokenPrivilege                           创建一个令牌对象         
SeAssignPrimaryTokenPrivilege            替换一个进程级令牌         
SeLockMemoryPrivilege                           锁定内存页               
SeIncreaseQuotaPrivilege                        为进程调整内存配额         
SeTcbPrivilege                                          以操作系统方式执行         
SeSecurityPrivilege                                 管理审核和安全日志         
SeTakeOwnershipPrivilege                      取得文件或其他对象的所有权
SeLoadDriverPrivilege                              加载和卸载设备驱动程序   
SeSystemProfilePrivilege                        配置文件系统性能         
SeSystemtimePrivilege                              更改系统时间               
SeProfileSingleProcessPrivilege               配置文件单个进程         
SeIncreaseBasePriorityPrivilege                提高计划优先级            
SeCreatePagefilePrivilege                         创建一个页面文件         
SeBackupPrivilege                                     备份文件和目录            
SeRestorePrivilege                                     还原文件和目录            
SeShutdownPrivilege                              关闭系统                  
SeDebugPrivilege                                    调试程序                  
SeSystemEnvironmentPrivilege                修改固件环境值            
SeChangeNotifyPrivilege                        绕过遍历检查               
SeRemoteShutdownPrivilege                   从远程系统强制关机         
SeUndockPrivilege                                    从扩展坞上取下计算机      
SeManageVolumePrivilege                      执行卷维护任务            
SeImpersonatePrivilege                            身份验证后模拟客户端      
SeCreateGlobalPrivilege                           创建全局对象               
SeIncreaseWorkingSetPrivilege               增加进程工作集            
SeTimeZonePrivilege                              更改时区                  
SeCreateSymbolicLinkPrivilege                创建符号链接               

十二 发表于 2012-4-17 12:08:18

本帖最后由 十二 于 2012-5-3 13:19 编辑

重定位相关 typedef struct _IMAGE_BASE_RELOCATION {
    DWORD   VirtualAddress;
    DWORD   SizeOfBlock;
} IMAGE_BASE_RELOCATION;(SizeOfBlock-4)/2块数    IMAGE_REL_BASED_ABSOLUTE (0) 使块按照32位对齐,位置为0。
    IMAGE_REL_BASED_HIGH (1) 高16位必须应用于偏移量所指高字16位。
    IMAGE_REL_BASED_LOW (2) 低16位必须应用于偏移量所指低字16位。
    IMAGE_REL_BASED_HIGHLOW (3) 全部32位应用于所有32位。.
    IMAGE_REL_BASED_HIGHADJ (4) 需要32位,高16位位于偏移量,低16位位于下一个偏移量数组元素,组合为一个带符号数,加上32位的一个数,然后加上8000然后把高16位保存在偏移量的16位域内。
    IMAGE_REL_BASED_MIPS_JMPADDR (5)      Unknown
    IMAGE_REL_BASED_SECTION (6)      Unknown
    IMAGE_REL_BASED_REL32 (7)      Unknown每块16bit后12bit为偏移前4bit为块属性偏移量+VirtualAddress为实际要重定位的RVA

GetThreadContext
SetThreadContext

十二 发表于 2012-5-8 19:33:10

NTSTATUS APIENTRY NtUserBuildHwndList(   
HDESK hDesktop,   
HWND hwndParent,   
BOOLEAN bChildren,   
ULONG dwThreadId,   
ULONG lParam,   
HWND* pWnd,   
ULONG* pBufSize);

(1)不能在System进程和smss进程中调用
(2)最后两个参数必须是ring3地址

十二 发表于 2012-6-8 17:03:20

Pipe 管道通信

ConnectNamedPipe
CreateNamedPipe
DisconnectNamedPipe
WaitNamedPipe

走路的人 发表于 2012-6-23 20:11:56

这个……
列API没啥用吧……
没有相关介绍的话,比不上MSDN啊……

十二 发表于 2012-6-24 09:18:38

走路的人 发表于 2012-6-23 20:11 static/image/common/back.gif
这个……
列API没啥用吧……
没有相关介绍的话,比不上MSDN啊……

有些函数并不公开,如1L的LPC相关函数NtUserBuildHwndList 等等

方便自己查找
页: [1]
查看完整版本: 常用API 以及一些资料整合【不定时更新】