找回密码
 加入我们

QQ登录

只需一步,快速开始

搜索
查看: 31062|回复: 48

[原创]WIN8/8.1X64上获取WOW64进程模块基址一个非常坑人的地方

 火... [复制链接]

857

主题

2632

回帖

2

精华

管理员

此生无悔入华夏,  长居日耳曼尼亚。  

积分
36130
发表于 2014-8-16 12:11:37 | 显示全部楼层 |阅读模式
大家都知道,WOW64进程一般有4个64位的DLL,以及N个32位的DLL。

4个64位的DLL分别是:wow64.dll、wow64win.dll、wow64cpu.dll、ntdll.dll,它们都在c:\windows\system32目录下。

在N个32位的DLL中,有一个32位的NTDLL,它在C:\WINDOWS\SYSWOW64目录下。其它的系统DLL,比如kernel32.dll,也在SYSWOW64目录下。

但是在WIN8上,如果用EnumProcessModulesEx来枚举模块,你会发现:有两个BASE不同的NTDLL,但显示的路径都在SYSTEM32目录下;其它诸如kernel32.dll的系统DLL,也全在SYSTEM32目录下。但对比一下64位进程的同名DLL的BASE,又不相同。

我一开始对这个现象感到百思不得其解,后来通过WINDBG才看出:除了BASE大于0xFFFFFFFF的DLL,即使路径显示在SYSTEM32目录下,实际上却是在SYSWOW64目录下!!!

为了解决这个问题,我写了一段QUICK AND DIRTY的代码。当你输入c:\windows\syswow64\ntdll.dll,将返回32位NTDLL的基址,输入c:\windows\system32\ntdll.dll,将返回64位NTDLL的基址。
游客,如果您要查看本帖隐藏内容请回复

0

主题

117

回帖

0

精华

银牌会员

积分
595
发表于 2014-8-30 22:17:42 | 显示全部楼层
学习下,,大牛的文档

0

主题

13

回帖

0

精华

铜牌会员

积分
47
发表于 2014-10-30 14:53:04 | 显示全部楼层
没怎么看懂呢

1

主题

77

回帖

0

精华

铂金会员

积分
1972
发表于 2014-11-3 23:51:56 | 显示全部楼层
学习了

0

主题

37

回帖

0

精华

铜牌会员

积分
61
发表于 2014-11-9 15:56:56 | 显示全部楼层
恰好在这个地方有疑惑。谢谢分享

1

主题

20

回帖

0

精华

铜牌会员

积分
106
发表于 2015-7-4 00:15:42 | 显示全部楼层
遇到同样的问题,R3层要咋弄?

1

主题

35

回帖

0

精华

铜牌会员

积分
111
发表于 2015-8-1 20:19:01 | 显示全部楼层
回复.................

1

主题

146

回帖

0

精华

贵宾会员

积分
2836
发表于 2015-10-11 15:49:57 | 显示全部楼层
学习啊

1

主题

146

回帖

0

精华

贵宾会员

积分
2836
发表于 2015-10-11 15:49:59 | 显示全部楼层
学习啊

1

主题

146

回帖

0

精华

贵宾会员

积分
2836
发表于 2015-10-11 15:50:02 | 显示全部楼层
学习啊

0

主题

8

回帖

0

精华

铜牌会员

积分
72
发表于 2015-10-22 13:51:28 | 显示全部楼层
这是个头疼的问题,上次搞半天都没搞好...

6

主题

103

回帖

0

精华

金牌会员

积分
680
发表于 2015-10-22 23:03:15 | 显示全部楼层
看看是怎么回事!!!!

2

主题

30

回帖

0

精华

铜牌会员

积分
37
发表于 2015-10-26 09:51:28 | 显示全部楼层
感谢楼主分享,顶贴支持~

26

主题

11

回帖

0

精华

银牌会员

积分
328
发表于 2015-10-26 14:38:39 | 显示全部楼层
哦,来看看是什么。

2

主题

165

回帖

0

精华

金牌会员

积分
944
发表于 2015-10-27 00:09:11 | 显示全部楼层
来看看说法的

0

主题

51

回帖

0

精华

铜牌会员

积分
97
发表于 2016-3-14 15:31:43 | 显示全部楼层
thank you for share

0

主题

5

回帖

0

精华

初来乍到

积分
21
发表于 2016-4-13 11:15:19 | 显示全部楼层
学习一下。。。

0

主题

23

回帖

0

精华

铜牌会员

积分
59
发表于 2016-4-17 22:28:53 | 显示全部楼层
看看,啥东西

0

主题

65

回帖

0

精华

金牌会员

积分
1011
发表于 2016-4-17 22:30:27 | 显示全部楼层
学习了
头像被屏蔽

0

主题

37

回帖

0

精华

铜牌会员

积分
75
发表于 2016-4-24 21:20:33 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

0

主题

21

回帖

0

精华

铜牌会员

积分
48
发表于 2016-7-15 15:16:28 | 显示全部楼层
学习下,,大牛的文档

1

主题

2

回帖

0

精华

初来乍到

积分
10
发表于 2016-9-6 09:54:47 | 显示全部楼层
一定要学习

2

主题

62

回帖

0

精华

金牌会员

积分
831
发表于 2016-9-6 20:14:13 | 显示全部楼层
原创意味着不开源??

9

主题

44

回帖

0

精华

铜牌会员

积分
252
发表于 2016-11-15 22:15:59 | 显示全部楼层
看看

2

主题

41

回帖

0

精华

银牌会员

积分
479
发表于 2016-11-17 23:17:26 | 显示全部楼层
学习了阿

3

主题

75

回帖

0

精华

银牌会员

积分
440
发表于 2016-12-29 13:55:45 | 显示全部楼层
正好要用到,谢谢分享

1

主题

80

回帖

1

精华

铂金会员

积分
1818
发表于 2016-12-30 22:47:11 | 显示全部楼层
学习经验,少跳坑..

0

主题

17

回帖

0

精华

铜牌会员

积分
41
发表于 2017-1-4 10:58:11 | 显示全部楼层
经验=时间

0

主题

68

回帖

0

精华

论坛元老

积分
432738
发表于 2017-1-14 14:26:47 | 显示全部楼层
学习了

0

主题

111

回帖

0

精华

银牌会员

积分
340
发表于 2017-4-23 23:14:45 | 显示全部楼层
恩 学习啦!

1

主题

35

回帖

0

精华

铜牌会员

积分
274
发表于 2017-5-29 12:43:45 | 显示全部楼层
学习!~

0

主题

17

回帖

0

精华

铜牌会员

积分
43
发表于 2017-6-23 10:02:07 | 显示全部楼层
因为windows将x86的dll都重写到syswow64了
您需要登录后才可以回帖 登录 | 加入我们

本版积分规则

快速回复 返回顶部 返回列表