《Delphi 下深入Windows 核心编程》<br>到盒子上下载这本书看看吧.上面有这方面 的内容<br>www.2ccc.com<br><br>第1章 DLL与数据共享 1<br>1.1 关于DLL 1<br>1.1.1 DLL的结构 1<br>1.1.2 DLL数据作用范围 4<br>1.2 内存映像 4<br>1.2.1 创建映像文件 5<br>1.2.2 打开映像文件 5<br>1.2.3 映射到本进程中 6<br>1.2.4 关闭内存映射 6<br>1.2.5 两个EXE文件共享内存数据块 8<br>1.2.6 两个DLL文件共享内存数据块 13<br>1.3 16位和32位进程间传送消息 17<br>1.3.1 全局原子实现数据共享 17<br>1.3.2 WM_COPYDATA消息实现进程间数据共享 20<br>第2章 钩子原理 23<br>2.1 钩子原理 23<br>2.1.1 挂钩函数 23<br>2.1.2 钩子链 24<br>2.1.3 脱钩 25<br>2.2 消息及DLL的注入 25<br>2.2.1 自定义消息截取 25<br>2.2.2 文件或串并口读写监视钩子 27<br>2.3 Shell钩子 38<br>2.3.1 实现钩子 39<br>2.3.2 注册钩子 40<br>2.3.3 实现步骤 41<br>2.3.4 完整代码 42<br>2.4 鼠标键盘钩子 45<br>2.4.1 效果不错的鼠标钩子 45<br>2.4.2 鼠标键盘的动作记录与回放 52<br>2.4.3 黑客常用工具——键盘钩子 56<br>2.4.4 非DLL键盘监视的两种方法 60<br>第3章 系统内核 71<br>3.1 内核对象 71<br>3.2 进程 72<br>3.2.1 进程在内存中的结构 73<br>3.2.2 进程列举 74<br>3.2.3 Windows NT/2000下列举进程的方法 79<br>3.2.4 进程模块的列举 87<br>3.2.5 终止进程 91<br>3.2.6 创建进程并监视进程运行 93<br>3.3 进程隐藏深入剖析 99<br>3.3.1 进程隐藏原理 99<br>3.3.2 Windows 9x下进程的伪隐藏 99<br>3.3.3 用三级跳实现真隐藏 101<br>3.3.4 Windows NT/2000进程远程写入实现深度隐藏 111<br>3.4 线程 117<br>3.4.1 线程的优先级 118<br>3.4.2 线程的挂起和继续 119<br>3.4.3 执行线程 119<br>3.4.4 线程同步 120<br>3.4.5 列举本进程的所有线程 130<br>3.5 Windows NT/2000的性能数据库 134<br>3.5.1 性能数据库的对象、计数器及实例 134<br>3.5.2 浏览性能数据库 143<br>第4章 低层操作 149<br>4.1 中断 149<br>4.2 内嵌汇编 150<br>4.2.1 汇编入口与退出 150<br>4.2.2 使用汇编 150<br>4.2.3 嵌入汇编程序 155<br>4.3 Ring0特权及端口直接IO 156<br>4.3.1 Ring0特权的获取 156<br>4.3.2 关于VxD 157<br>4.3.3 Windows 9x下的时间变速(变速齿轮) 158<br>4.4 端口读写驱动PortTalk 162<br>4.4.1 PortTalk与Delphi的接口 162<br>4.4.2 Windows NT/2000下的时间变速(变速齿轮) 167<br>4.5 Thunk机制 169<br>4.5.1 Flat Thunk(直接替换) 169<br>4.5.2 Generic Thunk(通用替换) 182<br>第5章 磁盘读写 191<br>5.1 磁盘读写技术荟萃 191<br>5.1.1 Windows 9x下读写逻辑磁盘扇区的方法 193<br>5.1.2 Windows 9x下用INT13实现读写软盘物理磁盘扇区 199<br>5.1.3 利用VxD和CIH病毒中的Ring0技术 203<br>5.1.4 调用16位实模式的核心技术 217<br>5.1.5 Windows NT/2000下读写物理、逻辑磁盘扇区 229<br>5.2 枚举磁盘中已打开的文件列表 232<br>第6章 回收站和IE 237<br>6.1 回收站 237<br>6.1.1 删除文件到回收站 237<br>6.1.2 清空回收站 240<br>6.1.3 回收站实时监控 242<br>6.2 IE编程 255<br>6.2.1 IE历史记录的管理 255<br>6.2.2 IE工具栏 259<br>6.2.3 获取已打开的IE地址的两种方法 268<br>6.2.4 将网页保存为图片 275<br>6.2.5 清除IE历史记录、下拉列表和Cookie 277<br>第7章 高级应用 281<br>7.1 DDE 281<br>7.1.1 DDE原理 281<br>7.1.2 利用DDE创建程序组 282<br>7.1.3 执行DDE宏 285<br>7.2 密码相关程序 286<br>7.2.1 查看“*”的编辑框 287<br>7.2.2 防止“*”的密码泄露 289<br>7.2.3 读取缓冲区密码 293<br>7.3 目录监视 296<br>7.4 剪贴板监视 300<br>7.5 消息机制 302<br>7.6 模拟按键及鼠标双击 306<br>7.7 热键 311<br>7.8 程序运行后自动删除 314<br>7.9 只运行一个实例的两种方法 315<br>7.9.1 写全局元素的惟一字符串 316<br>7.9.2 创建互斥对象 316<br>7.10 移动正在使用的文件 317<br>7.11 类型转换与存储转换 322<br>7.11.1 类型转换 323<br>7.11.2 存储转换 324<br>7.12 加壳原理 325<br>7.12.1 附加代码分析 326<br>7.12.2 合并外壳的源代码分析 331<br>第8章 PE结构分析 341<br>8.1 PE文件结构 341<br>8.1.1 文件头(File Header) 342<br>8.1.2 节表(Section Table) 347<br>8.1.3 引入函数表(Import Table) 349<br>8.1.4 导出表(Export Table) 351<br>8.1.5 重定位表 353<br>8.1.6 检验PE文件的有效性 354<br>8.2 PEDump实例 355<br>8.2.1 显示资源的单元源代码 355<br>8.2.2 以十六进制格式化显示PE文件 380<br>8.2.3 显示PE信息的单元源代码 380<br>8.2.4 PE引入与导出函数表 396<br>8.2.5 主程序及公共单元 404<br>第9章 内存管理 411<br>9.1 内存结构 411<br>9.2 内存堆列举 411<br>9.3 修改虚拟内存保护属性 416<br>9.4 读写其他进程内存的技巧 423<br>9.5 Windows 9x下读写物理内存的核心技术 429<br>9.5.1 编写VxD读写内存 429<br>9.5.2 利用16位DLL代码读写物理内存 436<br>9.6 Windows NT/2000下读写物理内存的核心技术 447<br>第10章 API Hook及屏幕取词 457<br>10.1 API Hook必读 457<br>10.1.1 API Hook入门 457<br>10.1.2 陷阱式API Hook 458<br>10.1.3 改引入表式API Hook 461<br>10.1.4 API Hook源代码分析 462<br>10.2 屏幕取词 468<br>10.2.1 Windows NT/2000下32位取词及关键技术 468<br>10.2.2 Windows 9x下16位、32位取词及核心技术 490<br>附录A Delphi编译指令说明 511<br>A.1 使用编译设置对话框 511<br>A.2 使用编译指令 512<br>A.3 使用条件编译指令 513<br>附录B Delphi编译错误信息对照表 515