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

            色综合久久中文色婷婷| 久久精品国产亚洲av麻豆色欲| 精品久久久久久国产三级| 97久久国产综合精品女不卡| 久久91精品国产91久久户| 欧美国产成人久久精品| 久久久91精品国产一区二区三区| 亚洲天堂久久精品| 69SEX久久精品国产麻豆| 精品国产乱码久久久久久人妻| 久久婷婷五月综合色99啪ak| 国内精品久久久久影院薰衣草| 国产精品一久久香蕉国产线看观看| 无码超乳爆乳中文字幕久久| 一日本道伊人久久综合影| 久久男人AV资源网站| 久久久久亚洲av无码专区导航| 久久有码中文字幕| 久久精品国产秦先生| 精品无码久久久久国产动漫3d | 少妇久久久久久被弄到高潮| 国产成人无码精品久久久免费| 久久综合九色综合精品| 人妻少妇久久中文字幕一区二区| 色欲综合久久躁天天躁蜜桃| 武侠古典久久婷婷狼人伊人| 国产精品午夜久久| 亚洲国产二区三区久久| 99久久婷婷国产综合亚洲| 无码人妻精品一区二区三区久久 | 国内精品人妻无码久久久影院导航| 国产精品99久久久久久猫咪 | 国产精品无码久久久久 | 无码人妻久久一区二区三区蜜桃| 色8激情欧美成人久久综合电| 久久久久久久99精品免费观看| 久久精品国产亚洲AV高清热 | 区久久AAA片69亚洲| 综合久久精品色| 久久精品国内一区二区三区| 久久国产精品久久|