• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            我生如山

            [轉(zhuǎn)載]解剖XP最核心的dll——NTDLL.dll

            原文地址:2.利用GetProcAddress 獲取其函數(shù)入口地址
            3.利用得到的函數(shù)指針調(diào)用

            但是可以大致的分為幾類吧
            1 PropertyLengthAsVariant  它被排在了第一號(hào),但是我就是不明白它是做什么的
            2  Csr(configuration status register? Command and Status Register?)系列  
            CsrAllocateCaptureBuffer CsrAllocateMessagePointer CsrCaptureMessageBuffer CsrCaptureMessageMultiUnicodeStringsInPlace 
            CsrCaptureMessageString CsrCaptureTimeout CsrClientCallServer CsrClientConnectToServer CsrFreeCaptureBuffer 
            CsrGetProcessId CsrIdentifyAlertableThread CsrNewThread CsrProbeForRead CsrProbeForWrite CsrSetPriorityClass

            3 Dbg系列 調(diào)試函數(shù)
            DbgBreakPoint DbgPrint DbgPrintEx DbgPrintReturnControlC DbgPrompt DbgQueryDebugFilterState DbgSetDebugFilterState 
            DbgUiConnectToDbg DbgUiContinue DbgUiConvertStateChangeStructure DbgUiDebugActiveProcess DbgUiGetThreadDebugObject 
            DbgUiIssueRemoteBreakin DbgUiRemoteBreakin DbgUiSetThreadDebugObject DbgUiStopDebugging DbgUiWaitStateChange DbgUserBreakPoint

            4 ki系列
            KiRaiseUserExceptionDispatcher
            KiUserApcDispatcher
            KiUserCallbackDispatcher
            KiUserExceptionDispatcher

            5 Ldr系列  Loader APIs,共34個(gè)

            API
            NTDLL APIs
            LoadResource
            LdrAccessResource
            LdrAlternateResourcesEnabled
            DisableThreadLibraryCalls
            LdrDisableThreadCalloutsForDll
            LdrEnumResources
            LdrFindAppCompatVariableInfo
            LdrFindEntryForAddress
            EnumResourceTypesW
            LdrFindResourceDirectory_U
            FindResourceExA
            LdrFindResource_U
            LdrFlushAlternateResourceModules
            LdrGetAlternateResourceModuleHandle
            GetModuleHandleForUnicodeString
            LdrGetDllHandle
            GetProcAddress
            LdrGetProcedureAddress
            LdrInitializeThunk
            LoadLibraryEx (LOAD_LIBRARY_AS_DATAFILE)
            LdrLoadAlternateResourceModule
            LoadLibrary
            LdrLoadDll
            LdrProcessRelocationBlock
            LdrQueryApplicationCompatibilityGoo
            LdrQueryImageFileExecutionOptions
            LdrQueryProcessModuleInformation
            LdrRelocateImage
            ExitProcess
            LdrShutdownProcess
            ExitThread
            LdrShutdownThread
            LdrUnloadAlternateResourceModule
            FreeLibrary
            LdrUnloadDll
            LdrVerifyImageMatchesChecksum
            LdrVerifyMappedImageMatchesChecksum


            6 Nls(National Language Support)系列  代碼頁(yè)管理 
            NlsAnsiCodePage
            NlsMbCodePageTag
            NlsMbOemCodePageTag

            7 Nt系列 共285個(gè),大部分都是kernel32.dll,user32.dll等的核心實(shí)現(xiàn)

            NtCreateFile, NtOpenFile, NtClose, NtWaitForSingleObject 是kernel32.dll中許多用戶級(jí)代碼的核心實(shí)現(xiàn)。

            NTSTATUS NtClose( HANDLE  Handle);
            竟然是CloseHandle 的原身!唯一的缺點(diǎn)是該函數(shù)并沒(méi)有導(dǎo)出庫(kù),如果要調(diào)用,就必須使用GetProcAddress 來(lái)獲得其函數(shù)指針然后調(diào)用。

            NtCreateFile  可以說(shuō)是DDK的核心

            RtlUnwind initiates an unwind of procedure call frames 
            結(jié)構(gòu)化異常(Structured Exception Handling, SEH )的 核心。

            NTSTATUS NtWaitForSingleObject(  HANDLE Handle, BOOLEAN Alertable, PLARGE_INTEGER Timeout);
            Waits until the specified object attains a state of signaled
            我想,信號(hào)同步等,應(yīng)該與之有莫大的聯(lián)系吧

            8 pfx 不明白
            PfxFindPrefix
            PfxInitialize
            PfxInsertPrefix
            PfxRemovePrefix

            9 RestoreEm87Context SaveEm87Context

            10 rtl系列 共506個(gè)。我想,rtl應(yīng)該是runtime library的縮寫吧。一個(gè)很龐大的函數(shù)族,
            里面包含像 RtlCreateUserProcess 這樣的一些很基本的函數(shù),通常供內(nèi)核模式的driver等調(diào)用
            下面是一部分示例
            APIs Forwarded to NTDLL

            API
            Destination
            DeleteCriticalSection
            Forwarded to NTDLL.RtlDeleteCriticalSection
            EnterCriticalSection
            Forwarded to NTDLL.RtlEnterCriticalSection
            HeapAlloc
            Forwarded to NTDLL.RtlAllocateHeap
            HeapFree
            Forwarded to NTDLL.RtlFreeHeap
            HeapReAlloc
            Forwarded to NTDLL.RtlReAllocateHeap
            HeapSize
            Forwarded to NTDLL.RtlSizeHeap
            LeaveCriticalSection
            Forwarded to NTDLL.RtlLeaveCriticalSection
            RtlFillMemory
            Forwarded to NTDLL.RtlFillMemory
            RtlMoveMemory
            Forwarded to NTDLL.RtlMoveMemory
            RtlUnwind
            Forwarded to NTDLL.RtlUnwind
            RtlZeroMemory
            Forwarded to NTDLL.RtlZeroMemory
            SetCriticalSectionSpinCount
            Forwarded to NTDLL.RtlSetCriticalSection- SpinCount
            TryEnterCriticalSection
            Forwarded to NTDLL.RtlTryEnterCriticalSection
            VerSetConditionMask
            Forwarded to NTDLL.VerSetConditionMask

            11 VerSetConditionMask 用于確認(rèn)系統(tǒng)信息
            The VerSetConditionMask function sets the bits of a 64-bit value to indicate the comparison operator to use for a specified operating system version attribute. 
            This function is used to build the dwlConditionMask parameter of the VerifyVersionInfo function.

            12 Zw系列 共284個(gè)。前面已經(jīng)說(shuō)過(guò),為可執(zhí)行性系統(tǒng)服務(wù)提供內(nèi)核模式的入口, 為NTOSKRNL.EXE 提供實(shí)現(xiàn)。由于是內(nèi)核模式,所以在執(zhí)行的時(shí)候并不檢查用戶是否有執(zhí)行權(quán)限
            13 內(nèi)部函數(shù) 共116個(gè)。具體作用不明,很底層的東西。無(wú)法查到任何相關(guān)資料。無(wú)法得知與其相關(guān)的任何信息。
            _CIcos 
            _CIlog 
            _CIpow 
            _CIsin 
            _CIsqrt 
            __eCommonExceptions 
            __eEmulatorInit 
            __eF2XM1 
            __eFABS 
            __eFADD32 
            __eFADD64 
            __eFADDPreg 
            __eFADDreg 
            __eFADDtop 
            __eFCHS 
            __eFCOM 
            __eFCOM32 
            __eFCOM64 
            __eFCOMP 
            __eFCOMP32 
            __eFCOMP64 
            __eFCOMPP 
            __eFCOS 
            __eFDECSTP 
            __eFDIV32 
            __eFDIV64 
            __eFDIVPreg 
            __eFDIVR32 
            __eFDIVR64 
            __eFDIVRPreg 
            __eFDIVRreg 
            __eFDIVRtop 
            __eFDIVreg 
            __eFDIVtop 
            __eFFREE 
            __eFIADD16 
            __eFIADD32 
            __eFICOM16 
            __eFICOM32 
            __eFICOMP16 
            __eFICOMP32 
            __eFIDIV16 
            __eFIDIV32 
            __eFIDIVR16 
            __eFIDIVR32 
            __eFILD16 
            __eFILD32 
            __eFILD64 
            __eFIMUL16 
            __eFIMUL32 
            __eFINCSTP 
            __eFINIT 
            __eFIST16 
            __eFIST32 
            __eFISTP16 
            __eFISTP32 
            __eFISTP64 
            __eFISUB16 
            __eFISUB32 
            __eFISUBR16 
            __eFISUBR32 
            __eFLD1 
            __eFLD32 
            __eFLD64 
            __eFLD80 
            __eFLDCW 
            __eFLDENV 
            __eFLDL2E 
            __eFLDLN2 
            __eFLDPI 
            __eFLDZ 
            __eFMUL32 
            __eFMUL64 
            __eFMULPreg 
            __eFMULreg 
            __eFMULtop 
            __eFPATAN 
            __eFPREM 
            __eFPREM1 
            __eFPTAN 
            __eFRNDINT 
            __eFRSTOR 
            __eFSAVE __eFSCALE __eFSIN __eFSQRT __eFST __eFST32 __eFST64 __eFSTCW __eFSTENV __eFSTP __eFSTP32 __eFSTP64 __eFSTP80
             __eFSTSW __eFSUB32 __eFSUB64 __eFSUBPreg __eFSUBR32 __eFSUBR64 __eFSUBRPreg __eFSUBRreg __eFSUBRtop __eFSUBreg __eFSUBtop
             __eFTST __eFUCOM __eFUCOMP __eFUCOMPP __eFXAM __eFXCH __eFXTRACT __eFYL2X __eFYL2XP1 __eGetStatusWord 

            14 一些CRT的基本函數(shù) 共131個(gè) 主要是字符串管理,還有些基本的數(shù)學(xué)函數(shù)
            __isascii __iscsym __iscsymf __toascii _alldiv _alldvrm _allmul _alloca_probe _allrem _allshl _allshr _atoi64 _aulldiv _aulldvrm _aullrem _aullshr _chkstk _fltused 
            _ftol _i64toa _i64tow _itoa _itow _lfind _ltoa _ltow _memccpy _memicmp _snprintf _snwprintf _splitpath _strcmpi _stricmp _strlwr _strnicmp _strupr _tolower 
            _toupper _ui64toa _ui64tow _ultoa _ultow _vsnprintf _vsnwprintf _wcsicmp _wcslwr _wcsnicmp _wcsupr _wtoi _wtoi64 _wtol abs atan atoi atol bsearch ceil 
            cos fabs floor isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper iswalpha iswctype iswdigit iswlower iswspace iswxdigit isxdigit labs log 
            mbstowcs memchr memcmp memcpy memmove memset pow qsort sin sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk 
            strrchr strspn strstr strtol strtoul swprintf tan tolower toupper towlower towupper vDbgPrintEx vDbgPrintExWithPrefix vsprintf wcscat wcschr wcscmp wcscpy 
            wcscspn wcslen wcsncat wcsncmp wcsncpy wcspbrk wcsrchr wcsspn wcsstr wcstol wcstombs wcstoul

            posted on 2009-05-21 15:23 悟山 閱讀(1165) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            亚洲欧美日韩精品久久| 久久精品国产久精国产| 久久99久久99精品免视看动漫| 99久久香蕉国产线看观香| 7777久久久国产精品消防器材| 大伊人青草狠狠久久| 国产免费久久久久久无码| 国产A三级久久精品| 精品久久久久久久久久中文字幕 | 99久久无码一区人妻a黑| 久久国产视频网| 久久er热视频在这里精品| 久久这里都是精品| 99久久免费国产精品| 久久久久免费精品国产| 国产免费久久久久久无码| 狠狠色婷婷久久综合频道日韩| 伊人久久综在合线亚洲2019| 无码精品久久久天天影视 | AAA级久久久精品无码区| 色偷偷88888欧美精品久久久| 精品国产婷婷久久久| 99久久精品毛片免费播放| 久久国产精品无| 日本精品一区二区久久久| 久久成人国产精品二三区| 国产69精品久久久久久人妻精品| 久久精品免费网站网| 久久被窝电影亚洲爽爽爽| 国产精品国色综合久久| 色欲综合久久躁天天躁蜜桃| 久久精品视频一| 伊人 久久 精品| 伊人久久国产免费观看视频| 久久国产精品波多野结衣AV| 93精91精品国产综合久久香蕉| 久久综合欧美成人| 久久夜色tv网站| yellow中文字幕久久网| 曰曰摸天天摸人人看久久久| 亚洲一区二区三区日本久久九|