C++中接口与实现分离的技术
摘要:在用C++写要导出类的库时,我们经常只想暴露接口,而隐藏类的实现细节。也就是说我们提供的头文件里只提供要暴露的公共成员函数的声明,类的其他所有信息都不会在这个头文件里面显示出来。这个时候就要用到接口与实现分离的技术。 下面用一个最简单的例子来说明。 类ClxExp是我们要导出的类,其中有一个私有成员变量是ClxTest类的对象,各个文件内容如下: lxTest.h文件内容:class ClxTes...
阅读全文
posted @
2010-05-31 21:45
carekee
阅读(785)
推荐(0) 编辑
smtp协议 VC实现发送邮件
摘要:利用VC2005实现了邮件发送,源程序如下://-------------------------------------------------------SmtpSendEmail.h------------------------------------#pragma once#include <list> #include <string> #include <...
阅读全文
posted @
2010-05-31 17:27
carekee
阅读(2193)
推荐(0) 编辑
VC++ 6.0的小花招
摘要:Visual Studio系列中产品中,Visual Studio 6.0是最经典的一个版本,虽然后来有Visual Studio .NET 2003,以及2005,也确实添加了很多让我觉得激动的特性,但是从使用细节的细腻程度上来看,VS 6.0无疑是最棒的。我们一些同事甚至试图把2005的C++编译器独立的拿到Visual Studio 6.0中来用,也不愿意升级到.NET上来用,可见其魅力。和...
阅读全文
posted @
2010-05-30 23:39
carekee
阅读(307)
推荐(0) 编辑
VC++6.0升级到VC++2010理由之一(符合C++标准编写更加安全的代码)
摘要:VC++6.0升级的一个很大的障碍就是代码不兼容,但是VC++6.0的C++不够标准,不够安全,存在诸多安全漏洞,内存析出,缓冲区溢出,等等,代码的安全性,可靠性得不到有利的保障,为了您的软件的长治久安,以及在Windows7平台上的迁移,请克服代码兼容性带来的麻烦,一定要设法升级到VC++2010。关于C++中异常的争论何其多也,但往往是一些不合事实的误解。异常曾经是一个难以用好的语言特性,幸运...
阅读全文
posted @
2010-05-30 23:19
carekee
阅读(592)
推荐(0) 编辑
Visual C++2010的c++语言四大新特性
摘要:微软即将在2010年4月12日发布VS2010的正式版,对于c++语言做了修改,使之更加符合c++标准。下面对于微软对于c++语言的修改做一下分析!Lambda表达式很多编程编程语言都支持匿名函数(anonymous function)。所谓匿名函数,就是这个函数只有函数体,而没有函数名。Lambda表达式就是实现匿名函数的一种编程技巧,它为编写匿名函数提供了简明的函数式的句法。同样是Visual...
阅读全文
posted @
2010-05-30 22:09
carekee
阅读(1364)
推荐(0) 编辑
C/C++底层实现指定磁盘只读
摘要:燕狂徒写的驱动挂钩,限制磁盘只读,用于保证涉密计算机的稳定,相当于将磁盘变成ROM#include "ntddk.h"#include <srb.h>#include <scsi.h>#define DRIVERNAME "OnlyRead(GongXiPeng!)" // for use in messagestypedef struct tagDEVICE_EXTENS...
阅读全文
posted @
2010-05-30 22:05
carekee
阅读(741)
推荐(0) 编辑
vc++实现文件加密解密
摘要:#include "stdafx.h"#include "ecfile.h"#include "ecfileDlg.h"#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE[] = __FILE__;#endif/////////////////////////////////////////////////...
阅读全文
posted @
2010-05-30 22:04
carekee
阅读(1706)
推荐(0) 编辑
关于文件透明加密解密
摘要:1.windows文件系统概述 硬盘文档加密系统驱动原理一般有两种:通过HOOK一些底层的系统内核调用对文件目录的访问权限进行控制,在文件系统输入输出驱动上层直接建立一个驱动对文件目录的数据进行加密。由于windows文件系统不是物理设备,其堆栈结构比较特殊,因此文件系统过滤驱动也与一般过滤驱动有一些不同(这一点背景可以参考下楚狂人[1]的文档和IFS的提供的若干文档,除了正常的文件接口,还有一种...
阅读全文
posted @
2010-05-30 22:04
carekee
阅读(5580)
推荐(0) 编辑
vc++实现U盘介质加密解密保障存储安全
摘要:核心代码如下:view plaincopy to clipboardprint?·········10········20········30...
阅读全文
posted @
2010-05-30 22:03
carekee
阅读(1082)
推荐(0) 编辑
vc++无进程式线程插入穿墙技术实现
摘要:加载模块核心源码#include "Loader.h"BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason,LPVOID lpvReserved){hinst = hinstDLL;switch(fdwReason){case DLL_PROCESS_ATTACH://MessageBox(NULL,"DLL_PROCESS_ATTACH",...
阅读全文
posted @
2010-05-30 22:02
carekee
阅读(391)
推荐(0) 编辑
VC++ 基于NTFS的数据流创建与检测
摘要:#include <stdio.h>#include <windows.h>int ReadStream( HANDLE hFile, bool bIsDirectory, char* FileName ){//数据流文件名查找////输入:// 已打开的文件句柄// bIsDirectory// 文件名, 用于显示数据流在哪个文件中//结果:// 直接在函数中输出//返回...
阅读全文
posted @
2010-05-30 22:01
carekee
阅读(534)
推荐(0) 编辑
VC++实现镜像劫持(360保险箱启动原理)
摘要:#include "stdafx.h"#include <stdio.h>#include <windows.h>int main(int argc, char* argv[]){char temp[256];DWORD ret;LPCTSTR szRegKey="SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\Image ...
阅读全文
posted @
2010-05-30 22:01
carekee
阅读(423)
推荐(0) 编辑
VC++实现NAT穿透之NAT类型检测
摘要:// NatCheck.cpp : Defines the entry point for the console application.//#include "stdafx.h" #include <process.h> #include <stdio.h> #include <afx.h>#include "winsock2.h"#include "....
阅读全文
posted @
2010-05-30 22:00
carekee
阅读(1181)
推荐(0) 编辑
vc是实现RootKit文件隐藏
摘要:#include "ntddk.h"#include <windef.h>#pragma pack(1) //SSDT Tabletypedef struct ServiceDescriptorEntry { unsigned int *ServiceTableBase; unsigned int *ServiceCounterTableBase; //Used only in che...
阅读全文
posted @
2010-05-30 21:59
carekee
阅读(552)
推荐(0) 编辑
vc++实现内核级进程保护
摘要:保护核心代码#include "ntddk.h"#define NT_DEVICE_NAME L"\\Device\\ProtectProcess"#define DOS_DEVICE_NAME L"\\DosDevices\\ProtectProcess"#define IOCTL_PROTECT_CONTROL CTL_CODE(FILE_DEVICE_UNKNOWN, 0x800, METH...
阅读全文
posted @
2010-05-30 21:59
carekee
阅读(1017)
推荐(0) 编辑
vc++实现Ring3全局HOOK
摘要:/***********************************************************************//*实现全局hook模块基本完工,测试通过,没有发现异常。 计划1:在hook前首先检验该程序是否已被hook 计划2:添加枚举进程并hook功能 计划3:在备份api时,只备份目标api函数,避免备份整个dll浪费空间 计划4:给my_EventPro...
阅读全文
posted @
2010-05-30 21:59
carekee
阅读(1058)
推荐(0) 编辑
VC实现Rootkit端口隐藏
摘要:#include "ntddk.h"#include <stdio.h>#include <tdiinfo.h>#include <tdistat.h>#include "netType.h"#define NT_DEVICE_NAME L"\\Device\\HidePort"#define DOS_DEVICE_NAME L"\\DosDevices\\Hi...
阅读全文
posted @
2010-05-30 21:58
carekee
阅读(832)
推荐(0) 编辑
vc实现用文件系统过滤驱动实现文件隐藏的类
摘要:调用一个开源的文件过滤驱动,头文件typedef struct _ATTACH_EXTENSION {CHAR VolumeLetter;PDEVICE_OBJECT VolumeDevice;} ATTACH_EXTENSION, *PATTACH_EXTENSION;PDRIVER_OBJECT g_DriverObject;源文件#include <ntifs.h>#inclu...
阅读全文
posted @
2010-05-30 21:57
carekee
阅读(821)
推荐(0) 编辑
VC++实现进程冻结与解冻
摘要:冻结进程#include <stdio.h>#include <windows.h>#include <tlhelp32.h>int main(int argc,char *argv[]){PROCESSENTRY32 pe32;pe32.dwSize=sizeof(pe32);unsigned long Pid;HANDLE hProcessSnap=::Cr...
阅读全文
posted @
2010-05-30 21:56
carekee
阅读(576)
推荐(0) 编辑
vc++实现Inline hook KeyboardClassServiceCallback实现键盘记录
摘要:/**/#ifndef _DBGHELP_H#define _DBGHELP_H 1#include <ntddk.h>#define dprintf if (DBG) DbgPrint#define nprintf DbgPrint#define kmalloc(_s)ExAllocatePoolWithTag(NonPagedPool, _s, 'SYSQ')//#define k...
阅读全文
posted @
2010-05-30 21:56
carekee
阅读(2090)
推荐(0) 编辑