C++ 黑客编程揭秘与防范 - (EPUB全文下载)

文件大小:0.51 mb。
文件格式:epub 格式。
书籍内容:

C++ 黑客编程揭秘与防范
第1章 黑客编程入门
第2章 木马开发剖析
第3章 Windows应用编程基础
第4章 加密与解密
第5章 HOOK编程
第6章 黑客编程剖析
第7章 最后的旅程——简单驱动开发及逆向
参考文献
版权
第1章 黑客编程入门
你是否曾经在用别人开发的工具尝试“入侵”,你是否希望开发出自己的黑器……相信很多人有着这种近似相同的经历。本章将简单介绍黑客编程及工具开发。如果你是初学编程,如果你从来没有接触过黑客软件的开发,如果你急于想了解黑客编程方面的知识……那么就请继续往下阅读。
1.1 编程语言和开发环境的选择
初学者刚开始学习编程语言最头疼的问题就是如何选择编程语言及合适的开发环境,下面就来具体介绍一下。
有人认为学编程就是学编程语言,而VC、VB这样的开发环境只是工具,不需要学。这个想法是错误的,因为开发环境提供了很多开发工具,如VC这个集成开发环境就提供了与之对应的PSDK、MFC等。除了语言以外,要开发特定的软件是需要开发包和开发工具支持的。况且,编程语言也是一种工具,用于和计算机进行交流的工具。所以我们既要学习编程语言,也要学习开发工具。
对于选择哪种编程语言或者开发环境其实也没有特定的标准。有这样一句话,“真正的程序员用VC,聪明的程序员用Delphi,用VB的不是程序员”。笔者却并不这么认为,因为在很多编程的书籍上常常这样提醒并告诫学习者,编程的精髓是“算法”,而语言是用来描述算法的。因此,大家也不必因为无法选择而无从下手。
黑客一般都掌握多种编程语言,他们不但掌握着与底层相关的如汇编、C之类的编程语言,而且还掌握很多脚本语言,如Python、Perl、Ruby……很多黑客在发现0Day以后用Perl或者Python来写POC;MSF使用的是Ruby来进行开发Exploit;有的黑客在反病毒时竟然写个批处理就搞定了……对于黑客来说,一切语言都是服务于自己的思想的,只要能快速实现自己的想法,能完成自己所要完成的功能就行,从不拘泥于任何语言和工具。在网上有很多学习不同编程语言的人们之间经常互相攻击,这其实是一种极端的行为,大家还是理性地对待这些问题比较好。
前面说了这么多,仿佛是在绕圈子,一直没有介绍到底应该选择什么编程语言和开发环境。我们这里选择使用C 语言作为黑客编程的学习语言,选择VC6(VisualC++ 6.0的缩写)来作为我们的开发环境。VS 6 相对于Visual Studio 2005、Visual Studio 2008和Visual Studio 2010之类的开发环境来说要小巧很多,当前是可以满足我们的开发需求的。选择C语言的原因是由于Windows的API都是用C语言定义的,相对于使用其他编程语言会方便很多。笔者认为在VB下使用API就非常不方便,尤其是涉及指针这个概念的时候。除了VC6以外,还需要下载新版的PSDK,因为VC6中包含的PSDK过于旧,有些新的API我们无法通过包含头文件而直接使用,因此这个也是必须的。
1.1.1 何为SDK、API和MFC
既然选择VC作为开发环境,那么先来了解一下VC开发环境中今后会用到的一些工具的概念,这些概念都相对比较简单,常见的概念有SDK、API和MFC。
SDK 是Software Develop Kits 的缩写,即软件开发工具包。SDK 是一个泛指,比如对视频采集卡进行二次开发,那么视频采集卡会提供SDK;再比如对动态令牌进行二次开发,那么动态令牌也会提供SDK。操作系统为了程序员在其平台下开发应用程序也会提供SDK,我们对系统提供的开发包称之为PSDK。PSDK 是Platform SDK 的意思,也就是平台SDK。对于我们来说,平台就是Windows操作系统。Windows下的PSDK包含了进行Windows软件开发的文档和API函数的输入库、头文件等一些与Windows开发相关的工具。PSDK是一个单独的开发包,不过每个不同版本的VC和其他一些开发环境中也已经包含了它。
API 是Application Programming Interface的缩写,即应用程序接口。不同的SDK 提供不同的API。PSDK提供的API就是操作系统提供的开发应用程序的接口,比如Windows系统下删除文件的 API 函数是 DeleteFile();再比如 Windows 系统下移动文件的 API 函数是MoveFile(),而其他一些供二次开发的SDK中附带的API,也是为了进行开发应用程序而提供的接口。
MFC 是Microsoft Foundation Class的缩写,即微软基础类库。它是微软为了简化程序员的开发工作量所提供的基于C++类的一套面向对象的库,它封装了常见的API函数,使得开发较为方便。
我们在书中会用到API进行开发,也会使用MFC进行开发。不过对于MFC的使用,基本上用在与界面相关的部分,一般是简单地带过,不会进行过多的讨论。我们的重点是放在API函数的使用上。关于MFC的相关内容,还请大家自行参考学习。
1.1.2 VC6和SDK的配置
新版的PSDK(Windows Server 2003 SP1 Platform SDK)的下载地址为http://www.microsoft.com/downloads/en/details.aspx?FamilyID=eba0128f-a770-45f1-86f3-7ab010 b398a3。如果此地址过期的话,请大家在网上自行搜索并下载。
SDK 和 VC6 互相是独立的,不需要安装在同一个目录下,根据自己的实际情况安装就可以了。在安装好 VC6 和新版的 SDK 后,需要在 VC6 中进行相应的设置才能使用新版的SDK,否则VC6仍然使用其自带的旧的SDK。SDK和VC6的安装步骤这里就不介绍了(提示:请把VC6安装完整,VC6会提供一些代码,对我们的学习是非常有帮助的),下面介绍新版的SDK如何配置才能在VC6中使用。
启动 VC6,单击 ............

以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。

版权声明:书云(openelib.org)是世界上最大的在线非盈利图书馆之一,致力于让每个人都能便捷地了解我们的文明。我们尊重著作者的知识产权,如您认为书云侵犯了您的合法权益,请参考版权保护声明,通过邮件openelib@outlook.com联系我们,我们将及时处理您的合理请求。 数研咨询 流芳阁 研报之家 AI应用导航 研报之家
书云 Open E-Library » C++ 黑客编程揭秘与防范 - (EPUB全文下载)