欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
进程管理器,可杀EXE,DLL 【原创】WebFiles Installer Maker [支持asp和php]
晴天  【原创】进程管理器,可杀EXE,DLL[更新]
[ 发布日期:20年前 (2005-04-20) ]   [ 来自:本站原创 ] [分类:原创作品]
2005-4-20 V1.1
*导出进程模块列表到文件
*简体繁体英文语言
*可多选进程
点击下载此文件
引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/74
复制引用地址https://www.rickw.cn/trackback/74/GBK
[本日志由 rick 于 20年前 (2005-04-21) 编辑]
[ 分类:原创作品  | 查看:2011 ]

引用这个评论  (访客) 于 2005-08-09 03:21:57 发表评论:
希望能出个命令行的版本,
方便作批处理。
引用这个评论  虫虫 于 2005-05-08 06:21:53 发表评论:
非常好用的小程序·····界面能再做好点就好了~~

特别抗议的是进程的信息竟然把Rick MM的照片挡住了!!
引用这个评论  rick 于 2005-04-23 17:59:59 发表评论:
和进程一样的模块,线程,也有first,next函数
引用这个评论  (NinjaSparda) 于 2005-04-23 17:16:26 发表评论:
多谢指导.

这个函数可以返回线程和模块的快照句柄我也有学,
可是得到了这个句柄然后要干什么呀?说一下思路.
对进程来说直接就可以用processfirst和processnext函数处理刚刚得到的进程句柄,可是得到线程句柄我该干什么?

引用这个评论  (rick) 于 2005-04-23 14:35:27 发表评论:
CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
第一个参数可以指定是 枚举进程、模块、线程......
引用这个评论  (NinjaSparda) 于 2005-04-23 11:52:01 发表评论:
您好,能否请问您几个问题?
小弟我也在学进程控制的编程.
我现在是按这个方法获得系统的进程

typedef struct tagPROCESSENTRY32 { 
DWORD dwSize; // 结构大小; 
DWORD cntUsage; // 此进程的引用计数; 
DWORD th32ProcessID; // 进程ID; 
DWORD th32DefaultHeapID; // 进程默认堆ID; 
DWORD th32ModuleID; // 进程模块ID; 
DWORD cntThreads; // 此进程开启的线程计数; 
DWORD th32ParentProcessID; // 父进程ID; 
LONG pcPriClassBase; // 线程优先权; 
DWORD dwFlags; // 保留; 
char szExeFile[MAX_PATH]; // 进程全名; 
} PROCESSENTRY32;


// PROCESSENTRY32结构对象
PROCESSENTRY32 pe;
// 创建快照句柄
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
// 先搜索系统中第一个进程的信息
Process32First(hSnapshot, &pe);
// 下面对系统中的所有进程进行枚举,并保存其信息
do{
// 把进程对应的文件路径名填入列表框
int index = m_ctlwndList.AddString(pe.szExeFile);
// 设置列表框中该项的Data相应的进程的ID号,利于以后终止该进程
m_ctlwndList.SetItemData(index, pe.th32ProcessID);
} while (Process32Next(hSnapshot, &pe));
// 关闭快照句柄
CloseHandle(hSnapshot);


可是这个PROCESSENTRY32结构对象无法详细列出每一个线程和模块是什么?请问这里您是如何实现的呢?

谢谢
引用这个评论  (bingding) 于 2005-04-22 01:11:02 发表评论:
已收下了,谢谢老大更新,辛苦你了!!!
 有一个BUG,就是最大化窗口是灰色的,窗口不能实现最大化,有点遗憾,只能自己拖动窗口了。

我现在用的一个工具很不错的,老大可以借鉴一下:

--------------------------------------------------
冰刃IceSword 1.06
 
运行环境: Win9x/NT/2000/XP/
文件大小: 894 K 
软件等级: ★★★
软件类别: 国产软件 
软件语言: 简体中文 
授权方式: 免费版 
添加时间: 2004-12-9 

