C++黑客编程揭秘与防范
2012-6
人民邮电出版社
冀云
265
406000
无
《C++黑客编程揭秘与防范》旨在通过简单的语法知识及常用的系统函数编程,完成一些有特定功能的安全工具,让读者对系统知识等各方面有一个全面的了解,并且在笔者的带领下一步步完成书中的实例。本书主要内容为:第1章了解黑客编程,主要讲解了VC(Visual
C++的缩写)和Windwos下安全编程方面的基础知识。第2章 从剖析简单的木马说起,讲解有关的网络编程和协议知识。第3章
Windows应用编程基础,讲解API编程的技术。第4章 加密与解密,讲解PE等加密有关的知识。第5章
HOOK编程,讲解了与钩子有关的知识。第6章
黑客编程剖析,剖析了病毒的原理和攻防技术,以及安全工具的开发。第7章最后的旅程——简单驱动开发及逆向。
《C++黑客编程揭秘与防范》适合网络安全人员、黑客爱好者,以及相关的程序员阅读。
第1章 黑客编程入门
1.1 编程语言和开发环境的选择
1.1.1 何为SDK、API和MFC
1.1.2 VC6和SDK的配置
1.2 应用程序的调试
1.2.1 编写我们的第一个程序
1.2.2 用VC6调试第一个程序
1.2.3 专业的应用程序调试工具——OllyDbg
1.3 简单API的介绍
1.3.1 复制自身程序到Windows目录和系统目录下
1.3.2 获得系统的相关信息
1.3.3 Debug和Release的编译方式
1.3.4 查看函数定义
1.4 总结
第2章 木马开发剖析
2.1 网络通信基础
2.1.1 IP地址的作用与分类
2.1.2 端口的作用与分类
2.2 网络编程基础知识
2.2.1 通信模型
2.2.2 Winsock
2.2.3 Winsock的相关函数
2.2.4 字节顺序
2.3 简单的通信程序
2.3.1 基于TCP协议的“Hello World!”
2.3.2 基于UDP协议的“Hello World!”
2.4 实现一个C/S模式的简单木马
2.4.1 木马服务器端的实现
2.4.2 木马客户端的实现
2.5 总结
第3章 Windows应用编程基础
3.1 文件
3.1.1 打开文件
3.1.2 文件操作
3.2 AutoRun免疫程序的编写
3.2.1 AutoRun免疫原理
3.2.2 AutoRun免疫程序的代码实现
3.2.3 界面设置
3.2.4 代码相关部分
3.3 注册表操作
3.3.1 注册表
3.3.2 与注册表操作相关的常用API函数
3.3.3 注册表启动项的管理
3.3.4 程序的界面设置及相关代码
3.3.5 启动项的枚举
3.3.6 添加启动项的代码
3.3.7 删除启动项的代码
3.4 服务相关的编程
3.4.1 如何查看系统服务
3.4.2 服务控制管理器的开发
3.4.3 枚举服务的相关API函数
3.4.4 服务的停止
3.4.5 停止服务的相关API函数
3.4.6 服务的启动
3.5 进程与线程
3.5.1 进程
3.5.2 进程的创建
3.5.3 “下载者”的简单演示
3.5.4 CreateProcess()函数介绍与程序创建
3.5.5 进程的结束
3.5.6 进程的枚举
3.5.7 调整当前进程的权限
3.5.8 进程的暂停与恢复
3.5.9 多线程
3.6 DLL编程
3.6.1 什么是DLL
3.6.2 编写一个简单的DLL程序
3.6.3 对DLL程序的调用方法一
3.6.4 对DLL程序的调用方法二
3.7 远程线程
3.7.1 DLL注入
3.7.2 DLL卸载
3.7.3 无DLL的代码注入
3.8 总结
第4章 加密与解密
4.1 PE文件结构
4.1.1 PE文件结构全貌
4.1.2 MZ头部
4.1.3 PE头部
4.1.4 节表
4.1.5 节表数据
4.2 详解PE文件结构
4.2.1 DOS头部详解IMAGE_DOS_HEADER
4.2.2 PE头部详解IMAGE_NT_HEADERS
4.2.3 IAMGE_FILE_HEADER
4.2.4 IMAGE_OPTIONAL_HEADER
4.2.5 节区详解IMAGE_SECTION_HEADER
4.2.6 与PE结构相关的3种地址
4.2.7 3种地址的转换
4.3 PE查看器
4.4 简单的查壳工具
4.5 地址转换器
4.6 添加节区
4.6.1 手动添加一个节区
4.6.2 通过编程添加节区
4.7 破解基础知识及调试API函数的应用
4.7.1 CrackMe程序
4.7.2 用OD破解CrackMe
4.8 文件补丁及内存补丁
4.8.1 文件补丁
4.8.2 内存补丁
4.9 调试API函数的使用
4.9.1 常见的3种断点方法
4.9.2 调试API函数及相关结构体介绍
4.9.3 判断是否处于被调试状态
4.9.4 断点异常函数
4.9.5 调试事件
4.9.6 调试循环
4.9.7 内存的操作
4.9.8 线程环境相关API及结构体
4.10 打造一个密码显示器
4.11 总结
第5章 HOOK编程
5.1 HOOK知识前奏
5.2 内联钩子——Inline Hook
5.2.1 Inline Hook的原理
5.2.2 Inline Hook的实现
5.2.3 HOOK MessageBoxA
5.2.4 HOOK CreateProcessW
5.2.5 7字节Inline Hook
5.2.6 Inline Hook的注意事项
5.3 导入地址表钩子——IAT HOOK
5.3.1 导入表简介
5.3.2 导入表的数据结构定义
5.3.3 手动分析导入表
5.3.4 枚举导入地址表
5.3.5 IAT HOOK介绍
5.3.6 IAT HOOK之CreateFileW()
5.4 Windows钩子函数
5.4.1 钩子原理
5.4.2 钩子函数
5.4.3 键盘钩子实例
5.4.4 使用钩子进行DLL注入
5.5 总结
第6章 黑客编程剖析
6.1 恶意程序剖析
6.1.1 恶意程序的自启动
6.1.2 木马的配置生成与反弹端口
6.1.3 代码实现剖析
6.2 简单病毒剖析
6.2.1 病毒的感染剖析
6.2.2 缝隙搜索的实现
6.2.3 感染目标程序文件剖析
6.2.4 添加感染标志
6.2.5 自删除功能的实现
6.3 隐藏DLL文件
6.3.1 启动WinDBG
6.3.2 调试步骤
6.3.3 编写枚举进程中模块的函数
6.3.4 指定模块的隐藏
6.4 安全工具开发基础
6.4.1 行为监控工具开发基础
6.4.2 专杀工具
6.4.3 U盘防御软件
6.4.4 目录监控工具
6.5 引导区解析
6.5.1 通过WinHex来手动解析引导区
6.5.2 通过程序解析MBR
6.5.3 自定义MBR的各种结构体
6.5.4 解析MBR的程序实现
6.6 加壳与脱壳
6.6.1 手动加壳
6.6.2 编写简单的加壳工具
第7章 最后的旅程——简单驱动开发及逆向
7.1 驱动版的“Hello World”
7.2 驱动下的进程遍历
7.2.1 配置VMware和WinDbg进行驱动调试
7.2.2 EPROCESS和手动遍历进程
7.2.3 编程实现进程遍历
7.3 HOOK SSDT(系统服务描述表)
7.3.1 SSDT简介
7.3.2 HOOK SSDT
7.3.3 Inline HOOK SSDT
7.4 应用程序与驱动程序的通信
7.4.1 创建设备
7.4.2 应用程序与驱动程序的通信方式
7.4.3 应用程序与驱动程序的通信实例
7.5 C语言代码逆向基础
7.5.1 函数的识别
7.5.2 if…else…分支结构
7.5.3 switch分支结构
7.5.4 for循环结构
7.5.5 do…while与while…循环结构
参考文献
版权页: 插图: 从图6—6中看到了反弹木马的工作原理。通常情况下攻击者的IP地址是变动的,那么“小白”是如何连接到“黑客”的主机的呢?一般情况下黑客要把自己的IP地址动态地保存到某个固定的IP地址下(比如保存到网上FTP空间中),然后木马通过读取该IP地址下保存的黑客的IP地址进行连接,同样用图来说明,如图6—7所示。 从图6—7中可以看出,黑客开启木马客户端后,首先会更新服务器上保存着的自己的IP地址。“小白”会去读取服务器中保存着的黑客的IP地址,然后“小白”去连接“黑客”的主机,主动地让黑客去控制它,这就是木马中的“自动上线”。关于反弹端口的介绍就到这里。有了思路,通过前面学习的Wmsock的知识自己可以试着实现一下,这里就不做更多的介绍了。 二、木马的配置生成与配置信息的保护 木马写好以后,通常会发布一个程序,在木马程序中通过配置一些相关的内容和参数后,会生成一个木马的服务器端程序。为什么木马的客户端会生成木马的服务端程序呢?其实木马的客户端和服务端本来就是两个程序,只是通过某种方式使其成为了一个文件而已。让木马的服务端和客户端成为一个文件可以有多种方法,常见的有资源法和文件附加数据法两种。 在PE文件结构中有一个数据目录称作资源,资源可以是图片、图标、音频、视频等内容。资源法也就是把服务端以资源的形式连接到客户端的程序中,然后客户端通过一些操作资源的函数将资源读取出来并生成文件。文件附加数据法是将服务端保存到客户端的末尾,然后通过文件操作函数,直接将服务端读取出来并生成新的文件。 反弹端口连接是要访问某个固定的IP地址去读取保存着黑客的动态IP地址的信息,而这个固定的IP地址是保存在木马程序中的。也就是说,我们的客户端在把服务端生成以后,会把一些配置信息写入服务端程序的指定位置中,服务端程序会读取指定位置的信息来进行使用。配置信息的写入与读出必须要一致,否则就没有意义了。 对于配置信息中往往会存在一些比较敏感的信息,比如邮箱账号、密码等内容。比如,我们在分析盗QQ的木马时会发现接收QQ密码的邮箱,由于现在很多邮箱都需要SMTP的验证,因此在配置信息中也会看到邮箱的账号及密码信息。这样配置信息中的这些敏感信息很容易被人获取到,甚至接收QQ密码邮箱的账号和密码也会被别人获取到,真是“偷鸡不成蚀把米”。对于此类情况,正确的做法是对配置信息进行加密。也就是说客户端往服务端中写配置信息前需要加密后再写入,而服务端在使用这些信息前需要先解密再使用。 关于配置生成客户端与配置信息的保护上面已经介绍得差不多了,接下来应该把重点放在代码的实现上了。我们的代码是模拟实现上面的内容,而不是真的去生成木马。
1、讲解windows安全和网络编程知识;2、讲解内核编程以及软件逆向知识;
无
这是本适合黑客入门的书 当然是编程等深入方向 如果抱着学习各种黑机软件等无聊思想的就算了 买了你也看不了
黑客编程,超值,需要一定基础
几乎是手把手的指导,黑客两个字很能激起编程学习者的兴趣,确实能学到很多有意思的东西。
了解了黑客的方法,才能更好的防范,
学习黑客方便的知识入门不错
对一些编程入门的新手来说是不错的选择
介绍了一些常用的黑客方法,但一般书籍是不会提及的
好书,值得学习,黑客入门
这本书只能算是入门的一种简介把.看了一下讲解下原理在用示例证明.30RMB挺值得的 特别是在促销时候买
注重应用,只是讲解了怎么做,不够详细
计算机安全类的一本书读起来挺不错的
讲解得很详细,好书。
正在看前面几章,易懂,但切合实用,是本好书~
读过该书,属于入门级的书籍。简单易懂,对于入门读者非常适合。帮两个朋友各买了一本。
里边涉及到的知识还是很值得去研究的
学会了很多新的知识,这是其他教程没有的
主要讲的是win32内部调用的一些内容
这本书比较基础,用来入门比较好。如果想深入了解,还需要:自己实践
让我学到啦一些基础的东西
要有一定的c/c++基础才适合看,最好有winapi经验
正在读,印刷有一个地方有点小问题,但不影响阅读,内容不错至于里面的代码还没试过
书不厚,没几天就能读完,希望 能从不同角度了解C++
实例非常好
很不错这本书,挺适合我的
不错,挺全的,稍微有点C++基础就能看懂了!
卖家发货很效率,书有点薄,但内容很精彩。
书比较薄 内容还是不错的
书不错,就是邮政的快递太**包装全坏了,而且说好的货到刷卡,打电话来说刷不了卡要不要送态度极其恶劣。
对于感兴趣的人来说很不错,很好的书
作为新手的入门以及深入来说是本很好的书
书的纸张很好,就是书太薄了点
还在准备读,在学习C++中……
不错的一本书,正在学习。
这本书写的很好 通俗易懂 理论与实际相结合 思路很清晰
不错啊痛苦
还不错&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;&;hellip;
写的很详细,入门书籍。
印刷不错,纸张也不错
觉得不错就买下了。翻了一下,恩呢!
不错当当网很好 买东西包装都不错~~
第二次买了,朋友要的。
很好比较实用,可以借鉴借鉴
需要一定的C++功底
讲的还行 但是面窄
不错,慢慢看!
看的挺好
在学习不用看就很好因为在买的时候就已经确定是好货了当当大品牌值得信赖
学会了很多新的知识
不错,包装非常好
额,为什么纸质不是很好呢???
这本比较深奥
还没看,看完追加评论
棒极了吗么候车厅级长
挺不错的呵
还不错,但是挺薄的啊。。。
暂时还没仔细看,好像还不错。
我想学习计算机不过这本书是黑客儒门我只是看看不是真正的想做违法的事,
简单的原理,还要自己多理解。
这个还是不错的,对于初学者很适合,整体上很好,书的内容并没有很新颖的地方,而且还是过于偏向基础了,可以适当的添加更好层的东西,让书的内容丰富起来,循序渐进写书会更好,总之我个人还是很满意
书不错,就是内容偏基础,可以适当的带入些更深入的的东西
书本质量还不错,就是内容有些深,没有一定汇编语言基础的人可能会看不懂
不仅纸质不好,而且书角还翘起,不给力,还没看,期待内容值得一看
只是书角有点歪了,发货速度快,顶!
内容还不错 但是才翻几页就看到几个笔误
大致翻了一下,内容上还行。入门
本书还可以,是本好书
哈不错 树影好的 舒婷爱哦de
可以好好看看。
给弟弟买的 还没有看呢 呵呵
C++黑客编程揭秘与防范,介绍了一些黑客编程基础
C++黑客编程揭秘与防范
一般
没有源码
这本书是比较基础的 介绍基础的网络编程 当然对于没有这方面基础的人来说还是值得一看的
书一般,内容只是粗略介绍编程的方法,只有265页
还没看 貌似不适合入门
要看懂这本书,需要有C++语言基础,前面基础讲的不是很细
基本就是网上一些资料的罗列,不怎么样,没帮助
作为黑客入门级教材还说的过去,但是对代码部分的描述过于简单,有些例子只给出了部分代码,剩余部分需要自己从前例中寻找,如果不自习研究研究还真不知道完整的代码是什么。如果能随书带一张光盘就完美了。从网上下载的配套代码也不够详细。另外就是书里的内容过于老旧,有些include内容在现在来看根本就是错的对参数的介绍过于冗杂,有些没必要说的东西说的太详细,而需要仔细说明或举例说明的东西又一带而过总而言之,在为数不多的黑客教材里,还算可以
内容太广,包含的多,但是,讲的都浅。
已经看了一多半了,内容很易懂
书上的教程都是代码,没有范例,非常难领会
送货快,书的质量比较好,就是里面的内容相对少了点
值得一读,还是蛮不错的一本书
看不懂,因为学习的东西还是比较少的,好书吧
如果你想要成为一个黑客,如果你想知道常见的黑客技术是如何实现的,我相信这本书是一个好的选择
不错,入门很好,很喜欢
内容不错,可以用做c++进阶
已向几位老年朋友介绍了,防备美国cracker攻击。
这本书主要介绍了hook技术与实现,还算不错的基础书籍。
内容衔接紧密,章节清晰
学习黑客编程
日````
此书我非常喜欢,很多别人不喜欢告诉别人的技术这里都有。
此书应该很负责。
大家可以比较一下同类书籍就知道了。
书中的例子都很短,阅读不会有负担。
书中的例子都很短,阅读不会有负担。