自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ghosthhh的专栏

各种资料搜集总结

  • 博客(12)
  • 资源 (27)
  • 收藏
  • 关注

原创 teechart

// 坐标轴CAxes axes = m_tchart.get_Axis();CAxis axisBottom = axes.get_Bottom();axisBottom.SetMinMax(1520, 1570);CAxis axisLeft = axes.get_Left();axisLeft.SetMinMax(-100, -10);//标题栏 CTitles title =

2013-02-05 15:13:43 3057 1

原创 拆分窗口

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/, CCreateContext* pContext){ //return m_wndSplitter.Create(this, // 2, 2, // TODO: 调整行数和列数 // CSize(10, 10), // TODO: 调整最

2013-02-05 15:10:01 605

原创 VC2010操作EXCEL

环境:Windows7Microsoft Visual Studio 2010Microsoft Office Excel 2003/20101.        新建VC工程2.        添加Excel类库在工程名上右键,选择增加->类,选择TypeLib中的MFC类(类向导中同样可以添加)添加以下类CApplication CWo

2013-02-05 14:44:54 2264

原创 struct对齐

默认情况下VC会将结构体对齐,如 typedef struct _tag_forward_sensor_data {  char  cChannelNO;  char  cSensorNO;     long  lValue;      char  cType;  }SENSOR, *LPSENSOR;会占用12个字节, 实际使用7个字节. 内存数据 01 01

2012-09-21 11:26:54 380

原创 TCP

服务器// server.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include using namespace std;int main(int argc, char* argv[]){ WSADATA wsaData; if(0!

2012-09-17 23:13:21 262

原创 VC时间

精确到秒 CString strTime; CTime t = CTime::GetCurrentTime(); strTime = t.Format("%Y-%m-%d\t%H:%M:%S\t"); 精确到毫秒 CString strTime; SYSTEMTIME systime; GetSystemTime(&systime); strTime.For

2012-08-23 10:24:50 307

原创 DLL文件(未完结)

DLL文件内使用对话框资源AFX_MANAGE_STATE(AfxGetStaticModuleState()); 头文件#ifndef API_EXPORT_HEAD_H#define API_EXPORT_HEAD_Hcode#endif#define API_EXPORT_HEAD_H

2012-08-23 10:21:41 218

原创 UDP连接

WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return FALSE; }

2012-08-23 10:03:49 387

转载 Win32串口编程

Win32串口编程 http://www.vckbase.com/index.php/wv/1439

2012-07-27 10:19:01 247

原创 VC项目路径设置

C/C++->Preprocessor->addtional includedirectoies->../includelink->general->output file name->../bin_d/UDPCon.dlllink->additional library path->../lib_dgeneral->output directories->output files->

2012-07-13 09:15:32 376

原创 CListCtrl

一、使CListCtrl能够编辑子项1、在对话框中添加一个CListCtrl控件,并添加CListCtrl类型的变量m_list。2、初始化控件设置控件风格(照抄网上的)LONG lStyle;lStyle = GetWindowLong(m_list.m_hWnd, GWL_STYLE);//获取当前窗口stylelStyle |= LVS_REPORT; //设置sty

2012-07-12 17:04:07 627

原创 自定义工具栏

图标按钮m_imageList.Create(32,32,ILC_COLOR24|ILC_MASK,1,1);m_imageList.Add(AfxGetApp()->LoadIcon(IDR_MAINFRAME));按钮IDUINT array[2];array[0] = ID_SYS_START;m_toolbar.Create(this);m_toolba

2012-07-12 17:00:07 391

ORACLE常用命令

ORACLE常用命令 1 一、 ORACLE的启动和关闭 1 二、用户如何有效地利用数据字典 3 四、ORACLE用户连接的管理 7 二.数据定义 (DDL) 部分 11 三.查询语句 (SELECT) 部分 12 四.ORACLE里常用的数据对象 (SCHEMA) 13

2012-03-18

经典SQL语句大全

1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建 备份数据的 device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始 备份 BACKUP DATABASE pubs TO testBack

2012-03-18

PyS60_2_0_documentation

s60v3平台python编程手册,英文版,s60v3平台python编程手册,英文版

2010-12-02

Android程序员向导

