• <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)制卸載模塊

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

            看來RING3下是不可能做到強(qiáng)制卸載模塊的完美實現(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 葉子 閱讀(4797) 評論(2)  編輯 收藏 引用 所屬分類: 技術(shù)研究

            Feedback

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

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

            # 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ù)  更多評論   

            亚洲狠狠综合久久| 婷婷综合久久中文字幕蜜桃三电影| 亚洲愉拍99热成人精品热久久| 成人综合伊人五月婷久久| 国产精品久久久久乳精品爆| 久久婷婷五月综合成人D啪| 国产成人精品久久亚洲高清不卡| 精品视频久久久久| 国产亚洲欧美成人久久片 | 国产精品99久久精品爆乳| 精品久久久久久无码国产| 久久人人青草97香蕉| 日本免费久久久久久久网站| 欧美va久久久噜噜噜久久| 一本大道久久香蕉成人网| 国产午夜福利精品久久| 久久久久久国产精品无码下载| 久久久国产精品网站| 国产成人无码精品久久久性色| 久久精品国产69国产精品亚洲 | 久久久无码精品亚洲日韩京东传媒 | 亚洲精品成人网久久久久久| 久久久久久午夜成人影院| 国产成人精品久久| 国产午夜精品久久久久九九| 97久久超碰国产精品旧版| 99久久国语露脸精品国产| 久久久国产99久久国产一| 国产精品VIDEOSSEX久久发布| 久久青青草原亚洲av无码app| 欧美亚洲国产精品久久高清| 日韩乱码人妻无码中文字幕久久| 欧美亚洲日本久久精品| 性高朝久久久久久久久久| 久久亚洲国产午夜精品理论片| 久久综合给合久久狠狠狠97色| 国产亚洲精品久久久久秋霞| 久久国产AVJUST麻豆| 无码任你躁久久久久久老妇App| 亚洲精品tv久久久久久久久久| 久久午夜免费视频|