• <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才行。下面是測(cè)試代碼
            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 葉子 閱讀(4777) 評(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)論   

            久久夜色精品国产噜噜噜亚洲AV| 久久久久久亚洲精品影院| 精品无码久久久久久久动漫| 综合人妻久久一区二区精品| 久久精品一区二区影院| 91精品国产综合久久四虎久久无码一级 | 久久精品天天中文字幕人妻| 欧美激情精品久久久久久久九九九| 色噜噜狠狠先锋影音久久| 一本色道久久综合狠狠躁| 亚洲综合伊人久久大杳蕉| 成人综合久久精品色婷婷| 久久婷婷午色综合夜啪| 久久国产欧美日韩精品免费| 国产精品久久久久蜜芽| 精品熟女少妇AV免费久久| 日韩欧美亚洲综合久久| 国产精品美女久久久m| 国产91色综合久久免费分享| 99久久国产热无码精品免费久久久久 | 久久99国产精品99久久| 99久久免费国产特黄| 日本三级久久网| 久久人搡人人玩人妻精品首页 | 国产精品九九九久久九九 | 久久久久久毛片免费播放| av色综合久久天堂av色综合在| 精品亚洲综合久久中文字幕| 91久久精品电影| 久久久久久极精品久久久| 伊人久久大香线蕉亚洲五月天| 欧美亚洲国产精品久久蜜芽| 欧美日韩精品久久久久| 亚洲∧v久久久无码精品| 国产一区二区三区久久| 国产日韩久久久精品影院首页| 中文字幕日本人妻久久久免费| 国产精品一久久香蕉国产线看观看| 国产香蕉97碰碰久久人人| 99久久精品免费看国产一区二区三区| 久久久无码精品亚洲日韩按摩|