::软件简介:: 
1。IceSword是一斩断黑手的利刃(所以取这土名,有点搞e,呵呵)。它适用于Windows 2000/XP/2003操作系统,用于查探系统中的幕后黑手(木马后门)并作出处理,当然使用它需要用户有一些操作系统的知识。
2。在对软件做讲解之前,首先说明第一注意事项:此程序运行时不可激活内核调试器(如softice),否则系统即刻崩溃。另外使用前请保存好您的数据,以防万一未知的Bug带来损失。
3。IceSword目前只为使用32位的x86兼容CPU的系统设计,另外运行IceSword需要管理员权限。
4。如果您使用过老版本,请一定注意,使用新版本前要重新启动系统,不要交替使用二者。
5。IceSword内部功能是十分强大的。可能您也用过很多类似功能的软件,比如一些进程工具、端口工具,但是现在的系统级后门功能越来越强,一般都可轻而易举地隐藏进程、端口、注册表、文件信息,一般的工具根本无法发现这些“幕后黑手”。IceSword使用大量新颖的内核技术,使得这些后门躲无所躲。
6。您无须为此软件付费,但如果您使用时发现了什么Bug,请mail to me:jfpan20000@sina.com ,十分感谢。
 
::下载地址::
http://www.xfocus.net/tools/200412/pjf_IceSword1.06.rar

===============================
IceSword FAQ 进程、端口、服务篇
===============================

问:现在进程端口工具很多,什么要使用IceSword?
答:1、绝大多数所谓的进程工具都是利用Windows的Toolhlp32或psapi再或ZwQuerySystemInformation系统调用(前二者最终也用到此调用)来编写,随便一个ApiHook就可轻轻松松干掉它们,更不用说一些内核级 后门了;极少数工具利用内核线程调度结构来查询进程,这种方案需要硬编码,不仅不同
版本系统不同,打个补丁也可能需要升级程序,并且现在有人也提出过防止此
种查找的方法。而IceSword的进程查找核心态方案是目前独一无二的,并且
充分考虑内核后门可能的隐藏手段,目前可以查出所有隐藏进程。
2、绝大多数工具查找进程路径名也是通过Toolhlp32、psapi,前者会调用RtlDebug***函数向目标注入远线程,后者会用调试api读取目标进程内存,本质上都是对PEB的枚举,前面我的blog提到过轻易修改PEB就让这些工具找不到 北了。而IceSword的核心态方案原原本本地将全路径展示,就算运行时剪切到其他路径也会随之显示。
3、进程dll模块与2的情况也是一样,利用PEB的其他工具会被轻易欺
骗,而IceSword不会弄错。
4、IceSword的进程杀除强大且方便(当然也会有危险)。可轻易将选中的多个任意进程一并杀除。当然,说任意不确切,除去三个:idle进程、System进程、csrss进程,原因就不详述了。其余进程可轻易杀死,当然有些进程(如winlogo n)杀掉后系统就崩溃了。
5、对于端口工具,网上的确有很多,不过网上隐藏端口的方法也很多,
那些方法对IceSword可是完全行不通的。其实本想带个防火墙动态查找,不过不想弄得太臃肿。
6、先说这些了...

问:windows自带的服务工具强大且方便,IceSowrd有什么更好的特点呢?
答:因为比较懒,界面使用上的确没它来的好,不过IceSword的服务功能主要是查看木马服务的,使用还是很方便的。举个例子,顺便谈一类木马的查找:
有一种利用svchost的木马,怎么利用的呢?svchost是一些共享进程服务的宿主,有些木马就以dll存在,依靠svchost运作,如何找出它们呢?首先看进程一栏,发现svchost过多,特别注意一下pid较大的,记住它们的pid,到服务 一栏,就可找到pid对应的服务项,配合注册表查看它的dll文件路径(由服务项的第一栏所列名称到注册表的services子键下找对应名称的子键),根据它是不是惯常的服务项,很容易发现异常。剩下的工作就是停止任务或结束进程、删除文件、恢复注册表 之类的了,当然过程中需要你对服务有一般的知识。

问:那么什么样的木马后门才会隐藏进程注册表文件的?用IceSword又如何查找呢?
答:比如近来很流行且开源(容易出变种)的hxdef就是这么一个后门。虽然它带有一个驱动,不过还只能算一个系统级后门,还称不上内核级。不过就这样的一个后门,你用一些工具,***专家、***大师、***克星看看,能不能看到它的进程、注册项、服务 以及目录文件,呵呵。用IceSword就很方便了,你直接就可在进程栏看到红色显示的hxdef100进程,同时也可以在服务栏中看到红色显示的服务项,顺便一说,在注册表和文件栏里你都可发现它们,若木马正在反向连接,你在端口栏也可看到,另外,内核 模块中也可以看到它的驱动。杀除它么,首先由进程栏得后门程序全路径,结束进程,将后门目录删除,删除注册表中的服务对应项...这里只是选一个简单例子,请你自行学习如何有效利用IceSword吧。

