首页
社区
课程
招聘
[原创]32bit进程Ring3枚举64bit进程模块
发表于: 2015-4-3 15:33 14827

[原创]32bit进程Ring3枚举64bit进程模块

2015-4-3 15:33
14827

大牛飘过~~~~~
最近项目原因,软件升级方面有新的需求,其中需要枚举运行的进程中,那些使用了待更新的文件。那么一个32bit的进程如何枚举出64bit进程模块就是需要解决的问题。当然,我们的软件不是安全软件,只是应用软件,所以我们只能ring3解决这一个问题。
也许你可以创建一个64bit的进程再去枚举,然后再IPC的进行交互。
然而,不可避免的又给软件引入了一个没有太大作用的Module.
最后决定采用WMI来实现这一个功能。
32bit枚举32bit的部分,满大街都是了,现在把32bit采用WMI枚举64bit的部分code拿出来和大家一起分享。
当然这种方法,32bit利用WMI枚举进程,其中32bit的部分的模块是不准确的,需要过滤掉。
换句话说,可以利用32bit枚举32bit进程+32bit利用WMI枚举64bit进程,完成这一功能。
code在附件里。


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

上传的附件:
收藏
免费 3
支持
分享
最新回复 (16)
雪    币: 1136
活跃值: (683)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
mark,可能会用到,谢谢楼主
2015-4-3 15:45
0
雪    币: 300
活跃值: (179)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
3
tasklist /M /FI "pid eq 1372"
2015-4-3 16:56
0
雪    币: 350
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
可以试下NtWow64QueryVirtualMemory64
2015-4-3 17:01
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
学习下, 没用过WMI呢...
2015-4-3 19:02
0
雪    币: 290
活跃值: (68)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
学习了 谢谢分享。。。
2015-4-3 20:46
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
产品要求,undocument的不能使用,哎
2015-4-3 23:36
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
8
产品定位,undocument的尽量不使用
2015-4-3 23:39
0
雪    币: 539
活跃值: (1512)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
9
精华前留名
2015-4-4 02:08
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
10
maybe tasklist 也大致也用用到这个,只是简单看了下tasklist.exe,有兴趣的同学可以深入一下

.text:0040698A ; int __stdcall InitializeCom(struct IWbemLocator **)
.text:0040698A ?InitializeCom@@YGHPAPAUIWbemLocator@@@Z proc near
.text:0040698A                                         ; CODE XREF: CTaskList::Initialize(void)+D3p
2015-4-8 11:27
0
雪    币: 122
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
谢谢分享,将来也许用得上
2015-4-10 08:04
0
雪    币: 464
活跃值: (861)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
mark 一下,谢谢分享
2015-4-10 09:32
0
雪    币: 114
活跃值: (72)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
13
http://download.csdn.net/download/zhlongfj/4629513
2015-4-11 16:34
0
雪    币: 2044
活跃值: (237)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
14
WMI 是个很强大的服务,可以做很多事情,你的代码是单纯enum process name or ID。 如果只是这个需求的话,就没必要WMI了,因为快照API就work了, 因为毕竟调用WMI还是有时间消耗的。
2015-4-11 21:29
0
雪    币: 464
活跃值: (861)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
15
mark 一下,感谢分享
2015-4-13 12:44
0
雪    币: 74
活跃值: (748)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
mark,感谢分享
2015-4-13 14:27
0
雪    币: 30050
活跃值: (2457)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
17
吃饱了撑着。。。
所有32位进程,在64位系统下,都加载了4个64位的DLL,直接调用就是,这不能算什么unknow documen。
2015-4-14 22:21
0
游客
登录 | 注册 方可回帖
返回
//