欢迎来到中国铁道出版社有限公司官网!
$itImage.title$

Windows黑客技术揭秘与攻防I--C语言篇

书      号:9787113113940

丛  书 名:

作      者:裴要强 孟波

译      者:

开      本:16开

装      帧:平装

正文语种:

出  版 社:中国铁道出版社有限公司

定      价:55

  • 内容简介

    本书把最常用的C语言作为工具,在Windows平台下细致的剖析并模拟黑客的攻击过程,并给出相应的防守。以黑客技术分析为主线,深入剖析黑客攻防的各种手法。全书给出了黑客常用攻击手段的C语言代码,使读者从程序员的角度分析并学习编程技巧,从而做到对黑客更高级的防守。全书采用最为通俗易懂的图文解说,使读者更好的理解并掌握黑客的攻防技术。所有代码都经过严格测试,并经过实际的编译测试,保证读者可以直接使用。
  • 前言

    对于网络安全工作者来讲,了解黑客编程的原理对有效地抵御黑客的攻击极为有用。实际上,黑客编程与普通的编程并无多大区别,只是侧重的方向不太相同。本书对目前流行的一些黑客编程技术逐一进行讲解,揭开黑客编程的神秘面纱。
    本书的内容安排
    全书共包含15章,其中第1章和第2章为本书的基础入门篇,第3~9章为全书重点,详细介绍了目前流行的各种黑客技术编程,第10~15章为一些常见的安全防御编程和部分高级内容。
    各章节内容简介如下:
    章 节 章 节 内 容
    第1章 主要对本书内容进行简单的介绍,以及一些注意事项,并通过两个简单的例子介绍了本书所用开发平台的使用方法,为全书的基础
    第2章 使用VC和BCB通过两个简单小程序对Windows编程的基础操作——文件操作技术进行了详细的介绍,使读者详细领会VC和BCB这两款工具的使用方法
    第3章 使读者对曾经让人闻之色变的病毒编程技术有全面的认识,能够理解病毒的工作原理并进行针对性防御
    第4章 详细地分析了一个简单后门所具备的基本功能实现,如自启动、屏幕监控、系统控制、反弹后门等技术
    第5章 通过一个简单的端口扫描器带领读者学习多线程、原始套接字等部分高级的编程技巧,同时也对WinPcap进行了简单介绍,详细讲述了Sniffer(即嗅探器)的编程原理
    第6章 在介绍木马下载者的编写过程中使读者学习到WinInet编程、服务端生成技术、UPX加壳技术等有趣的内容
    第7章 通过一个U盘小偷示例使读者深入理解Windows的消息工作机制
    第8章 介绍密码大盗与键盘记录器的编写原理及防御方法,也介绍ASP收信、邮箱收信等编程技巧
    第9章 对一些常见的验证码格式进行了详细分析,并通过一个实例使读者了解这个此前并不算流行的领域
    第10章 综合介绍了进程创建、进程枚举、进程隐藏以及进程保护等多项内容
    第11章 以“熊猫烧香”病毒为例介绍了如何通过对病毒进行分析编写出一个简易的病毒专杀工具,简单介绍了PE文件格式
    续表
    章 节 章 节 内 容
    第12章 全面介绍了NTFS数据流,学会编程对其进行检测和清除
    第13章 介绍了文件、注册表、进程等几种常见的监控技术
    第14章 介绍了目前十分流行的API Hook及SPI编程技术
    第15章 介绍了WinLogon通知包的编程方法,以及在安全编程中经常遇到的SSDT挂钩和恢复方法
    本书适合读者
    本书适合Windows编程爱好者、熟悉Windows操作系统的计算机安全从业人员、刚刚学会C/C++语言并亲自编写过一些小型程序的读者。
    由于本书涉及一些Windows可视化程序设计,因此希望读者最好能有一些使用Visual C++或C++ Builder进行Windows程序设计的经验,这样将更有助于您深入地理解本书所讲述的内容。
    本书声明
    本书中的代码仅供编程学习和测试之用,请勿将其用于非法目的,否则后果自负。编程是一种乐趣,但把编程用来进行破坏则是违法行为!
    由于笔者能力所限,书中不足之处在所难免,还望读者批评指正。
    本书为避免代码用于非正当用途,不在随书光盘中提供完整源代码,对本书有所建议,请直接与作者本人联系,联系方式如下:
    邮件:peiyaoqiang@126.com或wwb_beijing@163.com
  • 目录

    第1篇 Windows系统黑客技术基础入门
    第1章 Windows系统黑客技术基础 2
    1.1 认识黑客编程 2
    1.1.1 什么是黑客 2
    1.1.2 了解黑客编程 3
    1.2 选择操作系统和编程语言 3
    1.2.1 本书应用的操作系统 3
    1.2.2 本书选择的编程语言 4
    1.3 本书选择的开发工具 4
    1.3.1 Visual C++ 6.0的使用方法 5
    1.3.2 Borland C++ Builder 6的使用方法 8
    1.4 认识Windows API 11
    1.4.1 API与可视化编程环境 11
    1.4.2 C语言标准库函数和API函数的区别 12
    1.4.3 具有字符串参数的API函数 12
    第2章 文件操作技术 14
    2.1 使用C语言标准库函数进行文件操作 14
    2.1.1 打开文件 14
    2.1.2 关闭文件 15
    2.1.3 读文件 15
    2.1.4 写文件 16
    2.1.5 文件定位 16
    2.2 使用Windows API函数进行文件操作 17
    2.2.1 CreateFile()函数 17
    2.2.2 CloseHandle()函数 18
    2.2.3 ReadFile()函数 19
    2.2.4 WriteFile()函数 19
    2.2.5 SetFilePointer()函数 19
    2.2.6 DeleteFile()函数 20
    2.2.7 CreateDirectory()函数 20
    2.2.8 RemoveDirectory()函数 21
    2.2.9 CopyFile()函数 21
    2.2.10 MoveFile()函数 21
    2.2.11 GetFileAttributes()函数和SetFileAttributes()函数 21
    2.3 文本加密器 23
    2.3.1 文本加密的原理 23
    2.3.2 使用VC实现文本加密器 24
    2.4 文件粉碎机 25
    2.4.1 Windows删除文件的原理 25
    2.4.2 使用BCB实现文件粉碎 26
    第2篇 黑客技术编程
    第3章 计算机病毒的基本原理与防御 30
    3.1 计算机病毒概述 30
    3.1.1 什么是病毒 30
    3.1.2 病毒编程技术说明 31
    3.2 注册表编程 31
    3.2.1 认识注册表 31
    3.2.2 注册表编程技术 32
    3.3 自删除技术的模拟 36
    3.3.1 自删除技术简介 37
    3.3.2 自删除技术的3种方式 37
    3.3.3 自删除技术应用 38
    3.4 剖析映像劫持技术 39
    3.4.1 什么是映像劫持 39
    3.4.2 映像劫持详细分析 40
    3.4.3 防范映像劫持技术攻击 42
    3.5 彻底认识Autorun.inf文件 43
    3.5.1 Autofun.inf文件简介 43
    3.5.2 Autofun.inf文件参数 43
    3.6 病毒实现典型代码分析 44
    3.6.1 隐藏运行,将自身移动到系统目录 45
    3.6.2 修改注册表相关键值 45
    3.6.3 遍历所有硬盘生成Autorun.inf文件 46
    3.7 病毒的查杀与防御 46
    3.7.1 病毒的查杀与防御简介 47
    3.7.2 防火墙主动防御设置 47
    第4章 后门编程与防御技术 49
    4.1 后门概述 49
    4.2 Winsock网络编程基础 50
    4.2.1 C/S模式 50
    4.2.2 Winsock API及其常用函数简介 50
    4.3 后门分析之自启动 56
    4.3.1 启动文件夹 56
    4.3.2 自身复制程序 57
    4.3.3 注册表启动键值 58
    4.3.4 应用程序关联 58
    4.3.5 启动文件 59
    4.4 Windows服务编程技术 59
    4.4.1 Windows服务 60
    4.4.2 编写服务程序 60
    4.5 服务控制编程技术 62
    4.5.1 打开SCM——OpenSCManager()函数 63
    4.5.2 打开一个服务对象——OpenService()函数 63
    4.5.3 安装一个服务——CreateService()函数 63
    4.5.4 启动一个服务——StartService()函数 64
    4.5.5 查询服务的运行状态——QueryServiceStatus()函数 64
    4.5.6 控制操作——ControlService()函数 65
    4.5.7 删除服务——DeleteService()函数 65
    4.6 后门分析之屏幕截取 66
    4.6.1 屏幕截取简介 66
    4.6.2 MFC类实现屏幕截取 66
    4.6.3 BCB实现屏幕截取 68
    4.7 后门分析之系统信息搜集与控制 69
    4.7.1 关闭/重启计算机 69
    4.7.2 指定HTTP地址下载文件 70
    4.7.3 清除系统日志 71
    4.8 后门分析之结果回显 72
    4.8.1 管道后门简介 72
    4.8.2 双管道后门代码 72
    4.9 透视后门连接机制 73
    4.10 后门的查杀与防范 74
    4.10.1 怀疑被感染 74
    4.10.2 确定被感染 76
    4.10.3 手动杀毒 76
    第5章 扫描嗅探技术原理剖析 79
    5.1 认识多线程 79
    5.1.1 理解线程 79
    5.1.2 利用标准Windows API创建多线程程序 80
    5.1.3 利用BCB提供的线程类 83
    5.2 网络编程深入之原始套接字 84
    5.2.1 原始套接字简介 84
    5.2.2 利用原始套接字嗅探数据流 85
    5.3 扫描的实现 87
    5.3.1 完整端口扫描 87
    5.3.2 TCP SYN扫描 91
    5.4 使用WinPcap 96
    5.5 Sniffer原理剖析 99
    5.5.1 Sniffer的危害 100
    5.5.2 Sniffer的工作原理 100
    5.5.3 TCP/IP协议的4层结构 101
    5.6 Sniffer编程实现 103
    5.7 ARP欺骗 106
    5.7.1 ARP欺骗简介 106
    5.7.2 ARP欺骗演示程序 106
    5.8 针对扫描嗅探的防御 108
    5.8.1 针对扫描的防御 108
    5.8.2 针对嗅探的防御 109
    5.8.3 针对ARP欺骗的防御 110
    第6章 木马下载者的技术分析与防范 111
    6.1 认识木马下载者 111
    6.1.1 “挂马”原理 111
    6.1.2 木马下载者简介 112
    6.2 网络编程深入之WinInet 112
    6.2.1 InternetOpen()函数 112
    6.2.2 InternetConnect()函数 113
    6.2.3 InternetOpenUrl()函数 114
    6.2.4 InternetQueryDataAvailable()函数 115
    6.2.5 InternetReadFile()函数 115
    6.2.6 InternetSetFilePointer()函数 116
    6.2.7 InternetWriteFile()函数 116
    6.2.8 InternetCloseHandle()函数 117
    6.2.9 WinInet下载程序演示 117
    6.3 服务端生成技术 121
    6.3.1 FindResource()函数 121
    6.3.2 LoadResource()函数 122
    6.3.3 SizeofResource()函数 122
    6.3.4 LockResource()函数 122
    6.3.5 服务器端程序演示 123
    6.4 UPX加壳技术 126
    6.4.1 UPX加壳技术简介 126
    6.4.2 UPX加壳技术演示 126
    6.5 木马下载者的防御 127
    6.5.1 配置防火墙 127
    6.5.2 更新系统 128
    第7章 U盘小偷的剖析与防御 129
    7.1 认识U盘小偷 129
    7.1.1 U盘小偷概述 129
    7.1.2 U盘查找的简单实现 130
    7.2 理解Windows消息机制 130
    7.2.1 消息的基本概念 130
    7.2.2 Windows消息系统 131
    7.2.3 SDK消息机制 132
    7.2.4 BCB消息机制 132
    7.2.5 非标准消息 136
    7.2.6 自己发送消息 137
    7.3 U盘小偷的原理 138
    7.3.1 关于事件 139
    7.3.2 捕获U盘事件 139
    7.4 全局热键的实现 144
    7.4.1 GlobalAddAtom()函数 144
    7.4.2 RegisterHotKey()函数 145
    7.4.3 UnregisterHotKey()函数 145
    7.5 防御U盘小偷 146
    7.5.1 防御U盘小偷的原理 146
    7.5.2 加密U盘 146
    7.5.3 解密U盘 148
    7.6 其他编程技巧分析 149
    7.6.1 通过INI文件保存配置信息 149
    7.6.2 U盘防火墙 150
    7.6.3 只允许运行一个实例 151
    7.6.4 遍历搜索指定的文件类型 151
    7.6.5 添加作者主页链接 152
    7.6.6 显示版权信息对话框 153
    第8章 密码盗窃的模拟与防范 154
    8.1 密码大盗与键盘记录器简介 154
    8.1.1 密码大盗简介 154
    8.1.2 键盘记录器简介 156
    8.2 密码大盗工作原理与功能模拟 156
    8.2.1 密码大盗工作原理 156
    8.2.2 密码大盗功能演示 156
    8.2.3 密码大盗功能实现 157
    8.3 键盘记录器工作原理与功能模拟 161
    8.3.1 键盘记录器工作原理 161
    8.3.2 钩子简介 162
    8.3.3 使用钩子实现键盘记录器 164
    8.4 ASP收信的实现 167
    8.4.1 ASP收信简介 167
    8.4.2 ASP收信程序解析 167
    8.5 邮箱收信的实现 169
    8.5.1 邮箱收信简介 169
    8.5.2 邮箱收信程序解析 169
    8.6 密码大盗与键盘记录器的防御与查杀 171
    8.6.1 使用反病毒软件 171
    8.6.2 使用主动反击法 171
    第9章 验证码的破解与防范 173
    9.1 认识验证码 173
    9.1.1 验证码的起源 173
    9.1.2 验证码的工作原理 173
    9.1.3 验证码的分类 174
    9.1.4 破解验证码的原理分析 174
    9.2 BMP文件结构分析 177
    9.2.1 BMP文件结构概述 177
    9.2.2 BMP文件头信息 178
    9.2.3 BMP图像信息 180
    9.3 分析Z-Blog验证码 183
    9.3.1 什么是OCR 183
    9.3.2 分析Z-Blog验证码 184
    9.4 Z-Blog验证码的破解原理分析 185
    9.4.1 将验证码图片下载到本地 185
    9.4.2 将验证码加载到程序的相应位置 186
    9.4.3 分析验证码图片 186
    9.5 验证码破解攻击的防范方法 189
    第3篇 安全防御
    第10章 进程控制技术 191
    10.1 进程概述 191
    10.2 进程的创建 192
    10.2.1 WinExec()函数 192
    10.2.2 ShellExecute()函数 192
    10.2.3 CreateProcess()函数 194
    10.3 进程的管理与控制 195
    10.3.1 打开进程 195
    10.3.2 操作进程权限 195
    10.3.3 终止进程 196
    10.4 动态链接库编程 197
    10.4.1 动态链接库的创建 197
    10.4.2 动态链接库的调用 199
    10.5 进程的枚举 200
    10.5.1 系统快照 200
    10.5.2 利用PSAPI 201
    10.5.3 利用WTSAPI 202
    10.5.4 利用NTDLL 203
    10.6 进程的隐藏 204
    10.6.1 进程隐藏简介 204
    10.6.2 进程隐藏方法 205
    10.7 进程保护技术 209
    第11章 病毒专杀工具的编写 210
    11.1 “熊猫烧香”病毒及专杀工具分析 210
    11.1.1 “熊猫烧香”病毒与其感染特征 210
    11.1.2 “熊猫烧香”病毒专杀工具工作流程 211
    11.2 PE文件格式分析 211
    11.2.1 PE文件格式整体概要 211
    11.2.2 DOS MZ header分析 212
    11.2.3 PE header分析 212
    11.2.4 IMAGE_OPTIONAL_HEADER分析 212
    11.2.5 IMAGE_SECTION_HEADER分析 214
    11.2.6 PE文件格式分析程序示例 214
    11.2.7 PE文件感染分析 217
    11.3 “熊猫烧香”病毒专杀工具的主要代码 217
    11.3.1 启动专杀工具 217
    11.3.2 扫描进程 219
    11.3.3 扫描aurorun.inf 220
    11.3.4 查找并恢复感染文件 221
    11.3.5 主函数 222
    11.4 清除感染痕迹 223
    11.4.1 修改图标 223
    11.4.2 清除注册表项和值 223
    11.5 免疫功能实现 226
    第12章 NTFS数据流的检测与清除 231
    12.1 认识NTFS数据流 231
    12.1.1 数据流的概念演示 231
    12.1.2 数据流特性演示 232
    12.1.3 NTFS数据流的读/写 233
    12.2 NTFS数据流的深入分析 233
    12.2.1 利用WinRar实现隐藏文件 234
    12.2.2 利用ScanNTFS查找和清除NTFS数据流 235
    12.3 NTFS数据流扫描器的实现 236
    12.3.1 数据流扫描器原理 236
    12.3.2 main()函数 237
    12.3.3 FindAllFilesInDirectory()函数 238
    12.3.4 GetFileDataStream()函数 240
    12.3.5 ReadStream()函数 240
    第13章 系统监控技术 243
    13.1 系统监控概述 243
    13.2 文件监控技术 243
    13.2.1 使用FindChangeNotification系列函数 243
    13.2.2 使用ReadDirectoryChangesW()函数 246
    13.3 注册表监控技术 249
    13.3.1 RegNotifyChangeKeyValue()函数简介 249
    13.3.2 RegNotifyChangeKeyValue()函数使用演示 249
    13.4 进程监控技术 251
    13.4.1 shell钩子简介 251
    13.4.2 创建shell钩子 252
    第14章 API Hook与SPI 257
    14.1 API Hook综述 257
    14.1.1 代理DLL 257
    14.1.2 磁盘文件补丁 258
    14.1.3 内存补丁 258
    14.2 API Hook实例 258
    14.2.1 API Hook的编写 258
    14.2.2 API Hook的测试 263
    14.3 使用Detours实现API Hook 265
    14.4 SPI综述 266
    14.4.1 SPI简介 266
    14.4.2 LSP的安装 267
    14.5 SPI实例 272
    14.5.1 SPI的编写 272
    14.5.2 SPI的测试 288
    第15章 WinLogon编程和SSDT的挂钩与恢复 290
    15.1 WinLogon概述 290
    15.2 WinLogon编程实例 291
    15.3 认识SSDT 293
    15.4 挂钩SSDT 294
    15.5 恢复SSDT 298
    15.5.1 获取系统服务函数原始地址 299
    15.5.2 恢复SSDT的实现代码 301
    15.5.3 应用层实现代码 311
    附录A Visual C++ 6.0的安装 315
    附录B Borland C++ Builder 6.0的安装 320
  • 作者介绍

    主要拟约作者顺序姓名学历职称学科专长通 讯 地 址1裴要强硕士程序员软件开发、数据库作者单位成都创强技术有限公司邮政编码610000电 话2孟波本科助教网络安全、SEO优化作者单位江苏淮阴师范学院邮政编码223300电话3 作者单位 邮政编码 电 话 审校者(主审者)温才燚学历硕士作者单位广州优视动景公司职称软件工程师邮政编码 电 话
  • 编辑推荐

  • 书评书荐

  • 附件下载

图书推荐