【旧文章搬运】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已加载,但找不到入 ...
随机推荐
- PHP ORM操作MySQL数据库
ORM----Oriented Relationship Mapper,即用面向对象的方式来操作数据库.归根结底,还是对于SQL语句的封装. 首先,我们的数据库有如下一张表: 我们希望能够对这张表,利 ...
- Codeforces 569 B. Inventory
click here~~ **B. Inventory** time limit per test1 second memory limit per test256 megabytes inputst ...
- NTAG 标签
NTAG 标签 这里描述针对 NTAG213.而 NTAG215/216只是容量不同,其它功能都一样.  UID UID 有 7 bytes.上图中有 9 bytes 的 serial number ...
- 初探IO复用
前言 在之前的文章中,我具体实现了一个并发回射服务器并给它加载了僵尸子进程的自动清理信号机制.在正常情况下,它已经可以很好地工作了,但它能否合理应对一些特殊情况呢? 问题发现 先来看看当服务器的客户子 ...
- Create an OData v4 Endpoint Using ASP.NET Web API 2.2(使用ASP.NET Web API 2.2创建OData v4端点)
开放数据协议Open Data Protocol(OData)是web的一种数据存取协议,OData通过设置CRUD操作(Create创建.Read读取.Update更新,Delete删除)提供一种统 ...
- mongodb 安装、启动
MongoDB 之 你得知道MongoDB是个什么鬼 MongoDB - 1 最近有太多的同学向我提起MongoDB,想要学习MongoDB,还不知道MongoDB到底是什么鬼,或者说,知道是数据 ...
- 提高sqlite 的运行性能(转载)
原文地址: https://blog.devart.com/increasing-sqlite-performance.html One the major issues a developer en ...
- unity 接触一个月的感受和心得
unity scrollview 遇到的问题 一个scrollview作为翻页,这样的效果调整. 一页上面有三个scrollview,这三个scrollview上的items不受下层整个页面的scro ...
- if __name__
我们经常在python 程序中看到 if __name__ == '__main__' :这代表什么意思? python中 模块是对象,并且所有的模块都有一个内置属性 __name__.一个模 ...
- ssh key 生成
1.设置好git的name和email $ git config --global user.name "姓名" $ git config --global user.email ...