什么是Android - 嵌入式设备编程的历史-第一章(1) 暂时可以这样说,传统的桌面应用程序开发者已经被惯坏了。这个不是说桌面应用程序开发比其他开发很简单。总之作为桌面应用程序开发者,我们已经有能力按照我们的想法创造出各种应用程序。包括我自己,因为我也是从做桌面程序开始的。一方面,我们已经使得桌面程序更容易的与桌面操作系统来进行交互,并且和任何底部的硬件很自由的交互。这种类型独立自主的程序编制其实对于很小的开发者团体来说是不敢贸然趟手机开发这趟浑水的。 注意: 在本部分讨论中,我提到两种不同的开发者:传统的桌面应用程序开发,他们能使用任何的编程语言,而且最终的产品和程序是用来运行“桌面”操作系统的;还有就是Android的程序开发者,为Android平台开发程序的JAVA程序员。我不是想说谁更好或者其它的意图。区别仅仅在于想说明并比较桌面操作系统环境的开发风格,工具。 有很长一段时间,手机的开发者由大的著名开发组中的少数人组成,作为嵌入式设备的开发者。相对于桌面开发或者后续的网络开发,被视作更少“魅力”,而且嵌入式设备的开发通常因为硬件和操作系统而处于劣势。因为嵌入式设备的制造商们太小气,他们要保护他们硬件方面的秘密,所以他们给开发者们非常有限的库来运行。 嵌入设备与桌面系统显著不同的一部分是嵌入设备是个“芯片上的电脑”。例如:说起你的标准电话遥控。这个并不是一个非常强大并且复杂性的技术。当任何的按钮被按下去,一个芯片解释一个信号以一种方式已经被编程进了设备。这个允许设备知道什么是从输入设备(键盘)来的需要。并且如何的响应这些命令(比如,打开电视机)。这个是一个简单的嵌入式设备的编程。总之,不管你相不相信,像这样的简单设备绝对的和早期的手机和开发有着紧密的联系。 大多数的嵌入式设备运行(有些还在运行)在私有的操作系统。原因是选择并创建一个私有的操作系统而不同定制的系统是产品必然选择。简单的设备不需要非常健全和优化的操作系统。 作为一个产品的演化,更多复杂的嵌入式设备,如早期的PDA,家庭安全系统和GPS等。5年前某种程度上都转移标准的操作系统平台上。小的操作系统如Linux,或者一个微软的嵌入式平台,已经在嵌入设备上变得普遍了。设备演变的那些时间里,手机已自己的路径开始分支出去。这个分支是显而易见的。 差不多开始的时候,手机作为一个外围设备并且运行私有软件,而这些软件被制造商们所拥有和控制,而且几乎可以被认为是一个“关闭”的系统。习惯使用私有操作系统主要是制造商自己开发硬件,或者至少定义了开发的目的只是用来运行手机。最终的结果就是使开放成为不可能。现有的软件包或者解决方案会可靠的和他们的硬件交互。而且,制造商想要保护他们硬件的商业秘密。以防允许进入而发现设备软件的水准。所以风尚就是,而且大多数仍然是使用完全私有并且关闭的软件来运行他们的设备。任何人想为手机开发程序必须需要详尽的私有环境来运行软件的知识。而解决方案就是直接从制造商那里购买昂贵的开发工具。这就孤立了很多的“自制软件”的开发者。

2010-12-02

anddroid编程

目录 序言/如何阅读本文……………………… 5 介绍……………………………………… 6 什么是Android --一款GPhone?……… 7 俯瞰Android………………………………………… 8 开放性……………………………………………………………………… 8 所有应用程序都是平等地创建………………………………………… 9 打破应用程序局限……………………………………………………… 9 快速& 简单的应用程序开发………………………………………… 9 第一周……………………………………………… 12 Dalvik.equals(Java)==false……………………………… 13 与普通Java 虚拟机的差异…………………………………………… 13 Android Code Challenge……………… 14 创建Android 应用程序…………………15 剖析一个Android 应用程序……………………… 15 Activity…………………………………………………………………15 Intent Receiver…………………………………………………………17 Service…………………………………………………………………17 Content Provider………………………………………………………18 Android 用户界面………………………………… 19 屏幕元素层次…………………………………………………………19 Android UI 元素与Swing UI 元素比较………………………………22 AndroidManifest.xml 文件………………23 一般的……………………………………………… 24 <ma nifest>……………………………………………………………… 25 <uses-permission>……………………………………………………… 25 <permission>…………………………………………………………… 25 <instrumentation>……………………………………………………… 25 <applica tion>…………………………………………………………… 25

