鱼C论坛

 找回密码
 立即注册
查看: 4984|回复: 8

程序加载的问题

[复制链接]
发表于 2012-12-26 21:53:29 | 显示全部楼层 |阅读模式
5鱼币
Loadlibrary:调用了 ntdll!LdrpCallInitRoutine

0:000> kv
ChildEBP RetAddr  Args to Child              
0007f604 7c93b5d2 5efef1c2 5efe0000 00000001 ntdll!LdrpCallInitRoutine
0007f70c 7c9362db 00000000 c0150008 00000000 ntdll!LdrpRunInitializeRoutines+0x344 (FPO: [Non-Fpo])
0007f9b8 7c93643d 00000000 000b40a0 0007fcac ntdll!LdrpLoadDll+0x3e5 (FPO: [Non-Fpo])
0007fc60 7c801bbd 000b40a0 0007fcac 0007fc8c ntdll!LdrLoadDll+0x230 (FPO: [Non-Fpo])
0007fcc8 77d28055 0007fd2c 00000000 00000008 kernel32!LoadLibraryExW+0x18e (FPO: [Non-Fpo])
=================================================================
这些是什么意思呀?

最佳答案

查看完整内容

kv命令用来显示调用栈,下面显示的内容就是栈里面的内容: 说明调用顺序: kernel32!LoadLibraryExW+0x18e ntdll!LdrLoadDll+0x230 ntdll!LdrpLoadDll+0x3e5 ntdll!LdrpRunInitializeRoutines+0x344 ntdll!LdrpCallInitRoutine 所以说是LoadLibraryExW调用了ntdll!LdrpCallInitRoutine函数.
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-26 21:53:30 | 显示全部楼层
kv命令用来显示调用栈,下面显示的内容就是栈里面的内容:
说明调用顺序:
kernel32!LoadLibraryExW+0x18e
ntdll!LdrLoadDll+0x230
ntdll!LdrpLoadDll+0x3e5
ntdll!LdrpRunInitializeRoutines+0x344
ntdll!LdrpCallInitRoutine
所以说是LoadLibraryExW调用了ntdll!LdrpCallInitRoutine函数.





小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-27 08:01:41 | 显示全部楼层
兄弟,我也没看懂啊,把情况描述清楚一点呢?是在什么情况下什么东西加载的啊?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-27 09:51:40 | 显示全部楼层

http://hi.baidu.com/ttzer0/item/fda25d1986c63e526826bbef
这是关于“有关进程初始化的模块加载和运行后的动态加载”的文章,我在这里面看到的,不懂什么意思。
我猜应该是  loadlibrary函数调用了 NTDLL.dll动态库中的LdrpCallInitRoutine函数
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-27 17:34:35 | 显示全部楼层
哦,兄弟你看的是windebug的输出内容

评分

参与人数 1鱼币 +1 贡献 +1 收起 理由
Gw_love_VC. + 1 + 1

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-27 17:46:46 | 显示全部楼层
小新110 发表于 2012-12-27 17:34
哦,兄弟你看的是windebug的输出内容

这位兄台能否深入讲解一下或者发个链接让小弟学习一下顺便加一下好友
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-27 17:49:17 | 显示全部楼层
Gw_love_VC. 发表于 2012-12-27 17:46
这位兄台能否深入讲解一下或者发个链接让小弟学习一下顺便加一下好友

windbg这是个神器,掌握了功力可会大涨,我目前也是略懂,不敢深入啊。兄弟有心的话可以搜索点资料学习学习。回头有空我也是要深入学习滴。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2012-12-27 18:06:01 | 显示全部楼层
小新110 发表于 2012-12-27 17:46
kv命令用来显示调用栈,下面显示的内容就是栈里面的内容:
说明调用顺序:
kernel32!LoadLibraryExW+0x18 ...

“ChildEBP RetAddr  Args to Child  ”这一句是什么意思呀
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-27 18:17:03 | 显示全部楼层
Gw_love_VC. 发表于 2012-12-27 18:06
“ChildEBP RetAddr  Args to Child  ”这一句是什么意思呀

ChildEBP: a pointer to a memory location which stores the address of the previous function on the stack ("stack frame").
RetAddr: The "return address" where processing will resume once this function returns (finishes what it had to do).

嘿嘿,不要再追问啦,我也不是很懂,有机会等我学会了再教你吧
给你点资料:
http://www.cnblogs.com/huangyong9527/archive/2012/08/22/2650948.html
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-13 00:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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