【旧文章搬运】Windows中全局钩子DLL的加载过程
原文发表于百度空间,2011-03-24
==========================================================================
看雪上别人问的一个问题,顺便在此记录下吧~~
kd> kvn
# ChildEBP RetAddr Args to Child
0012f7b8 77d2dbfb 0012f81c kernel32!LoadLibraryExW+0x2 (FPO: [Non-Fpo])
0012f7e4 7c92eae3 0012f7f4 USER32!__ClientLoadLibrary+0x32 (FPO: [,,])
0012f7e4 80501a60 0012f7f4 ntdll!KiUserCallbackDispatcher+0x13 (FPO: [,,])
ef8f35e8 805a1779 ef8f36a0 ef8f369c ef8f38e8 nt!KiCallUserMode+0x4 (FPO: [,,])
ef8f3644 bf84ce33 ef8f36b0 nt!KeUserModeCallback+0x87 (FPO: [Non-Fpo])
ef8f38cc bf84cf3e ef8f38e8 win32k!ClientLoadLibrary+0xb2 (FPO: [Non-Fpo])
ef8f3afc bf83f449 e10622c0 win32k!xxxLoadHmodIndex+0x86 (FPO: [,,])
ef8f3b68 bf83f4a0 03e49c40 win32k!xxxCallHook2+0x19b (FPO: [,,])
ef8f3b84 bf8407c8 win32k!xxxCallHook+0x26 (FPO: [,,])
ef8f3c6c bf83eec5 bbe34058 win32k!xxxCreateWindowEx+0x48c (FPO: [,,])
0a ef8f3d20 8054160c ef8f3cec ef8f3ce0 win32k!NtUserCreateWindowEx+0x1c1 (FPO: [Non-Fpo])
0b ef8f3d20 7c92eb94 ef8f3cec ef8f3ce0 nt!KiFastCallEntry+0xfc (FPO: [,] TrapFrame @ ef8f3d64)
0c 0012f7e4 7c92eae3 0012f7f4 ntdll!KiFastSystemCallRet (FPO: [,,])
0d 0012f870 77d1fe13 77d1fdd9 0012fd98 ntdll!KiUserCallbackDispatcher+0x13 (FPO: [,,])
0e 0012fd14 77d1fecc 0012fd98 0012fdac USER32!NtUserCreateWindowEx+0xc
0f 0012fdc0 77d1ff66 00487d80 0012fdac USER32!_CreateWindowEx+0x1ed (FPO: [,,])
0012fdfc 00404dd2 00487d80 USER32!CreateWindowExA+0x33 (FPO: [,,])
0012fe70 0012ffc0 Procexp+0x4dd2
Procexp+0x47830
【旧文章搬运】Windows中全局钩子DLL的加载过程的更多相关文章
- 模块 DLL C:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载。返回的数据为错误信息。
更新了win10的版本后,就启动原来的iis发布的程序 程序池就自动关闭.后来 启动网站 iis程序池自动关闭. 在为应用程序池“.NET v4.5”提供服务的工作进程“21908”中,协议“http ...
- 在Qt Quick中一个简单Hello World加载过程
Qt5基本类图: QQmlEngine QQmlEngine类提供了一个QML引擎,用于管理由QML文档定义的对象层次架构,QML提供了一个默认的QML上下文(根上下文,获取函数QQmlEngi ...
- 记一次排错,windows日志 模块 DLL C:\Windows\system32\inetsrv\aspnetcore.dll 未能加载。返回的数据为错误信息。
这个错误是在我本地开发环境,不是生产环境,如果是生产环境我就挂了....开发环境也痛苦啊,重装系统的话,我估计装系统+所有软件,少说也得1天..... 错误产生:重装IIS (尼玛,IIS总有一个小毛 ...
- web 项目添加 x86 的dll 引用,模块 DLL c:\WINDOWS\system32\inetsrv\aspnetcore.dll 未能加载。
最近的项目要添加一个 x86 编译的dll, 首先添加引用,编译,报错: 首先判断是 项目中不能添加 x86 的引用,所以把所有的项目都按照 x86 的方式编译一遍,同时对应IIS 的应用池,也修改为 ...
- 【IIS】模块 DLL C:\Windows\System32\inetsrv\authcert.dll 未能加载。返回的数据为错误信息。
解决方案,check IIS --Client Certificate Mapping Authentication installed?
- 固定dll的加载基址的方法
调试dll的时候会有一件事情比较烦人,就是dll加载的地址不会很固定(默认设置下编译的dll基址总是0x10000000,多个同基址的dll加载时,后面的肯定会被重定位),这给前后多次调试时对比分析结 ...
- VC++开发Windows系统全局钩子
本文的大部分内容属于对一篇网文的实践与练习,同时参考的还有一本书,在此向网文与书的作者表示敬意. 这个程序是一个windows系统键盘监控程序,随着开机自动启动,可以监控系统中各用户的键盘,并将按键记 ...
- 前端设计中关于外部js文件加载的速度优化
在一般情况下,许多人都是将<script>写在了<head>标签中,而许多浏览器都是使用单一的线程来加载js文件的,从上往下,从左往右. 若是加载过程出错,那么网页就会阻塞,就 ...
- 模块shimgvw.dll已加载,但找不到入口点DllRegisterServer
[环境]Windows 7 / Windows Server 2008 [现象]在文件夹浏览器中不能显示图片缩略图. [错误信息]查系统日志,有如下消息:“模块shimgvw.dll已加载,但找不到入 ...
随机推荐
- react 路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...
- .net 反射访问私有变量和私有方法 如何创建C# Closure ? C# 批量生成随机密码,必须包含数字和字母,并用加密算法加密 C#中的foreach和yield 数组为什么可以使用linq查询 C#中的 具名参数 和 可选参数 显示实现接口 异步CTP(Async CTP)为什么那样工作? C#多线程基础,适合新手了解 C#加快Bitmap的访问速度 C#实现对图片文件的压
以下为本次实践代码: using System; using System.Collections.Generic; using System.ComponentModel; using System ...
- 数据库历险记(三) | 缓存框架的连环炮 数据库历险记(二) | Redis 和 Mecached 到底哪个好? 数据库历险记(一) | MySQL这么好,为什么还有人用Oracle? 面对海量请求,缓存设计还应该考虑哪些问题?
数据库历险记(三) | 缓存框架的连环炮 文章首发于微信公众号「陈树义」,专注于 Java 技术分享的社区.点击链接扫描二维码,与500位小伙伴一起共同进步.微信公众号二维码 http://p3n ...
- 《Python核心编程》数字类型
1.数字类型简单介绍 Python中数字类型包含:整型.长整型.布尔型.双精度浮点型.十进制浮点型.复数.这些数字类型都是不可变类型.也就是说,改变了数字的值会生成新的对象. 在Python中删除数字 ...
- 升级OpenSSL修复高危漏洞Heartbleed
升级OpenSSL修复高危漏洞Heartbleed 背景: OpenSSL全称为Secure Socket Layer.是Netscape所研发.利用数据加密(Encryption) ...
- Django-ondelete
on_delete=None, # 删除关联表中的数据时,当前表与其关联的field的行为 on_delete=models.CASCADE, # 删除关联数据,与之关联也删除 on_delete=m ...
- React - S1
资料: 1. https://developer.mozilla.org/zh-CN/docs/Web/JavaScript 进度: 教程 - 高级内容remaining; 参考remaining j ...
- C#注冊表操作汇总
一.注冊表基本知识 1) 结构 键->项->子项->值项(名称.类型.数据) REG_SZ 字符串 REG_BINARY 二进制 REG_DWORD ...
- spring boot Mybatis多数据源配置
关于 有时候,随着业务的发展,项目关联的数据来源会变得越来越复杂,使用的数据库会比较分散,这个时候就会采用多数据源的方式来获取数据.另外,多数据源也有其他好处,例如分布式数据库的读写分离,集成多种数据 ...
- Android: 亲測解决模拟器启动慢的问题
1.首先在相应的sdk manager里面下载一个4.03以上的api. 这里我选择的是4.2.2 (api17) 2.选择里面的" Intel Hardware Accelerated E ...