利用NtUnmapViewOfSection强制卸载模块

原创 2007年09月14日 10:19:00
 确实可以卸载指定进程指定位置的模块,但有几个问题:
[1]  PEB的模块列表中还存在该模块的记录,大部分模块枚举函数都是枚举这个列表
[2]  可能会出现访问异常

看来RING3下是不可能做到强制卸载模块的完美实现,要进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 ;
}

linux内核模块的强制删除

一.问题:  前些日子在工作中遇到一个文件,当rmmod一个模块的时候,在模块的exit函数中阻塞了,rmmod进程杀也杀不掉,永远呆在那里,发现它已经是D(disk sleep)状态了,真的无能为...
  • newnewman80
  • newnewman80
  • 2012年05月09日 10:43
  • 6551

linux3.x 内核如何强制卸载模块?

一、问题现象: 由于insmod函数执行中错误,导致rmmod卸载失败而不得不重启? #include #include #include #include #include #includ...
  • xumin330774233
  • xumin330774233
  • 2015年01月08日 11:45
  • 6797

Linux强制卸载内核模块(由于驱动异常导致rmmod不能卸载)

CSDN GitHub Linux强制卸载内核模块(由于驱动异常导致rmmod不能卸载) LDD-LinuxDeviceDrivers/study/driver/force_rmmod 本...
  • gatieme
  • gatieme
  • 2017年07月14日 14:31
  • 2807

强行卸载DLL模块(转载)

卸载dll模块可以用于杀毒程序中 // 程序功能:结束进程中的一个模块。// 程序...
  • lanhai96
  • lanhai96
  • 2007年08月30日 10:55
  • 5214

卸载进程中的dll模块

如何在不结束进程的情况下卸载该进程中的dll模块还记得俺的威金专杀,当初为了省事,对那个注入的dll都是先TerminateProcess,然后DeleteFile,把那个该死的dll搞定,然后再Wi...
  • aasmfox
  • aasmfox
  • 2014年03月24日 16:22
  • 1011

内核模块的加载与卸载

Linux内核是个很庞大的东西,要全部了解清楚是很难的,所以我们所做的内核上的开发也是为驱动做一些基本的准备。 其中Linux的系统的构成、内核的构成还有内核的目录结构在这里就不去做过多的解释,有兴...
  • yby19870627
  • yby19870627
  • 2012年03月16日 11:04
  • 9559

Linux下如何用rpm卸载软件 rpm依赖包强制卸载

以Mysql为例。 #查看安装的Mysql版本 sjgx2:/usr/local/mysql/bin # rpm -qa |grep -i mysql MySQL-client-5.1....
  • u013603157
  • u013603157
  • 2014年04月26日 22:48
  • 9853

linux下umount强行卸载设备

umount是一个文件解挂文件系统了,下面我们一起来看看关于linux下umount强行卸载设备的例子了,希望下文可以给各位带来帮助。 umount命令 解挂文件系统。umount...
  • wendellluntan
  • wendellluntan
  • 2017年06月12日 10:04
  • 2908

强制卸载目标进程模块

代码来源于网络,卸载模块后通过查询PEB得到进程信息的程序没有得到更新,(如:Windows优化大师和360的进程查看),可以通过冰刃查看。 注:强制卸载可能导致目标进程崩溃。 哈哈,又有了种结束...
  • qq752923276
  • qq752923276
  • 2012年03月08日 18:03
  • 1904

强制卸载symantec

在网上找了一堆的文章,都没有解决我的问题,最后Google了一把,还是利用symantec自己出的工具(CleanWipe.zip)把它卸载了。正所谓解铃还需系铃人啊,太无耻了。 ---------...
  • dmcpxy
  • dmcpxy
  • 2015年09月29日 09:52
  • 5150
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:利用NtUnmapViewOfSection强制卸载模块
举报原因:
原因补充:

(最多只允许输入30个字)