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

            A狠狠久久蜜臀婷色中文网| 久久99久久无码毛片一区二区| 欧美午夜A∨大片久久| 久久有码中文字幕| 久久精品人人做人人爽电影 | 国产精品99久久久精品无码| 亚洲va中文字幕无码久久不卡| 麻豆一区二区99久久久久| 日本三级久久网| 久久久一本精品99久久精品88| 精品无码久久久久国产动漫3d| 狠狠狠色丁香婷婷综合久久五月 | 久久国产精品一国产精品金尊| 久久国产精品成人免费| 久久国产高清一区二区三区| 色8久久人人97超碰香蕉987| 国内精品久久久久久久coent| 亚洲日本va中文字幕久久| 伊人久久免费视频| 一本久久a久久精品亚洲| 欧美成a人片免费看久久| 久久青草国产精品一区| 伊人久久大香线蕉av不卡 | 97久久国产综合精品女不卡| 国产精品久久久久久久午夜片 | 久久精品国产亚洲av麻豆蜜芽| 色综合久久综精品| 久久综合国产乱子伦精品免费| 色综合久久中文字幕综合网| 99久久夜色精品国产网站| 午夜天堂av天堂久久久| 免费一级做a爰片久久毛片潮| 国产精品一久久香蕉产线看| 亚洲精品乱码久久久久久中文字幕| 久久精品国产精品亚洲艾草网美妙| 99re这里只有精品热久久| 久久精品免费一区二区| 久久亚洲AV成人无码| 中文字幕无码av激情不卡久久| 国产精品青草久久久久福利99 | 久久久久久亚洲精品影院|