2010-12-02

Python参考手册

Python参考手册Python参考手册Python参考手册Python参考手册Python参考手册

2010-11-24

python学习笔记

python脚本语言入门教程,全面实用,

2010-11-24

vim7.0使用手册中文版

vim7.0使用手册中文版 vim7.0使用手册中文版

2009-06-08

emacs使用手册和常用命令

emacs使用手册和常用命令 emacs使用手册和常用命令

2009-06-08

DEELX 正则表达式

DEELX 正则表达式 学习资料 DEELX 正则表达式 学习资料

2009-06-08

Linux实用培训学习教程1.0(最终版)

本书是为广大Linux学习者制做的,本书内容基础,语言简短简洁,也节选了一些比较经典而且一定要了解的Linux知识,循序渐进的介绍Linux相关知识,从入门到提高,希望对所有学习Linux的朋友都有帮助。

2009-06-04

Linux常用命令全集

Linux常用命令全集 文件管理 文件传输 文档编辑 ... LINUX操作系统必学

2009-06-04

GTK+ 2.0 教程

GTK (GIMP Toolkit) 是一套用于创建图形用户界面的工具包。它遵循 LGPL 许可证,所以你可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,而不用花费任何钱来购买许可证和使用权。 GTK 被称为 GIMP 工具包是因为最初写它是用来开发 GIMP (GNU 图像处理程序) 的,但是它现在已经被用于很多软件项目了,包括 GNOME (GNU 网络对象模型环境)。GTK 是在 GDK (GIMP Drawing Kit) 和 gdk-pixbuf 的基础上建立起来的,GDK 基本上是对访问窗口的底层函数 (在 X 窗口系统中是 Xlib) 的一层封装,gdk-pixbuf 是一个用于客户端图像处理的库。

2009-06-04

简明 Python 教程

简介 Python语言是少有的一种可以称得上即简单又功能强大的编程语言。你将惊喜地发现Python语言是多么地简单,它注重的是如何解决问题而不是编程语言的语法和结构。 Python的官方介绍是: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和对动态输入的支持,再加上解释性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别适用于快速的应用程序开发。 我会在下一节里详细地讨论Python的这些特点。 注释 Python语言的创造者Guido van Rossum是根据英国广播公司的节目“蟒蛇飞行马戏”命名这个语言的,并非他本人特别喜欢蛇缠起它们的长身躯碾死动物觅食。

2009-06-04

ATL开发指南第二版

ATL开发指南第二版 电子工业出版社 【内容简介】 本书是介绍使用ATL进行软件开发的参考用书。全书分为十三章:第一章引入了C++模板的概念; 第二章详细介绍了组件对象模型(COM);第三章介绍了活动模板库(ATL)的概念和使用方法;第四章涉及接口的实现和线程之间的参数调度等细节问题;第五章探讨了代码复用的两种方法——包容和集合;第六章讨论了关于自动化的问题;第七章说明了事件和连接点的管理;第八章围绕ActiveX控件展开了详细的论述;第九章介绍了COM中的两种实体——枚举器和集合;第十章研究了COM里的线程管理;第十一章讨论了OLE DB同ATL之间的关系;第十二章介绍了两种GUI接口——对话框和视窗;最后二章解释了COM+的一些基本概念。 由于书中的内容非常庞杂,并且涉及到Visual C++开发的一些内核问题,所以本书对读者有一定的要求。我们希望你在开始阅读之前,已经了解COM、ActiveX控件的基本知识,并且具有使用Visual C++开发应用程序的实践经验。本书的主要对象是程序设计或开发人员,同时也可以作为大专院校计算机专业师生和计算机爱好者的参考资料。 【目录信息】 前言 第一章 使用C++模板开发应用程序 1.1 模板简介 1.1.1 函数模板 1.1.2 类模板 1.2 基于模板的堆栈类 1.3 成员函数的实现 1.4 不定类型的模板参数 1.5 基于模板的复用技术 1.6 ATL如何使用模板 1.7 小结 第二章 组件对象模型(COM)简介 2.1 软件组件及其属性 2.1.1 同语言的无关性:二进制的设计标准 2.1.2 版本升级的鲁棒性 2.1.3 位置的透明性 2.1.4 面向对象的特性 2.2 COM模型的原始实现

2009-05-16

java手机程序设计入门

目 錄 chap1 Java 2 Micro Edition 概論 前言..................................................1-2 支援 Java 的行動電話 ..................................1-4 為何 Java 在行動通訊裝置上大放異彩? ..................1-9 各種 Java 版本的定位 ..................................1-10 JINI 技術 ............................................1-16 各種不同版本之 Java 程式的開發 ........................1-17 Java 版本的演進 ......................................1-21 Java 2 Micro Edition 規格 ............................1-22 DC、CDC、以及他們所衍生出來的 Profile ................1-27 Personal Java 及支援 Personal Java 的行動電話 .........1-32 有關 iAppli 與支援 iAppli 的行動電話 ...................1-36 有關 STK .............................................1-40 總結 .................................................1-41 chap2 Java 程式設計簡介 前言 .................................................2-2 Java 的 package 機制 ..................................2-3 編譯時期(Compile-time)的 Package 運作機制 .............2-26 Java 的動態連結本質 ..................................2-43 執行時期 (Run-time) 的 Package 運作機制 ...............2-47

2009-05-16

C语言教程和经典100例

第一章: C语言概论 C语言的发展过程   C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的“THE C PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准学会在此基础上制定了一个C 语言标准,于一九八三年发表。通常称之为ANSI C。 当代最优秀的程序设计语言   早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用。成为当代最优秀的程序设计语言之一。 C语言的特点   C语言是一种结构化语言。它层次清晰,便于按模块化方式组织程序,易于调试和维护。C语言的表现能力和处理能力极强。它不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构。它还可以直接访问内存的物理地址,进行位(bit)一级的操作。由于C语言实现了对硬件的编程操作,因此C语言集高级语言和低级语言的功能于一体。既可用于系统软件的开发,也适合于应用软件的开发。此外,C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类各型计算机上,从而形成了多种版本的C语言。

2009-05-16

windows程序设计和源代码

基础篇 1. 开始 …………………… WINDOWS环境 …………………… WINDOWS程序设计选项 …………………… 编写第一个WINDOWS程序 2.Unicode简介 …………………… 字符集简史 …………………… 宽字符和C …………………… 宽字符和WINDOWS 3. 窗口和消息 …………………… 自己的窗口 …………………… WINDOWS程序设计的难点 4. 输出文字 …………………… 绘制和更新 …………………… GDI简介 …………………… 滚动条 …………………… 建立更好的滚动 5. 图形基础 …………………… GDI的结构 …………………… 设备内容 …………………… 画点和线 …………………… 绘制填入区域 …………………… GDI映像方式 …………………… 矩形、区域和剪裁 6. 键盘 …………………… 键盘基础 …………………… 按键消息 …………………… 字符消息 …………………… 键盘消息和字符集 …………………… 插入符号(不是光标) 7. 鼠标 …………………… 鼠标基础 …………………… 显示区域鼠标消息 …………………… 非显示区域鼠标消息 …………………… 程序中的命中测试 …………………… 拦截鼠标 …………………… 鼠标滑轮 8. 定时器 …………………… 定时器入门 …………………… 定时器的使用:三种方法 …………………… 定时器用于时钟 …………………… 以定时器进行状态报告 9. 子窗口控件 …………………… 按钮类别 …………………… 控件与颜色 …………………… 静态类别 …………………… 滚动条类别 …………………… 编辑类别 …………………… 清单方块类别 10. 菜单及其它资源 …………………… 图标、光标、字符串和自订资源 …………………… 菜单 …………………… 键盘快捷键 11. 对话框 …………………… 模态对话框 …………………… 非模态对话框 …………………… 通用对话框 12. 剪贴簿 …………………… 剪贴簿的简单使用 …………………… 复杂的剪贴簿用法 …………………… 实作剪贴簿浏览器 -------------------------------------------------------------------------------- 图像篇 13. 使用打印机 …………………… 打印入门 …………………… 打印图形和文字 14. 位图和Bitblt …………………… 位图入门 …………………… 位图尺寸 …………………… 位块传输 …………………… GDI位图对象 15. 与设备无关的位图 …………………… DIB文件格式 …………………… 显示和打印 …………………… DIB和DDB的结合 16. 调色盘管理器 …………………… 使用调色盘 …………………… 调色盘动画 …………………… 调色盘和真实世界图像 …………………… DIB处理链接库 17. 文字和字体 …………………… 简单的文字输出 …………………… 字体的背景 …………………… 逻辑字体 …………………… 字体列举 …………………… 段落格式 …………………… 有趣的东西 18. Metafile …………………… 旧的 MetaFile 格式 …………………… 增强型 MetaFile -------------------------------------------------------------------------------- 进阶篇 19. 多重文件界面 …………………… MDI概念 …………………… MDI的范例程序 20. 多任务和多线程 …………………… 多任务的各种模式 …………………… WINDOWS的多线程处理 …………………… 线程同步 …………………… 事件信号 …………………… 线程区域储存空间(TLS) 21. 动态链接库 …………………… 动态链接库的基本知识 …………………… 各式各样的DLL讨论 22. 声音与音乐 …………………… WINDOWS和多媒体 …………………… 波形声音 …………………… MIDI和音乐 23. 领略Internet …………………… Windows Sockets …………………… WININET和FTP

2009-05-16

Thinking in C++ Second Edition v2.pdf

What’s inside... Thinking in C++ 2nd edition Volume 2: Standard Libraries & Advanced Topics Revision 1, xx 1999 ............................................................1 Preface 13 What’s new in the second edition13 What’s in Volume 2 of this book ......14 How to get Volume 2 ........................14 Prerequisites............................... 14 Learning C++............................. 14 Goals.......................................... 16 Chapters ..................................... 17 Exercises .................................... 18 Exercise solutions .............................18 Source code................................ 18 Language standards.................... 20 Language support..............................20 The book’s CD ROM................. 20 Seminars, CD Roms & consulting20 Errors ......................................... 21 Acknowledgements.................... 21 Part 1: The Standard C++ Library 23 Library overview........................ 24 1: Strings 27 What’s in a string ....................... 27 Creating and initializing C++ strings 29 Operating on strings................... 31 Appending, inserting and concatenating strings 32 Replacing string characters ...............34 Concatenation using non-member overloaded operators 37 Searching in strings.................... 38 Finding in reverse..............................43 Finding first/last of a set....................44 Removing characters from strings.....45 Comparing strings.............................49 Using iterators...................................53

2009-05-16

MFC中文帮助.chm

MFC ATL OLE DB The CButton class provides the functionality of Windows button controls. A button control is a small, rectangular child window that can be clicked on and off. Buttons can be used alone or in groups and can either be labeled or appear without text. A button typically changes appearance when the user clicks it. 类CButton提供了对Windows按钮控件的操作。按钮控件是一个小的矩形子窗口,可以通过单击选中(按下)或不选中。按钮可以单独使用,也可以成组使用,它还可以具有文本标题。在用户单击它的时候,按钮通常要改变显示外观。 Typical buttons are the check box, radio button, and pushbutton. A CButton object can become any of these, according to the button style specified at its initialization by the Create member function. 典型的按钮控件有:复选框、单选钮和下压式按钮(pushbutton)。一个CButton对象可以是它们中的一种,这由它的按钮风格和成员函数Create的初始化决定。 In addition, the CBitmapButton class derived from CButton supports creation of button controls labeled with bitmap images instead of text. A CBitmapButton can have separate bitmaps for a button's up, down, focused, and disabled states. 此外,类CButtonBitmap是从类CButton继承而来的,不过它支持按钮的图像标签。一个CButtonBitmap对象可以分别为它的四种状态(未按下、按下、获得焦点和禁止存取)设置不同的位图。 You can create a button control either from a dialog template or directly in your code. In both cases, first call the constructor CButton to construct the CButton object; then call the Create member function to create the Windows button control and attach it to the CButton object. 既可以从对话框模板中创建一个按钮控件,也可以直接在代码中创建。无论哪种情况,都要先调用构造函数CButton构造一个CButton对象,然后调用成员函数Create创建Windows按钮控件并应用到CButton对象上。

2009-05-16

李进久-MFC深入浅出

1_MFC概述 2_MFC和Win32 3_CObject类 4_消息映射的实现 5_MFC对象的创建 6_应用程序的退出 7_MFC的DLL 8_MFC的进程和线程 9_MFC的状态 10_内存分配方式和调试机制 11_MFC下的文件类 12_对话框和对话框类CDialog 13_MFC工具条和状态栏 14_SOCKET类的设计和实现

2009-05-16

软件加密技术内幕.chm

第1章 PE文件格式深入研究 1.1 PE文件格式格式纵览 1.1.1 区块(Section) 1.1.2 相对虚拟地址(Relative Virtual Addresses) 1.1.3 数据目录 1.1.4 输入函数(Importing Functions) 1.2 PE文件结构 1.2.1 The MS-DOS头部 1.2.2 IMAGE_NT_HEADERS头部 1.2.3 区块表(The Section Table) 1.2.4 各种块(Sections)的描述 1.2.5 输出表 1.2.6 输出转向(Export Forwarding) 1.2.7 输入表 1.2.8 绑定输入(Bound import) 1.2.9 延迟装入数据(Delayload Data) 1.2.10 资源 1.2.11 基址重定位(Base Relocations) 1.2.12 调试目录(DebugDirectory) 1.2.13 NET头部 1.2.14 TLS初始化 1.2.15 程序异常数据 第2章 PE分析工具编写 2.1 文件格式检查 2.2 FileHeader和OptionalHeader内容的读取 2.3 得到数据目录(Data Dircetory)信息 2.4 得到块表(SectionTable)信息 2.5 得到输出表(ExportTable)信息 2.6 得到输入表(ImportTable)信息 第3章 Win32 调试API 3.1 Win32调试API原理 3.1.1 调试相关函数简要说明 3.1.2 调试事件 3.1.3 如何在调试时创建并跟踪一个进程 3.1.4 最主要的循环体 3.1.5 如何处理调试事件 3.1.6 线程环境详解 3.1.7 如何在另一个进程中注入代码 3.2 利用调试API编写脱壳机 3.2.1 tElock 0.98脱壳简介 3.2.2 脱壳机的编写 3.3 利用调试API制作内存补丁 3.3.1 跨进程内存存取机制 3.3.2 Debug API机制 第4章 Windows下的异常处理 4.1 基本概念 4.1.1 Windows下的软件异常 4.1.2 未公开的可靠吗 4.2 结构化异常处理(SEH) 4.2.1 异常处理的基本过程 4.2.2 SEH的分类 4.2.3 相关API 4.2.4 SEH相关数据结构 4.3 异常处理程序设计 4.3.1 顶层(top-level)异常处理 4.3.2 线程异常处理 4.3.3 异常处理的堆栈展开(Stack unwind) 4.3.4 异常处理程序设计中的几个注意事项: 4.4 SEH的简单应用 4.4.1 Win9x下利用SEH进ring0 4.4.2 利用SEH实现对自身的单步自跟踪 4.4.3 其它应用 4.5 系统背后的秘密 4.6 VC是如何封装系统提供的SEH机制的 4.6.1 扩展的EXCEPTION_REGISTRATION级相关结构 4.6.2 数据结构组织 4.7 Windows XP下的向量化异常处理(VEH) 第5章 软件加密技术 5.1 反调试技术(Anti-Debug) 5.1.1 句柄检测 5.1.2 SoftICE后门指令 5.1.3 int68子类型 5.1.4 ICECream子类型 5.1.5 判断NTICE服务是否运行 5.1.6 INT 1 检测 5.1.7 利用UnhandledExceptionFilter检测 5.1.8 INT 41子类型 5.2 反跟踪技术(Anti-Trace) 5.2.1 断点检测 5.2.2 利用SEH反跟踪 5.2.3 SMC技术实现 5.3 反加载技术(Anti-Loader) 5.3.1 利用TEB检测 5.3.2 利用IsDebuggerPresent函数检测 5.3.3 检查父进程 5.4 反DUMP技术(Anti-Dump) 5.5 文件完整性检验 5.5.1 CRC校验实现 5.5.2 校验和(Checksum) 5.5.3 内存映像校验 5.6 反监视技术(Anti-Monitor) 5.6.1 窗口方法检测 5.6.2 句柄检测 5.7 反静态分析技术 5.7.1 扰乱汇编代码 5.7.2 花指令 5.7.3 信息隐藏 5.8 代码与数据结合技术 5.9 软件保护的若干忠告 第6章 加壳软件编写 6.1 外壳编写基础 6.1.1 判断文件是否是PE格式的EXE文件 6.1.2 文件基本数据的读入 6.1.3 额外数据保留 6.1.4 重定位数据的去除 6.1.5 文件的压缩 6.1.6 资源区块的处理 6.1.7 区块的融合 6.1.8 输入表的处理 6.1.9 外壳部分的编写 6.1.10 将外壳部分添加至原程序 6.1.10 小结 6.2 加壳程序综合运用的实例 6.2.1 程序简介 6.2.2 加壳子程序(WJQ_ShellBegin()) 6.2.3 PE外壳程序 6.2.4 加进Anti技术 6.2.5 通过外壳修改被加壳PE 6.2.6 VC++调用汇编子程序 第7章 如何让壳与程序融为一体 7.1 序 7.1.1 为何需要壳和程序一体化 7.1.2 为阅读此章节需要的知识 7.1.3 基于此章节用的的例子程序说明 7.2 欺骗检查壳的工具 7.2.1 fi是如何检查壳的 7.2.2 欺骗fi 7.3 判断自己是否给脱壳了 7.3.1 判断文件尺寸 7.3.2 检查标记 7.3.3 外部检测(使用dll) 7.3.4 hook 相关的api(防止loader和调试api) 7.4 使用sdk把程序和壳溶为一体 7.4.1 sdk的意义 7.4.2 做一个带sdk的壳 7.5 后记:关于壳和程序的思考 第8章 Visual Basic 6 逆向工程 8.1 简介 8.2 P-code传奇 8.3 VB编译奥秘 8.4 VB与COM 8.5 VB可执行程序结构研究 8.6 VB程序事件解读 8.7 VB程序图形界面(GUI)解读 8.8 VB程序执行代码研究 8.9 我们的工具 8.10 VB程序保护篇 附录A 在Visual C++中使用内联汇编 附录B 在Visual Basic中使用汇编

2009-03-21

设计模式精编版.CHM

一个模式的四个基本要素 设计模式使人们可以更加简单方便地复用成功的设计和体系结构。将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。 1. 模式名称(pattern name) 一个助记名,它用一两个词来描述模式的问题、解决方案和效果。命名一个新的模式增加了我们的设计词汇。设计模式允许我们在较高的抽象层次上进行设计。基于一个模式词汇表,我们自己以及同事之间就可以讨论模式并在编写文档时使用它们。模式名可以帮助我们思考,便于我们与其他人交流设计思想及设计结果。找到恰当的模式名也是我们设计模式编目工作的难点之一。 2. 问题(problem) 描述了应该在何时使用模式。它解释了设计问题和问题存在的前因后果,它可能描述了特定的设计问题,如怎样用对象表示算法等。也可能描述了导致不灵活设计的类或对象结构。有时候,问题部分会包括使用模式必须满足的一系列先决条件。 3. 解决方案(solution) 描述了设计的组成成分,它们之间的相互关系及各自的职责和协作方式。因为模式就像一个模板,可应用于多种不同场合,所以解决方案并不描述一个特定而具体的设计或实现,而是提供设计问题的抽象描述和怎样用一个具有一般意义的元素组合(类或对象组合)来解决这个问题。 4. 效果(consequences) 描述了模式应用的效果及使用模式应权衡的问题。尽管我们描述设计决策时,并不总提到模式效果,但它们对于评价设计选择和理解使用模式的代价及好处具有重要意义。软件效果大多关注对时间和空间的衡量,它们也表述了语言和实现问题。因为复用是面向对象设计的要素之一,所以模式效果包括它对系统的灵活性、扩充性或可移植性的影响,显式地列出这些效果对理解和评价这些模式很有帮助。 四种设计模式的作用: 外观(Facade):为了系统中的一组功能调用提供一个一致的接口,这个接口使得这一子系统更加容易使用; 装饰(Decorate):当不能采用生成子类的方法进行扩充时,动态地给一个对象添加一些额外的功能; 单件(Singleton):保证一个类仅有一个实例,并提供一个访问他的全局访问点; 模板方法(Template Method):在方法中定义算法的框架,而将算法中的一些操作步骤延迟到子类中实现。

2009-03-21

vc++深入详解 笔记.chm

第1课 Windows程序运行原理及程序编写流程 3 第2课 类的编写与应用 5 第3课 讲述MFC AppWizard的原理与MFC程序框架的剖析 6 第4课 第4课 MFC消息映射机制的剖析 讲述如何运用ClassWizard 8 第5课 文本编程 11 第6课 菜单编程 15 第7课 对话框用户界面程序的编写 21 第8课 逃跑按钮的巧妙实现 23 第9课 如何修改MFC AppWizard向导生成的框架程序的外观和大小 24 第10课 图形的绘制,如何使用自定义画笔 27 第11课 如何让CDC上输出的文字、图形具有保持功能 29 第12课 文件操作 31 第13课 使用CArchive类对文件进行操作 33 第14课 网络编程 35 第15课 多线程与网络编程 40 第16课 事件内核对象、关键代码段(临界区)的讲解 44 第17课 进程间通信 47 第18课 ActiveX编程 56 第19课 DLL编程 58 第20课 钩子与数据库编程

2009-03-21

深入解析ATL(第二版).chm

深入解析ATL第二版英文版 Copyright The Addison-Wesley Object Technology Series Foreword to the Second Edition Foreword to the First Edition Preface Acknowledgments About the Authors Chapter 1. Hello, ATL What Is ATL? Creating a COM Server Inserting a COM Class Adding Properties and Methods Implementing Additional Interfaces Support for Scripting Adding Persistence Adding and Firing Events Using a Window COM Controls Hosting a Control ATL Server Web Projects Summary Chapter 2. Strings and Text String Data Types, Conversion Classes, and Helper Functions The CComBSTR Smart BSTR Class The CComBSTR Class The CString Class Summary Chapter 3. ATL Smart Types VARIANTs, SAFEARRAYs, and Interface Pointers The CComVariant Smart VARIANT Class The CComSafeArray Smart SAFEARRAY Class The CComPtr and CComQIPtr Smart Pointer Classes The CAutoPtr and CAutoVectorPtr Smart Pointer Classes ATL Memory Managers Summary Chapter 4. Objects in ATL Implementing IUnknown The Layers of ATL Threading Model Support The Core of IUnknown Your Class CComObject Et Al ATL Creators Debugging Summary Chapter 5. COM Servers A Review of COM Servers The Object Map and the CAtlModule Class The Object Map Methods Required of an Object Map Class The CAtlModule Class CComCoClass Revisited ATL and the C Runtime Library Summary Chapter 6. Interface Maps Recall: COM Identity Table-Driven QueryInterface Multiple Inheritance Tear-Off Interfaces Aggregation: The Controlling Outer Interface Map Chaining Just Say "No" Debugging Extensibility Summary Chapter 7. Persistence in ATL A Review of COM Persistence ATL Persistence Implementation Classes The Property Map The Persistence Implementations Additional Persistence Implementations Adding Marshal-by-Value Semantics Using Persistence Summary Chapter 8. Collections and Enumerators COM Collection and Enumeration Interfaces Enumerating Arrays Enumerating Standard C++ Collections Collections Standard C++ Collections of ATL Data Types ATL Collections Object Models Summary Chapter 9. Connection Points A Review of Connection Points Creating an ATL-Based Connectable Object Creating an Object That Is an Event Recipient How It All Works: The Messy Implementation Details Summary Chapter 10. Windowing The Structure of a Windows Application CWindow CWindowImpl CDialogImpl Window Control Wrappers CContainedWindow Summary Chapter 11. ActiveX Controls A Review of ActiveX Controls The BullsEye Control Requirements Creating the Initial Control Using the ATL Wizard The Initial BullsEye Source Files Developing the BullsEye Control Step by Step Summary Chapter 12. Control Containment How Controls Are Contained Basic Control Containment Hosting a Control in a Dialog Composite Controls HTML Controls ATL's Control Containment Limitations Summary Chapter 13. Hello, ATL Server: A Modern C++ Web Platform The Microsoft Web Platform (Internet Information Services) The Simplest ISAPI Extension That Could Possibly Work Wrapping ISAPI ATL Server Web Services in ATL Server Summary Chapter 14. ATL Server Internals Implementing ISAPI in ATL Server Server Response Files An Example Request Handler Handling Input Session Management Data Caching Summary Appendix A. C++ Templates by Example The Need for Templates Template Basics A Different Kind of Polymorphism Function Templates Member Function Templates Summary Appendix B. ATL Header Files Appendix C. Moving to ATL 8 Strings, Character Sets, and Conversions Shared Classes with MFC Implementing COM Servers ActiveX Controls and Control Hosting ATL_MIN_CRT Changes Summary Appendix D. Attributed ATL Fundamentals of ATL Attributes The Future of Attributed ATL Summary Index

2009-03-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除