问:“内核模块”是什么?
答:加载到系统内和空间的PE模块,主要是驱动程序*.sys,一般核心态后们作为核心驱动存在,比如说某种rootkit加载_root_.sys,前面提到的hxdef也加载了hxdefdrv.sys,你可以在此栏中看到。

问:“SPI”与“BHO”又是什么?
答:SPI栏列举出系统中的网络服务提供者,因为它有可能被用来做无进程木马,注意“DLL路径”,正常系统只有两个不同DLL(当然协议比较多)。BHO是IE的插件,全名Browser Help Objects,木马以这种形式存在的话,用户打开网页即会激活木马。

问:“SSDT”有何用?
答:内核级后门有可能修改这个服务表,以截获你系统的服务函数调用,特别是一些老的rootkit,像上面提到的ntrootkit通过这种hook实现注册表、文件的隐藏。被修改的值以红色显示,当然有些安全程序也会修改,比如regmon,所以不要见 到红色就慌张。

问:“消息钩子”与木马有什么关系?
答:若在dll中使用SetWindowsHookEx设置一全局钩子,系统会将其加载入使用user32的进程中,因而它也可被利用为无进程木马的进程注入手段。

问:最后两个监视项有什么用处?
答:“监视进线程创建”将IceSword运行期间的进线程创建调用记录在循环缓冲里,“监视进程终止”记录一个进程被其它进程Terminate的情况。举例说明作用:一个木马或病毒进程运行起来时查看有没有杀毒程序如norton的进程,有则杀之,若 IceSword正在运行,这个操作就被记录下来,你可以查到是哪个进程做的事,因而可以发现木马或病毒进程并结束之。再如:一个木马或病毒采用多线程保护技术,你发现一个异常进程后结束了,一会儿它又起来了,你可用IceSword发现是什么线程又创建 了这个进程,把它们一并杀除。中途可能会用到“设置”菜单项:在设置对话框中选中“禁止进线程创建”,此时系统不能创建进程或者线程,你安稳的杀除可疑进线程后,再取消禁止就可以了。
 
问:IceSword的注册表项有什么特点?相对来说,RegEdit有什么不足吗?
答:说起Regedit的不足就太多了,比如它的名称长度限制,建一个名长300字节的子项看看(编程或用其他工具,比如regedt32),此项和位于它后面的子键在regedit中显示不出来;再如有意用程序建立的有特殊字符的子键regedit根本 打不开。
当然IceSword中添加注册表编辑并不是为了解决上面的问题,因为已经有了很多很好的工具可以代替Regedit。IceSword中的“注册表”项是为了查找被木马后门隐藏的注册项而写的,它不受目前任何注册表隐藏手法的蒙蔽,真正可靠的让你看到注 册表实际内容。

问:那么文件项又有什么特点呢?
答:同样,具备反隐藏、反保护的功能。当然就有一些副作用,文件保护工具(移走文件和文件加密类除外)在它面前就无效,如果你的机器与人共用,那么不希望别人看到的文件就采用加密处理吧,以前的文件保护(防读或隐藏)是没有用的。还有对安全的副作用是本来 system32\config\SAM等文件是不能拷贝也不能打开的,但IceSword是可以直接拷贝的。不过只有管理员能运行IceSword。最后说一个小技巧:用复制来改写文件。对一个被非共享打开的文件、或一个正运行的程序文件(比如木马), 你想改掉它的内容(比如想向木马程序文件写入垃圾数据使它重启后无法运行),那么请选中一个文件(内含你想修改的内容),选“复制”菜单,将目标文件栏中添上你欲修改掉的文件(木马)路径名,确定后前者的内容就写入后者(木马)从头开始的位置。
最后提醒一句:每次开机IceSword只第一次运行确认管理员权限,所以管理员运行程序后,如果要交付机器给低权限用户使用,应该先重启机器,否则可能为低权限用户利用。
 
问:GDT/IDT的转储文件里有什么内容?
答:GDT.log内保存有系统全局描述符表的内容,IDT.log则包含中断描述符表的内容。如果有后门程序修改它,建立了调用门或中断门,很容易被发现。
 
问:转储列表是什么意思?
答:即将显示在当前列表视中的部分内容存入指定文件,比如转储系统内所有进程,放入网上请人帮忙诊断。不过意义不大,IceSword编写前已假定使用者有一定安全知识,可能不需要这类功能。

发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5