黑客的攻击与防守是矛盾的双方,本书从编程和网络技术的角度,深入探讨了“攻”与“防”的技术,提供了一些主要用C/C+十来描述的有参考价值的代码。这些代码都已在VisualC++6.0或C++Builder 5.0环\r\n\r\n境下编译调试通过。\r\n\r\n 本书首先介绍了攻防编程的基础知识,如Windows内部机制简述,编程的方法、工具和技巧等;然后剖析了特洛伊木马、扫描器、病毒等程序代码,揭露了多种黑客攻击的技术内幕;介绍了很有参考价值的API函数及编程的好书、好网站,以便开拓读者的视野。本书还着重介绍了个人防火墙方面的编程技术,为个人防火墙编程爱好者提供了实用的学习参考资料。\r\n
\r\n
第1章 Windows编程基础 \r\n\r\n 1. 1 了解Windows内部机制 \r\n\r\n 1. 1. 1 引言 \r\n\r\n 1. 1. 2 Windwos内部机制简述 \r\n\r\n 1. 1. 3 Windows编程的几个相关概念 \r\n\r\n 1. 1. 4 从程序角度来看Windows内部机制 \r\n\r\n 1. 2 学习Windows编程的方法论 \r\n\r\n 1. 2. 1 编程语言及编程工具的选择 \r\n\r\n 1. 2. 2 提高编程能力的两个途径 \r\n\r\n 1. 3 学习使用编程工具 \r\n\r\n 1. 3. 1 编程工具一览 \r\n\r\n 1. 3. 2 两款杰出的编程工具的使用方法 \r\n\r\n 1. 3. 3 一个简单的编程例子 \r\n\r\n 1. 4 攻防编程的几个重要技巧 \r\n\r\n 1. 4. 1 技巧一:如何用程序操作注册表 \r\n\r\n 1. 4. 2 技巧二:如何在程序中调用API \r\n\r\n 1. 4. 3 技巧三:运用多线程编程技术 \r\n\r\n 1. 4. 4 技巧四:实现后台监控程序 \r\n\r\n 1, 4. 5 技巧五:使用定时触发器 \r\n\r\n \r\n\r\n 第2章 迈进攻防编程 \r\n\r\n 2. 1 引言 \r\n\r\n 2. 2 Socket编程基础 \r\n\r\n 2. 2. 1 什么是Socket \r\n\r\n 2. 2. 2 对Socket进一步理解 \r\n\r\n 2. 2. 3 SocketAPI介绍 \r\n\r\n 2. 2. 4 微软对SocketAPI的扩展 \r\n\r\n 2. 2. 5 应用举例 \r\n\r\n 2. 3 网络协议与数据报 \r\n\r\n 2. 3. 1 介绍 \r\n\r\n 2. 3. 2 以太网数据包头(EthernetHeader)介绍 \r\n\r\n 2. 3. 3 IP协议数据报结构介绍 \r\n\r\n 2. 3. 4 TCP协议的数据报结构介绍 \r\n\r\n 2. 3. 5 UDP协议的数据报结构介绍 \r\n\r\n 2. 3. 6 ICMP协议的数据报结构介绍 \r\n\r\n 2. 4 PE文件及格式介绍 \r\n\r\n 2. 4. 1 什么是PE文件 \r\n\r\n 2. 4. 2 PE文件结构介绍 \r\n\r\n 2. 5 小结 \r\n\r\n 攻 击 篇 \r\n\r\n \r\n\r\n 第3章 特洛伊木马 \r\n\r\n 3. 1 特洛伊木马的介绍 \r\n\r\n 3. 1. 1 特洛伊木马名字的由来 \r\n\r\n 3. 1. 2 特洛伊木马的工作机理 \r\n\r\n 3. 2 特洛伊木马的编程探索 \r\n\r\n 3. 2. 1 特洛伊木马的编程思路 \r\n\r\n 3. 2. 2 特洛伊木马编程的技术细节 \r\n\r\n 3. 3 特洛伊木马的源代码分析 \r\n\r\n 3. 3. 1 写在前面 \r\n\r\n 3. 3. 2源程序解释 \r\n\r\n \r\n\r\n 第4章 扫描器 \r\n\r\n 4. 1 扫描器简介 \r\n\r\n 4. 1. 1 扫描器的定义. 功能及分类 \r\n\r\n 4. 1. 2 常见扫描器的功能介绍 \r\n\r\n 4. 2 扫描器的编程思路 \r\n\r\n 4. 2. 1 扫描器的工作原理 \r\n\r\n 4. 2. 2 编程预备知识 \r\n\r\n 4. 2. 3 扫描器各大功能的编程实现 \r\n\r\n 4. 2. 4 一个简单的扫描器的原码分析 \r\n\r\n 4. 3 自己动手写一个简单的扫描器 \r\n\r\n 4. 3. 1 准备工作 \r\n\r\n 4. 3. 2 程序核心部分 \r\n\r\n \r\n\r\n 第5章 恶作剧程序剖析 \r\n\r\n 5. 1 可执行文件型恶作剧程序 \r\n\r\n 5. 1. 1 恶作剧程序概述 \r\n\r\n 5. 1. 2 恶作剧现象一览 \r\n\r\n 5. 1. 3 恶作剧程序的几个着眼点 \r\n\r\n 5. 1. 4 恶作剧程序的实现代码探索 \r\n\r\n 5. 2 网页恶意攻击 \r\n\r\n 5. 2. 1 网页恶意攻击初探 \r\n\r\n 5. 2. 2 网页恶意攻击深入剖析 \r\n\r\n 5. 2. 3 网页恶意代码分析及相应的防范措施 \r\n\r\n 5. 3 邮件型恶作剧脚本 \r\n\r\n 5. 3. 1 邮件型恶作剧脚本概述 \r\n\r\n 5. 3. 2 邮件型恶作剧原理分析 \r\n\r\n 5. 3. 3 一封恶意邮件的源码分析 \r\n\r\n \r\n\r\n 第6章 病毒 \r\n\r\n 6. 1 计算机病毒简述 \r\n\r\n 6. 1. 1 计算机病毒的定义 \r\n\r\n 6. 1. 2 计算机病毒的历史 \r\n\r\n 6. 2 文件型病毒 \r\n\r\n 6. 2. 1 文件型病毒传染的机理 \r\n\r\n 6. 2. 2 文件型病毒源码剖析 \r\n\r\n 6. 2. 3 文件型病毒的防范 \r\n\r\n 6. 3 电子邮件病毒 \r\n\r\n 6. 3. 1 电子邮件病毒的运作机理 \r\n\r\n 6. 3. 2 一种电子邮件病毒的源代码分析 \r\n\r\n 6. 3. 3 如何防范电子邮件病毒 \r\n\r\n \r\n\r\n 第7章 缓冲区溢出攻击 \r\n\r\n 7. 1 缓冲区溢出简介 \r\n\r\n 7. 1. 1 缓冲区溢出的概念及原理 \r\n\r\n 7. 1. 2 缓冲区溢出的危害 \r\n\r\n 7. 1. 3 最新的缓冲区溢出 \r\n\r\n 7. 1. 4 一道最简单的缓冲区溢出程序 \r\n\r\n 7. 2 缓冲区溢出的防范建议 \r\n\r\n \r\n\r\n 第8章 DoS与DDoS \r\n\r\n 8. 1 DoS和DDoS攻击简介 \r\n\r\n 8. 2 如何进行DoS. DDoS攻击 \r\n\r\n 8. 3 构造DoS和DDoS攻击 \r\n\r\n 8. 3. 1 DoS. DDoS攻击的原理 \r\n\r\n 8. 3. 2 源代码分析 \r\n\r\n 8. 4 如何防范DoS. DDoS攻击 \r\n\r\n 防 守 篇 \r\n\r\n \r\n\r\n 第9章 数据文件的安全 \r\n\r\n 9. 1 数据文件的加密 \r\n\r\n 9. 1. 1 引言 \r\n\r\n 9. 1. 2 基本概念 \r\n\r\n 9. 1. 3 加密数据的通信过程 \r\n\r\n 9. 1. 4 简单加密算法举例 \r\n\r\n 9. 2 可执行文件的加密 \r\n\r\n 9. 2. 1 引言 \r\n\r\n 9. 2. 2 加密原理 \r\n\r\n 9. 2. 3 具体实现 \r\n\r\n \r\n\r\n 第10章 Sniffer的编写 \r\n\r\n 10. 1 初识Sniffer \r\n\r\n 10. 2 编写Sniffer程序 \r\n\r\n 10. 2. 1 实现原理及流程 \r\n\r\n 10. 2. 2 程序讲解 \r\n\r\n \r\n\r\n 第11章 个人防火墙编程技术 \r\n\r\n 11. 1 个人防火墙介绍 \r\n\r\n 11. 2 个人防火墙的编程设计 \r\n\r\n 11. 2. 1 功能简介 \r\n\r\n 11. 2. 2 用法简介 \r\n\r\n 11. 2. 3 主程序工作流程 \r\n\r\n 11. 2. 4 如何实现SPIHOOK \r\n\r\n 11. 2. 5 如何实现NDISHOOK \r\n\r\n 11. 2. 6 如何判断数据包的合法性 \r\n\r\n 11. 2. 7 如何屏蔽指定IP地址的访问 \r\n\r\n 11. 2. 8 如何屏蔽指定端口的访问 \r\n\r\n 11. 2. 9 如何防止被探测 \r\n\r\n 11. 2. 10 小结 \r\n\r\n 附录 \r\n\r\n 附录A 相关API介绍 \r\n\r\n 附录B 有关编程的好书好网站 \r\n
\r\n
随着Internet的普及, 在大家安逸地享受着Internet带来“恩赐”的同时, 随之而来的却是黑客的攻击. 数据的被窃取, 一声“现在的网络极不安全, 你随时都会面临惨重的损失!”终于敲醒了人们沉睡的头脑!于是, 网络信息安全自然成为当前的热门话题.
随着计算机网络的发展和黑客攻击技术的层出不穷, 网络安全技术也争先恐后地浮出水面. 各大电脑保护软件. 防火墙. 入侵检测系统的开发公司纷纷拔地而起, 在这个虚拟的Internet世界里掀起了“百花齐放, 百家争鸣”的浪潮.
为了增加读者对编程和网络技术的了解, 深入探索“攻”与“防”这两个相互矛盾的技术, 一方面, 让读者从另外一个角度来了解“攻”并不只是拿现成的工具用用就可以了, 还应该深入了解其中的原理, 不但“知其然”, 还要“知其所以然”, 另一方面, 读者在了解“攻”的技术的同时, 还要了解如何“防”, 增强读者的防范意识和动手解决问题的能力. 让读者在阅读本书的同时, 能从另一个角度来理解黑客技术, 这也是本书的一个重要指导思想.
本书提供了一些有参考价值的代码, 代码主要用C/C++来描述, 并且均在VisualC++6. 0或C++Builder5. 0环境下编译调试通过. 书中部分章节还涉及到了汇编语言, 所有的代码都附上了详细的解释, 力求让每一位有一定C语言和汇编语言基础的读者都能明白本书的程序. 全书内容实用, 示例丰富, 适合初学者和有一定编程基础想深入Windows编程的朋友学习和参考.
本书遵循由浅人深的原则, 在内容安排上做到层次分明, 由易到难. 由攻到防. 本书共分11章:第1章的Windows编程基础讲述了Windows编程的一些基础知识, 其中包括一些操作的方法和技巧. 第2章的迈进攻防编程介绍了Windows网络编程的基础. PE文件结构等内容. 第3章的特洛伊木马详尽地描述了木马的方方面面, 并附有一个自制木马的源程序. 第4章的扫描器细致地讲述了扫描器的工作原理和实现方法等. 第5章的恶作剧程序剖析深入探讨了恶作剧程序内幕. 第6章的病毒详细介绍了病毒的代码分析以及防范措施. 第7章的缓冲区溢出攻击将从编程的角度来分析它的根源. 第8章的DoS与DDoS攻击将介绍拒绝服务攻击的基本编程方法, 同时也介绍防范措施. 第9章的文件安全将介绍如何加密数据文件来防止它的泄漏. 第10章的Sniffer的编写主要介绍它的实现原理及流程. 第11章的个人防火墙编程技术将把个人防火墙从原理到实现一一展示在读者面前. 附录A将介绍相关的APl知识, 相当一部分是微软没有公开的API. 附录B将介绍部分编程方面的好书.
在本书的写作过程中得到了刘思阳. 谭登元等同志的大力支持, 并提出不少指导性的建议, 在此对他们表示由衷地感谢!此外还要特别感谢《黑客防线》丛书执行主编郭聪辉给我们的帮助与关心!
由于写作时间仓促以及编者水平所限, 书中难免存在错误和疏漏之处, 恳请读者批评. 指正.
编者