高级WIN2K ROOTKIT检测技术
HOT

--背景知识一个在计算机安全领域中重要的问题是,如何判断给定的主机是否已被入侵.由于以下两点这项工作变的非常困难:1.攻击者可以利用未知漏洞进入系统.2.当进入系统后,入侵者可通过安装rootkit和后门来隐藏自身(例如:隐藏进程,通讯渠道,文件等).本文将集中讨论在Win2K系统下rootkit的检测问题.--传统rootkit检测技术中的一些问题传统的rootkit检测程序(那些我们经常在UN...
阅读全文

VC++实现应用程序对插件的支持
HOT

引言   目前,不少流行软件都提供有对外挂插件的支持功能,如Winamp、Realplay等等。这些软件通过对插件技术的使用为日后的软件升级和功能扩展提供了相当的便利条件。尤为重要的是,通过使用插件技术,使得对软件的功能扩展将不再完全受限于软件厂商,任何第三方开发商或是程序员个人只要遵循了软件提供的插件接口标准去开发插件就完全可以同主体软件有很好的兼容,从而使用户对应用程序进行个性化功能扩展成为了...
阅读全文

程序宝典:C++学习感想
HOT

在一些论坛上经常会看到一些各语言的优劣比较,知道自己所学语言的优劣也好,但是如果一味停留在这个层面就没有用了。任何语言都只是工具而已。重要的是使用工具的人!就我个人的经验来讲,真正处于业界搞开发的人都愿意使用成熟的、为自己所熟知的技术来完成工作。而新手都喜欢用一些比较新的技术来做开发,而且喜欢追求新奇(从界面很容易看出来,花花绿绿的界面多半出自新手)。其实,安于用一些效率可能低下、扩展性和维护性差...
阅读全文

C++入门解惑——为什么学习C++
HOT

为什么学习C++0.Why Shall I Learn C++?C++作为一门较为成熟重量级的语言,吸引了许许多多编程学习者。单从市面上编程书籍中C++的书所占的比例即可见一斑。当然,近年来随着Java、C#的兴起与逐渐发展,也出现了一些不同的声音,认为C++并非高效应用编程的首选,而且硬件的迅速发展也会使虚拟平台的速度劣势淡化,而其优良的可移植性及安全性将使之成为新的语言主流……但无论怎么说,C...
阅读全文

轻轻松松从C一路走到C++系列文章之一
HOT

C++技术固然是很时髦的,许多C用户都想在尽可能短的时间内为自己贴上C++的标签。介绍C++的书很多,但只有那些已经侥幸入门的用户才偶尔去翻翻,仍有不少在C++门口徘徊的流浪汉。 本文只针对C用户,最好是一位很不错的老用户(譬如他在遇到最简单的问题时都尝试着使用指针),通过一些C和更好的C++(本文用的是Borland C++3.1版本)例程介绍有关C++的一些知识,让读者朋友们“浅入深出”,轻轻...
阅读全文

C++之父谈C++
HOT

    现在我们仍然很难估计C++程序员的数量,但在2003年,IDC报告说有超过300万的全职C++程序员,这个数据还是比较可信的。虽然我不能够精确地计算,但是我所拥有的所有指标都显示,C++在经过前十年(1985-1994)的爆炸性增长之后,后十年(1995-2004)其使用人数一直在稳定地增长。我还没有经历过其增长停止的时期。我猜想,虽然面对竞争产品的有力宣传和...
阅读全文

C++箴言:理解inline化的介入和排除 (4)
HOT

这些代码并不代表真正的编译器所生成的,因为真正的编译器会用更复杂的方法处理异常。尽管如此,它还是准确地反映了 Derived 的“空”构造函数必须提供的行为。不论一个编译器的异常多么复杂,Derived 的构造函数至少必须调用它的数据成员和基类的构造函数,而这些调用(它们自己也可能是 inline 的)会影响它对于 inline 化的吸引力。  同样的原因也适用于 Base 的构造函数,所以如果它...
阅读全文

C++箴言:理解inline化的介入和排除 (3)
HOT

甚至在你从来没有使用函数指针的时候,未 inline 化的 inline 函数的幽灵也会时不时地拜访你,因为程序员并不必然是函数指针的唯一需求者。有时候编译器会生成构造函数和析构函数的 out-of-line 拷贝,以便它们能得到指向这些函数的指针,在对数组中的对象进行构造和析构时使用。  事实上,构造函数和析构函数对于 inline 化来说经常是一个比你在不经意的检查中所能显示出来的更加糟糕的候...
阅读全文

C++箴言:理解inline化的介入和排除 (2)
HOT

max 是一个模板的事实引出一个观察结论:inline 函数和模板一般都是定义在头文件中的。这就使得一些程序员得出结论断定函数模板必须是 inline。这个结论是非法的而且有潜在的危害,所以它值得我们考察一下。 inline 函数一般必须在头文件内,因为大多数构建环境在编译期间进行 inline 化。为了用被调用函数的函数本体替换一个函数调用,编译器必须知道函数看起来像什么样子。(有一些构建环境可...
阅读全文

C++箴言:理解inline化的介入和排除 (1)
HOT

inline 函数——多么棒的主意啊!它们看起来像函数,它们产生的效果也像函数,它们在各方面都比宏好得太多太多,而你却可以在调用它们时不招致函数调用的成本。你还有什么更多的要求呢?   实际上你得到的可能比你想的更多,因为避免函数调用的成本只是故事的一部分。在典型情况下,编译器的优化是为了一段连续的没有函数调用的代码设计的,所以当你 inline 化一个函数,你可能就使得编译器能够对函数体实行上下...
阅读全文

C++类对象的深拷贝、浅拷贝构造函数 (1)
HOT

在学习这一章内容前我们已经学习过了类的构造函数和析构函数的相关知识,对于普通类型的对象来说,他们之间的复制是很简单的,例如: int a = 10; int b =a;自己定义的类的对象同样是对象,谁也不能阻止我们用以下的方式进行复制,例如: #include <iostream>usingnamespacestd; classTest { public: Test(inttemp) ...
阅读全文

理解 C++ Builder 可视化组件库(VCL)
HOT

可视化组件库(VCL)基于属性、方法、事件(PME)模型。PME模型定义了数据成员(属性)、操作数据的函数(方法)、用户使用类的途径(事件)。VCL是对象的分层结构,它是用ObjectPascal所写的,但它可以完全正常地工作于C++Builder的IDE当中,依靠它可以实现快速应用程序开发。使用C++Builder的对象观察器和组件面板,你可以在窗体中任意放置VCL组件,并指定它们的属性而无需编...
阅读全文

头文件的结构
HOT

头文件由三部分内容组成:(1)头文件开头处的版权和版本声明(参见示例1-1)。(2)预处理块。(3)函数和类结构声明等。假设头文件名称为 graphics.h,头文件的结构参见示例1-2。【规则1-2-1】为了防止头文件被重复引用,应当用ifndef/define/endif 结构产生预处理块。【规则1-2-2】用 #include <filename.h> 格式来引用标准库的头文件(...
阅读全文

高质量编程C++/C试题
HOT

本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。一、请填写BOOL , float, 指针变量 与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空...
阅读全文
154 页 / 共 196