首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从DllMain加载/调用ntdll

从DllMain加载/调用ntdll
EN

Stack Overflow用户
提问于 2013-06-23 10:15:47
回答 1查看 825关注 0票数 0

我们不应该使用内核中的函数。use 来自DllMain

来自MS文档:

因为在调用入口点函数时,可以保证将Kernel32.dll加载到进程地址空间中,因此在Kernel32.dll中调用函数不会导致在初始化代码执行之前使用DLL。因此,入口点函数可以调用Kernel32.dll中不加载其他DLL的函数。例如,DllMain可以创建关键部分和互斥对象等同步对象,并使用TLS。不幸的是,除了Kernel32.dll之外,在Kernel32.dll....Calling函数中没有一个完整的安全函数列表,需要DLL。DLLs可能会导致很难诊断的问题。例如,调用User、Shell和COM函数可能导致访问冲突错误,因为某些函数加载其他系统组件。相反,在终止期间调用这些函数可能会导致访问冲突错误,因为相应的组件可能已经卸载或未初始化。

我的问题:

但是文档没有提到ntdll.dll。-我可以调用LoadLibrary for "ntdll",并使用DllMain中的ntdll中的函数:

( 1)在DLL_PROCESS_ATTACH (ntdll的加载和使用功能)中?

2)在DLL_PROCESS_DETACH期间(使用以前加载的ntdll函数)?

另外,请注意,有1500+声誉的人会喜欢创建一个名为"dllmain“的新标签吗?

EN

回答 1

Stack Overflow用户

发布于 2013-06-24 23:48:50

对于“在DllMain中安全吗”这个问题的答案总是默认为"no“。在这种情况下,调用LoadLibrary是不可能的。

一般来说,在ntdll.dll中调用任何东西都是不建议的,即使在安全的地方也是如此。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17259729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档