免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3104 | 回复: 14
打印 上一主题 下一主题

请教:如何做进程识别? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-10-09 10:27 |只看该作者 |倒序浏览
本帖最后由 贺兰云天 于 2010-10-09 10:29 编辑

比如电脑上运行QQ了,我想检测到它是不是QQ的进程,怎么做可靠些,而且方便?
我目前能想到的有:
第一:
大多数人都会的,比较进程对应的exe文件的名字,比如QQ.exe,那就是QQ了,而且现在有些厂家就是这么做的,但是有个致命缺点,如果人家把exe的名字改了,这时就识别不出来了,因此简单的程序名字比较貌似不能做的很尽善尽美。
第二:
采用md5sum方法,规则库中存储了各个常见软件的md5sum和对应的软件名称二元组集合,检测到一个进程时,就拿他对应程序的md5sum跟我的规则库中的md5sum比较,如果一致,说明运行的就是规则库中对应的软件,这个方法问题是需要大量的规则库,软件版本多了,要累死人的

第三:
我想的一种办法,多特征综合识别方法,需要多个特征结合,或的关系或者与的关系,比如有以下特征之一:
第一:安装路径中包含目录项 Tecent。
第二:运行程序名为QQ.exe
第三:====
其中同时满足这三个条件或者满足之一,就认为是QQ。。
这种方法相对第二种来说工作量稍微能小些,但是识别规则将会比较复杂。。用规则来描述和用程序去解析,难度大于方法1和方法2
不知道诸位有什么更好方法,请不吝赐教!谢谢

另外网络报文识别也是可行的,但是有些单机软件根本没有网络服务,因此暂时不用这个方法

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
2 [报告]
发表于 2010-10-09 10:30 |只看该作者
判断进程对应执行文件的资源

论坛徽章:
3
金牛座
日期:2014-06-14 22:04:062015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:45
3 [报告]
发表于 2010-10-09 10:33 |只看该作者
提供网络服务的,最好通过检查进程名字和网络报文来识别,这样比较可靠,因为一个发行版的软件,一般不会因主机而异修改运行的进程名字;
单机的版的软件,还是要通过分析,确认他启用了什么服务,根据服务来确定比较好一些

论坛徽章:
0
4 [报告]
发表于 2010-10-09 10:34 |只看该作者
判断进程对应执行文件的资源
hellioncu 发表于 2010-10-09 10:30



    能不能具体点,资源这个说法太广了啊

论坛徽章:
0
5 [报告]
发表于 2010-10-09 10:35 |只看该作者
软件是给人用的,只有用户认为它是QQ,那么它就是QQ。
所以在某些情况下可以把选择抛给用户,让用户去指定其路径。这个对于开发者是最简单有效的,但是用户可能觉得你不够友好,所以这个自定义可以作为一个可选项处理。

或者在windows的功能集中营 注册表里面去搜索QQ的路径(这个方法对于某些绿色版软件无效)

比较精确的还是你说的第三种方法。

论坛徽章:
324
射手座
日期:2013-08-23 12:04:38射手座
日期:2013-08-23 16:18:12未羊
日期:2013-08-30 14:33:15水瓶座
日期:2013-09-02 16:44:31摩羯座
日期:2013-09-25 09:33:52双子座
日期:2013-09-26 12:21:10金牛座
日期:2013-10-14 09:08:49申猴
日期:2013-10-16 13:09:43子鼠
日期:2013-10-17 23:23:19射手座
日期:2013-10-18 13:00:27金牛座
日期:2013-10-18 15:47:57午马
日期:2013-10-18 21:43:38
6 [报告]
发表于 2010-10-09 10:37 |只看该作者
回复 4# 贺兰云天


    版本信息呀,判断文件说明、版权等的字符串是否包含QQ、Tencent等字样。
还可以判断该exe所在目录下是否包含qq所特有的某些文件、目录等

论坛徽章:
0
7 [报告]
发表于 2010-10-09 10:37 |只看该作者
提供网络服务的,最好通过检查进程名字和网络报文来识别,这样比较可靠,因为一个发行版的软件,一般不会因 ...
dreamice 发表于 2010-10-09 10:33



    比如你禁止QQ了,人家可以把QQ.exe改成1.exe,客户可以这样做。。。
网络报文分析说白了是一个特殊,如果只是针对软件本身,而不是报文分析,这样的识别方法比较通用一些

论坛徽章:
0
8 [报告]
发表于 2010-10-09 10:38 |只看该作者
比如你禁止QQ了,人家可以把QQ.exe改成1.exe,客户可以这样做。。。
网络报文分析说白了是一个特 ...
贺兰云天 发表于 2010-10-09 10:37

如果不用网络服务的话,装QQ何用呢?

论坛徽章:
0
9 [报告]
发表于 2010-10-09 10:41 |只看该作者
软件是给人用的,只有用户认为它是QQ,那么它就是QQ。
所以在某些情况下可以把选择抛给用户,让用户去指定 ...
davelv 发表于 2010-10-09 10:35



    嗯,不止是QQ,也就是说,我要做个规则库,库中不只是名称,还要发行商,网站等信息。
这方法我想到一个弊端,容易误识别,比如360安全卫士和360杀毒的文件,目录之类名字很像,很容易识别错位了。。。把A认成它兄弟

论坛徽章:
0
10 [报告]
发表于 2010-10-09 10:42 |只看该作者
如果不用网络服务的话,装QQ何用呢?
davelv 发表于 2010-10-09 10:38



    我说的不止是QQ进程,比如一些单机的软件,连连看,老式的俄罗斯方块等。。
想尽量做一种通用的识别方法
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP