• <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>

            elva

            利用NtUnmapViewOfSection強(qiáng)制卸載模塊

            確實(shí)可以卸載指定進(jìn)程指定位置的模塊,但有幾個(gè)問題:
            [1]  PEB的模塊列表中還存在該模塊的記錄,大部分模塊枚舉函數(shù)都是枚舉這個(gè)列表
            [2]  可能會(huì)出現(xiàn)訪問異常

            看來RING3下是不可能做到強(qiáng)制卸載模塊的完美實(shí)現(xiàn),要進(jìn)ring0才行。下面是測試代碼
            typedef ULONG (WINAPI *PFNNtUnmapViewOfSection)( IN HANDLE ProcessHandle,IN PVOID BaseAddress );

            BOOL UnmapViewOfModule ( DWORD dwProcessId, LPVOID lpBaseAddr )
            {
                HMODULE hModule 
            = GetModuleHandle ( L"ntdll.dll" ) ;
                
            if ( hModule == NULL )
                    hModule 
            = LoadLibrary ( L"ntdll.dll" ) ;

                PFNNtUnmapViewOfSection pfnNtUnmapViewOfSection 
            = (PFNNtUnmapViewOfSection)GetProcAddress ( hModule, "NtUnmapViewOfSection" ) ;
                
                HANDLE hProcess 
            = OpenProcess ( PROCESS_ALL_ACCESS, TRUE, dwProcessId ) ;
                ULONG    ret 
            = pfnNtUnmapViewOfSection ( hProcess, lpBaseAddr ) ;
                CloseHandle ( hProcess ) ;
                
            return ret ? false : true ;
            }

            posted on 2007-09-24 15:08 葉子 閱讀(4801) 評(píng)論(2)  編輯 收藏 引用 所屬分類: 技術(shù)研究

            Feedback

            # re: 利用NtUnmapViewOfSection強(qiáng)制卸載模塊 2009-09-05 03:05 mszjk

            這是ring0的代碼么?  回復(fù)  更多評(píng)論   

            # re: 利用NtUnmapViewOfSection強(qiáng)制卸載模塊 [未登錄] 2014-07-28 18:19 小學(xué)畢業(yè)生

            NtUnmapViewOfSection可以再Ring3下使用。
            我用VB做給你看
            Private Declare Function NtUnmapViewOfSection Lib "ntdll.dll" (ByVal ProcessHandle As Long ,ByVal BaseAddress As Long)As Long
            Private Declare Function OpenProcess Lib "kernel32" (ByVal dwDesiredAccess As Long ,ByVal bInheritHandle As Boolean, ByVal dwProcessId As Long)As Long
            Private Declare Function GetModuleHandleA Lib "kernel32" (ByVal lpModuleFileName As String) As Long
            Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
            Private Sub UnloadNtdll(ByVal PID As Long)
            Dim hProc As Long
            hProc = OpenProcess(&h8 Or &H400, False, PID)
            If hProc = 0 Then Exit Sub
            NtUnmapViewOfSection hProc, GetModuleHandleA("ntdll.dll")
            CloseHandle hProc
            End Sub  回復(fù)  更多評(píng)論   

            91久久九九无码成人网站| 久久综合给合久久狠狠狠97色| 久久精品国产久精国产果冻传媒 | 天天久久狠狠色综合| 91精品国产综合久久精品| 青青草国产精品久久| 热久久国产欧美一区二区精品| 亚洲国产成人乱码精品女人久久久不卡| 国产亚洲精品久久久久秋霞| 国产叼嘿久久精品久久| 久久亚洲精品成人av无码网站| 久久国产亚洲精品麻豆| 久久天天躁夜夜躁狠狠| 丰满少妇人妻久久久久久4| 久久久久久综合网天天| 久久93精品国产91久久综合| 久久久无码一区二区三区| 亚洲国产精品无码久久98| 久久久久久久久久久久久久| 久久久91精品国产一区二区三区| 亚洲色欲久久久综合网东京热| 久久精品18| 伊色综合久久之综合久久| 九九99精品久久久久久| 日日噜噜夜夜狠狠久久丁香五月| 色欲综合久久躁天天躁| 久久久精品日本一区二区三区 | 久久精品aⅴ无码中文字字幕不卡| 久久免费观看视频| 久久久久久精品免费看SSS| 国产激情久久久久影院| 日韩精品久久久肉伦网站| 国产精品va久久久久久久| 久久综合丁香激情久久| 天天久久狠狠色综合| 伊人久久大香线焦综合四虎| 国产99久久精品一区二区| 国产精品欧美久久久天天影视| 久久久久无码精品国产不卡| 精品国产一区二区三区久久久狼 | 久久精品国产亚洲AV忘忧草18 |