首页
社区
课程
招聘
请教``调用api 函数中的 FindWindowA 这个函数这个函数又调用ntdll的哪个函数??
发表于: 2011-3-27 16:35 5578

请教``调用api 函数中的 FindWindowA 这个函数这个函数又调用ntdll的哪个函数??

2011-3-27 16:35
5578
77D282E1 >  8BFF            mov edi,edi                  ; FindWindowA 的入口地址
77D282E3    55              push ebp
77D282E4    8BEC            mov ebp,esp
77D282E6    33C0            xor eax,eax
77D282E8    50              push eax
77D282E9    FF75 0C         push dword ptr ss:[ebp+C]
77D282EC    FF75 08         push dword ptr ss:[ebp+8]
77D282EF    50              push eax
77D282F0    50              push eax
77D282F1    E8 4CFFFFFF     call user32.77D28242         ; 这个call调用了哪个api 函数 如果不是api call的地址怎么取得
77D282F6    5D              pop ebp
77D282F7    C2 0800         retn 8

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

收藏
免费 0
支持
分享
最新回复 (13)
雪    币: 143
活跃值: (61)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
2
不知道你为什么要找这个..
不过,所有机器上的地址都一样的吧?
我的机器上的也是call 77D28242
2011-3-27 18:42
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
3
WINDBG 载入程序
bp user32!FindWindowA
单步几下就能看到结果了。

77d282f1 e84cffffff      call    USER32!InternalFindWindowExA (77d28242)
2011-3-27 18:51
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
4
刚才又查了一下

0:000> uf FindWindowA
USER32!FindWindowA:
77d282e1 8bff            mov     edi,edi
77d282e3 55              push    ebp
77d282e4 8bec            mov     ebp,esp
77d282e6 33c0            xor     eax,eax
77d282e8 50              push    eax
77d282e9 ff750c          push    dword ptr [ebp+0Ch]
77d282ec ff7508          push    dword ptr [ebp+8]
77d282ef 50              push    eax
77d282f0 50              push    eax
77d282f1 e84cffffff      call    USER32!InternalFindWindowExA (77d28242)
77d282f6 5d              pop     ebp
77d282f7 c20800          ret     8
2011-3-27 19:36
0
雪    币: 143
活跃值: (61)
能力值: ( LV5,RANK:70 )
在线值:
发帖
回帖
粉丝
5
LS的厉害,你用的什么调试器丫。。我的windbg是这个样子的
77d282e1 8bff            mov     edi,edi
77d282e3 55              push    ebp
77d282e4 8bec            mov     ebp,esp
77d282e6 33c0            xor     eax,eax
77d282e8 50              push    eax
77d282e9 ff750c          push    dword ptr [ebp+0Ch]
77d282ec ff7508          push    dword ptr [ebp+8]
77d282ef 50              push    eax
77d282f0 50              push    eax
77d282f1 e84cffffff      call    USER32!SetWindowsHookExW+0x33 (77d28242)
77d282f6 5d              pop     ebp
77d282f7 c20800          ret     8

无语。。。
2011-3-27 19:49
0
雪    币: 204
活跃值: (69)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
请问下
GetModuleHandle()
GetProcAddress()    用这两个api函数取不到函数的地址 InternalFindWindowExA 如何定位这个函数的地址
2011-3-27 20:29
0
雪    币: 677
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
InternalFindWindowExA 这个函数未导出 当然获取不到
2011-3-27 20:37
0
雪    币: 204
活跃值: (69)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
那有什么方法可以获取到该函数的地址
2011-3-27 21:02
0
雪    币: 442
活跃值: (43)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
先定位FindWindow

然后在FindWindow中搜索call附近的特征码
2011-3-27 21:16
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
10
额,用的是WINDBG啊,本人也是菜鸟。
2011-3-27 21:37
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
11
user32.dll确实没有导出InternalFindWindowExA  这个函数,我在OD里面没有看到。而且msdn中叶没有任何信息。
以前以为只有ntdll.dll这种很底层的才有未导出函数,没想到user32.dll也有。哎。
2011-3-27 21:45
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
12
学习了。
2011-3-27 21:47
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
13
百度搜索
获得未导出函数地址 site:pediy.com
有两篇文章很有用啊
http://bbs.pediy.com/printthread.php?t=62450
http://bbs.pediy.com/showthread.php?p=651840

总结一下:
1.搜索特征码
2.pdb,
2011-3-27 21:55
0
雪    币: 204
活跃值: (69)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
SetWindowsHookExW+0x33   用这个函数+偏移 在其他系统中会不会有获取不到的地址呢??
2011-3-27 23:14
0
游客
登录 | 注册 方可回帖
返回
//