自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Gary's Blog --- A C++ programmer

Welcome to Gary's blog! Thank you!

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

转载 第二次面试(复试)要注意点什么?

<br />面试,都试什么? <br /><br />从理论上讲,面试可以测评应试者任何素质,但由于人员甄选方法都有其长处和短处,扬长避短综合运用,则事半功倍,否则就很可能事倍功半。因此,在人员甄选实践中,我们并不是以面试去测评一个人的所有素质,而是有选择地用面试去测评它最能测评的内容。 <br /><br />面试测评的主要内容如下: <br /><br />1、仪表风度 这是指应试者的体型、外貌、气色、衣着举止、精神状态等。像国家公务员、教师、公关人员、企业经理人员等职位,对仪表风度的要求较

2010-07-30 17:53:00 4216

原创 TCP Keepalive HOWTO

1. Introduction<br /> Understanding TCP keepalive is not necessary in most cases, but it's a subject that can be very useful under particular circumstances. You will need to know basic TCP/IP networking concepts, and the C programming l

2010-07-28 17:00:00 3201

原创 What is the best way to implement a heartbeat in C++ to check for socket connectivity?

<br />Hey gang. I have just written a client and server in C++ using sys/socket. I need to handle a situation where the client is still active but the server is down. One suggested way to do this is to use a heartbeat to periodically assert connec

2010-07-28 16:32:00 1567

转载 如何分析一个开放源代码的项目

<br />开放源代码的项目,通常都是不完整的,就是说:只有源代码,没有完整的产品使用说明书,没有软件开发过程中的完整文档,源码中的注释也很少。之所以会这样,可能是因为作者们有所保留,只开放源码,不开放关键的文档和设计思路,还可能是因为作者们都是旧派的程序狂人,不重视软件工程和文档。   <br /> 那我们该怎么办呢?   <br /> 只有一条路,就是自己动手来补齐缺少的所有关键文档。   <br /> 补齐项目的文档,跟开发一个新项目有所不同,因为项目的源码已经编写完成了,所以,

2010-07-28 10:17:00 4257

转载 如何阅读源代码

<br /><br />+++++++++++<br />第一章: 导论<br />++++++++++++<br />1.要养成一个习惯, 经常花时间阅读别人编写的高品质代码.<br />2.要有选择地阅读代码, 同时, 还要有自己的目标. 您是想学习新的模式|编码风格|还是满足某些需求的方法.<br />3.要注意并重视代码中特殊的非功能性需求, 这些需求也许会导致特殊的实现风格.<br />4.在现有的代码上工作时, 请与作者和维护人员进行必要的协调, 以避免重复劳动或产生厌恶情绪.<br />5.请

2010-07-28 10:05:00 2153

转载 如何提高阅读源代码能力

<br />在这里准备用一个例子来写一下如何阅读源代码,分享一些经验,算是抛砖引玉吧!<br />正文:<br />   由于工作的关系,我常常需要读一些源代码,并在上面做一些修改并且拿来使用,或者是借鉴其中的某些部分。可以说,open source对于程序员来说,是很有意义的事情。根据我的经验,读源代码,至少有3个好处。第一个好处是可以学习到很多编程的方法,看好的源代码,对于提高自己的编程水平,比自己写源代码的帮助更大。当然不是说不用自己写,而是说,自己写代码的同时,可以从别人写的好的源代码中

2010-07-28 09:56:00 4861

转载 杂谈eMule协议的由来

<br />原帖:http://network.51cto.com/art/201007/209174.htm<br />eMule协议就是资源丰富的电驴下载了。这个软件的使用笔者也是非常喜欢的。由于一时兴起,我查找了有关于eMule协议的相关知识,整理了一下,在这里分享一下。<br />eMule协议的由来<br />eDonkey由Jed McCaleb在2000年创立。采用“多源文件传输协议”(MFTP,the Multisource File Transfer Protocol)。eDonk

2010-07-27 18:06:00 1429

转载 BitTorrent的协议及.torrent文件格式

BT下载要改版,在网上找到一些有关BT种子的信息:BitTorrent作为一种流行的P2P下载软件而被广泛使用.比起其他的P2P软件来,BitTorrent的优点有几点:<br />下载速度特别快.这是因为BitTorrent的协议设计精妙.下载内容不会被篡改.BitTorrent使用了RSA SHA1算法来保证文件块的正确性.上传被篡改内容的伙伴会被踢下线.Bencode编码<br />Bencode编码是一种简洁的表示数据的方法.它被BitTorrent协议广泛应用.它支持字符串,整数,列表和字典.<b

2010-07-27 17:40:00 4968

转载 BT种子文件 bencoding编码详细解析

<br />BT种子文件使用了一种叫bencoding的编码方法来保存数据。<br />bencoding现有四种类型的数据:srings(字符串),integers(整数),lists(列表),dictionaries(字典)<br /><br />编码规则如下:<br />strings(字符串)编码为:<字符串长度>:<字符串><br />例如: 4:test 表示为字符串"test"<br />4:例子 表示为字符串“例子”<br />字符串长度单位为字节<br />没开始或

2010-07-27 17:29:00 4304

转载 linux源代码分析和阅读工具比较

<br />Windows下的源码阅读工具Souce Insight凭借着其易用性和多种编程语言的支持,无疑是这个领域的“带头大哥”。Linux/UNIX环境下呢?似乎仍然是处于百花齐放,各有千秋的春秋战国时代,实际上,似乎其环境下的任何软件都是处于一种逐鹿中原的态势,也许这就是“集市”之于“大教堂”的优势所在吧!主要的交叉索引工具有:ctags、cscope、global、lxr、KScope、sourcenav、calltree、CodeViz、ncc、gprof等。下面将就各软

2010-07-27 11:36:00 2386 1

原创 Linux源代码阅读方法

Linux的源代码是很庞大的,如果没有一个好的方法是很难能够有一个比较高的效率的。所以我首先要写的就是我在阅读linux源代码的时候所采用的方法。希望会对大家有所帮助!首先,我找了几本分析linux源代码的书。有一本关于linux源代码分析的书是必须的,因为没有人能在第一次阅读linux源代码的时候能够很好的理解他,甚至有了书籍也不一定能很好的理解他。我找到了《linux源代码完全注释》和《linux源代码情景分析》。其中,《linux源代码完全注释》是一个对早期的linux内核源代码的分析,而

2010-07-27 11:32:00 1333

转载 fseek()/ftell()/rewind()/lseek()/fstat()

<br />fseek(移动文件流的读写位置) <br />相关函数 rewind,ftell,fgetpos,fsetpos,lseek<br />表头文件 #include<stdio.h><br />定义函数 int fseek(FILE * stream,long offset,int whence);<br />函数说明 fseek()用来移动文件流的读写位置。参数stream为已打开的文件指针,参数offset为根据参数whence来移动读写位置的位移数。<br />参数 w

2010-07-27 11:26:00 1190

原创 编译静态的BOOST libs *-vc90-mt-sgd.lib

The "lib" prefix is for static libraries. Use link=staticThe 's' letter is to static linking to runtime. Use runtime-link=staticThe 'd' is debug, use variant=debugThe 'g' is using debug runtime, I think it's included in 'debug' variantalrea

2010-07-26 17:02:00 4018

转载 sourceforge优秀项目

<br />sourceforge优秀项目介绍之一:PowerFolder<br />文件同步<br />sourceforge优秀项目介绍之二:MindTouch<br />数据共享<br />sourceforge优秀项目介绍之三:Ehcache<br />分布式缓存<br />sourceforge优秀项目介绍之四:Hyperic<br />HQ<br />企业监管<br />sourceforge优秀项目介绍之五:Firebir

2010-07-23 20:58:00 1145

转载 windows service程序步骤

<br /> 一个windows服务程序大体可以三步来写,其大体框架如下:<br /> 1// TestService.cpp : Defines the entry point for the console application.<br /> 2//<br /> 3<br /> 4#include "stdafx.h"<br /> 5#include <Windows.h><br /> 6<br /> 7LPTSTR g_ServiceName = _T("TestService");<b

2010-07-23 18:43:00 1264

转载 如何:调试 Windows 服务应用程序

FROM:http://msdn.microsoft.com/zh-cn/library/7a50syb3(VS.80).aspx   由于服务必须从服务控制管理器的上下文中运行,而不是从 Visual Studio 中运行,因此调试服务不像调试其他 Visual Studio 应用程序类型那样简单。若要调试服务,必须首先启动服务,然后将一个调试器附加到正在运行服务的进程中。然后可以使用 Visual Studio 的所有标准调试功能来调试应用程序。警告除非知道进程是什么,并且知道附加到进程或可

2010-07-23 14:59:00 1744

转载 windows 服务C++实现过程

<br />全局变量和函数声明<br />//第一个服务<br />void WINAPI ServiceMain();<br />void WINAPI ServiceHandler(DWORD dwOpcode);<br />TCHAR szServiceName[] = _T("ServiceTest");<br />//第二个服务<br />void WINAPI ServiceMain1();<br />void WINAPI ServiceHandler1(DWORD dwOpcode);<br

2010-07-23 13:58:00 1711

转载 鱼还是熊掌:浅谈多进程多线程的选择

作者: yah99wolf<br />http://software.intel.com/zh-cn/blogs/2010/07/20/400004478/?cid=sw:prccsdn1223<br /><br />关于多进程和多线程,教科书上最经典的一句话是“进程是资源分配的最小单位,线程是CPU调度的最小单位”,这句话应付考试基本上够了,但如果在工作中遇到类似的选择问题,那就没有这么简单了,选的不好,会让你深受其害。<br />经常在网络上看到有的XDJM问“多进程好还是多线程好

2010-07-22 21:30:00 525

转载 VS2008 安装 Boost 1.43.0

<br />1.打开 www.boost.org 下载最新版本 1.43.0, 解压至 D 盘根目录。<br />2.打开 Visual Studio 2008 命令提示窗口<br />3.进入 D:/boost_1_43_0/tools/jam/src<br />4.执行 build.bat ,会在 D:/boost_1_43_0/tools/jam/src/bin.ntx86 生成 bjam.exe 文件,复制 bjam.exe 文件到 D:/boost_1_43_0 下。<br />5.修改 D:

2010-07-22 16:52:00 1040

翻译 Building Boost libraries for Visual Studio

原文:http://www.codeproject.com/kb/tips/Building_boost_libraries.aspx有空就翻译Building boost libraries for Visual StudioDownload source files - 1.96 KBIntroductionThe Boost initiative is the next hottest thing after STL for the C++ community. While the docum

2010-07-22 15:39:00 1264

原创 Inno Setup Drive Selection Without Folder

编译时候不成功,跟踪了一下,发现是字符问题。**************** Sample Code* -- Sample Code for Inno 5.1.9#define _AppDir_ "MyAppName"[Setup]AppName=My ProgramAppVerName=My Program version 1.5DefaultDirName={#_appdir_}DefaultGroupName=My ProgramCompression=lzma

2010-07-22 11:13:00 1443

原创 VC删除文件夹(非空目录)及其中所有文件

<br /> <br />BOOL CIOCPServer::DeleteDirectory(char* psDirName) { CFileFind tempFind; char sTempFileFind[ _MAX_PATH ] = { 0 }; sprintf(sTempFileFind,"%s//*.*",psDirName); BOOL IsFinded = tempFind.FindFile(sTempFileFind); whi

2010-07-21 10:28:00 18844

转载 Fedora 13下Apache,MySQL,PHP二进制编译安装

<br />装上Fedora 13有几天了。环境一直比较难搭配。自己弄了好几天,接合网上大家总结的经验。今天终于是搞熟了。特把过程和一些心得写一下。<br /><br />首先说一下。一定要最后安装PHP,否则php对mysql的支持比较难配置。<br /><br />安装之前有好多Fedora自代的包要删除,耐心删吧。不要问为什么会自带的有一部分。。我也不知道。闲言少说。<br /> <br />1,切换到gnome 的终端下,并以超级管理员的身份登录。(键入:su)<br />10, 初始化数据

2010-07-16 20:21:00 1457

转载 东京迪斯尼海洋一日详细攻略+游记

<br />在东京迪斯尼25周年的最后一天去了TDS,去之前在LAND和SEA之间犹豫了很久,最终还是去了SEA,毕竟全世界仅此一家,而且很久没玩过山车和跳楼机了,非常DOKIDOKI。<br />7点半从宾馆出发,山手线乘到东京然后换京叶线,到舞滨站下来的时候差不多8点半了。看到米老鼠列车的时候就开始HIGH了。车上有米老鼠的背带裤拉环,虽然是坐着的,不过在快要到站的时候还是故意去拉了一下。<br /><br /><br /><br /> <br />shindo:你别拉这么用力,小心把它拉下来。<br

2010-07-15 14:23:00 4061

转载 东京迪斯尼海洋乐园一日游

<br />传说Tokyo disney sea比land刺激,更适合大人,于是选择了sea<br />关于sea的介绍,网上的资料实在不多。经过昨天一天的兴奋,开心,刺激,疲劳,总结了几点经验供后来人参考。<br />1) 买票<br />9点开园,但是买票需要排队,少则二十分钟,多则四十分钟。入园前要进行开包检查,所以也要排队。如果输在了起点上,就影响到了后面拿fastpass的进程,所以去迪斯尼一定越早越好。没有最早只有更早……<br />2) FASTPASS<br />能拿FASTPASS的项目不

2010-07-15 14:17:00 7482

转载 东京迪斯尼海洋 Tokyo Disneysea 攻略

<br /><br />游乐项目<br />地中海港湾<br />位于乐园进门处,地中海港湾的游玩项目并不多,晚上八点的烟火晚会是在这里的湖面上进行。 <br />迪斯尼海洋渡轮航线 (7分钟 49人)<br />可以搭乘渡轮去失落河三角洲逛一圈,如果玩的累了就可以来这里休息休息,顺便拍拍河边的风景。 <br />威尼斯贡多拉游船 (11分钟 16人)<br />模仿威尼斯的贡多拉游船,有船夫撑篙划船,适合讲究情调的浪漫情侣。 <br />要塞探险<br />仿真的西班牙大帆船,船做

2010-07-15 13:35:00 14831

转载 Fedora Core 网络配置工具system-config-network介绍

原文:http://fedora.linuxsir.org/main/node/47作者:北南南北来自:LinuxSir.Org提要:本文主要介绍Fedora Core 系统中的网络配置工具system-config-network,帮助初学者如何学会配置网络,以及如何设置非路由adsl拔号等;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文:+++++++++++++++++++++++++

2010-07-14 09:51:00 1351

转载 VMWare网络连接透析

<br />以前在学校,VMWare里面的Gentoo Linux是采用network bridge 的方式和windows共享一个物理网卡上网,这次回家,将电脑搬了回来,改成了adsl上网,结果发现Linux居然无法访问网络了,我的Gentoo Linux如果没有网络那就等于废了,不能emerge,Gentoo的优势何在啊?逼的我疯狂google,查阅了不少VMWare的文档,终 VMWare的网络问题搞定了。其实,这已经是一个月前的事情了,直到现在才找了点时间,把它写出来:<br />三

2010-07-14 09:48:00 669

转载 实时传输协议RTP与RTCP

引自:http://wsqhs.spaces.live.com/Blog/cns!94F639580F58209C!173.entry?sa=97449809 RTP/RTCP的定义及用途,还是请大家自己google。对于wifi手机来说呢,RTP协议用来传送编码后的语音,RTCP协议用来传送控制信息,公司的RTCP附带了一些语音统计信息和jitter buffer的统计信息用来防止语音抖动。由于是公司的东西,我就不细说了。下面是这两个协议的具体实现代码: RTP和RTCP的头部信息如下,一会给出详

2010-07-13 16:06:00 2414

原创 warning c4273: inconsistent dll linkage

编译时候,在release版本下发现以下警告,看到警告总是不舒服的,于是在网上搜索,解决方案: warning C4273: 'DownloadGameFile' : inconsistent dll linkage.  dllexport assumed.: warning C4273: 'StopDownload' : inconsistent dll linkage.  dllexport assumed.源代码涉及的地方如下:#ifdef DOWNLOAD_EXPORTS#define DO

2010-07-12 15:05:00 4645 1

转载 Windows多线程编程总结

Windows多线程编程总结<br /> <br />关键字:多线程线程同步线程池内核对象1 内核对象1 .1内核对象的概念<br />内核对象是内核分配的一个内存块,这种内存块是一个数据结构,表示内核对象的各种特征。并且只能由内核来访问。应用程序若需要访问内核对象,需要通过操作系统提供的函数来进行,不能直接访问内核对象(Windows从安全性方面来考虑的)。<br />内核对象通过Create*来创建,返回一个用于标识内核对象的句柄,这些句柄(而不是内核对象)可在创建进程范围内使用,不能够被传递到其他

2010-07-12 12:59:00 1102 1

转载 Linux上的C/C++编译器gcc/egcs详解

<br />一.运行 gcc/egcs<br /><br />  Linux 中最重要的软件开发工具是 GCC。GCC 是 GNU 的 C 和 C++ 编译器。实际上,GCC能够编译三种语言:C、C++和ObjectC(C语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。 <br />#DEMO#: hello.c<br /><br />  如果你有两个或少数几个C源文件,也可以方便地利用GCC编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c

2010-07-12 12:58:00 652

转载 Linux C编程---make命令的使用

<br />摘要:在开发一个系统时,一般是将一个系统分成几个模块,这样做提高了系统的可维护性,但由于各个模块间不可避免存在关联,所以当一个模块改动后,其他模块也许会有所更新,当然对小系统来说,手工编译连接是没问题,但是如果是一个大系统,存在很多个模块,那么手工编译的方法就不适用了。为此,在Linux系统中,专门提供了一个make命令来自动维护目标文件,与手工编译和连接相比,make命令的优点在于他只更新修改过的文件(在Linux中,一个文件被创建或更新后有一个最后修改时间,make命令就是通过这

2010-07-12 12:57:00 1133

转载 linux多线程设计

<br />1 引言<br />  线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者。传统的Unix也支持线程的概念,但是在一个进程(process)中只允许有一个线程,这样多线程就意味着多进程。现在,多线程技术已经被许多操作系统所支持,包括Windows/NT,当然,也包括Linux。<br />  为什么有了进程的概念后,还要再引入线程呢?使用多线程到底有哪些好处?什么的系统应该选用多线程?我们首先必须回答这些问题

2010-07-12 12:56:00 807

转载 通过异步程序调用(APC)实现的定时功能 CreateWaitableTimer和SetWaitableTimer函数

  定时器是一个在特定时间或者规则间隔被激发的内核对象。结合定时器的异步程序调用可以允许回调函数在任何定时器被激发的时候执行。本文的例子代码显示了如何实现。   使用本定时器时,你需要把常量_WIN32_WINNT定义为0x0400,并且此常量应该在包之前定义,以确保声明合适的定时器原型函数。   通过调用CreateWaitableTimer()可以创建一个定时器,此函数返回一个指向内核对象的句柄。若定时器已经存在,你可以通过使用OpenWaitableTimer()获得一个进程相关的

2010-07-12 12:52:00 1631

原创 MFC 中添加自定义消息的响应 (BEGIN_MESSAGE_MAP ON_MESSAGE)

<br />BEGIN_MESSAGE_MAP 把消息和函数指针联系起来<br />1首先要在窗口类的cpp文件手动添加消息响应机制,<br /><br />ON_MESSAGE(ID,Handler)    // 消息映射<br />LRESULT Handler(WPARAM,LPARAM);//响应的函数<br /> <br /> <br />BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)<br />//{{AFX_MSG_MAP(CXXXDlg)<br />//自定义

2010-07-12 11:25:00 8758

转载 工作后能捡起英语的三个网站

<br />1. 口语  www.icoolen.com  我认为是最好的,所以放在第一位,适合用闲暇时间英语,看电影/美剧学英语,还有歌曲,漫画,稍稍有难度的词都有解释,网站设计欧美风格,很酷,很娱乐。<br />       网站推荐的练习口语方法超级棒:<br />       “口语是说出来的,跟读模仿是最行之有效的方法之一<br />        美剧/电影中的对话都是生活常用语,是练习口语最好的材料。通过这种跟读模仿,既能了解美国文化(习语表达与文化背景),又能熟悉语音语调

2010-07-10 13:33:00 810 1

原创 C/C++中判断某一文件或目录是否存在

C/C++中判断某一文件或目录是否存在 1.C++很简单的一种办法:#include #include using namespace std;#define FILENAME "stat.dat"int main(){     fstream _file;     _file.open(FILENAME,ios::in);     if(!_file)     {         cout      }      else      {          cou

2010-07-08 15:43:00 2331 1

转载 Wireshark图解教程(简介、抓包、过滤器)

<br />Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcapnetwork library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! <br /><br />   wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal

2010-07-06 17:34:00 895

转载 用DEF文件从DLL中导出C编程++类

<br />用DEF从DLL导出一个参数,或用__deClspeC(dlleXPort)指令从DLL中导出一类,想必大家已经很熟悉了,也经常使用着。这里向大家介绍一种用DEF文档从DLL导出一个类的method。具体原理或为什么就不废话了,学会导出后,再慢慢回味吧。这里主要叙述操作步骤。<br />    1.打开VC6.0,新建一个"Win32 DynamiC-Link Library"工程,假设叫DefClass,在“Dll kind”选择界面中选择“A simple dll projeCt”<

2010-07-06 15:24:00 985

source insight3.5汉化注册版 (官方安装文件+注册码)

SourceInsight是一款非常好用的适合撰写如C/C++或Java等程序语言的编辑器,可以自动列出程序的变量,量数等。 文件包含注册码和汉化版,官方版 也可自己从官方下,然后使用压缩包中的注册码注册即可

2010-07-28

Beginning_Linux_Programming_4th_Edition.pdf.tar.gz

Beginning_Linux_Programming_4th_Edition.pdf.tar.gz 这个不用多说吧

2010-07-20

Inno Setup中文帮助

Inno Setup 5.0.7中文帮助 Inno Setup 是一个免费的 Windows 安装程序制作软件。第一次发表是在 1997 年,Inno Setup 今天在功能设置和稳定性上的竞争力可能已经超过一些商业的安装程序制作软件。 关键功能: ★ 支持现在所有正在使用的 32 位 Windows 版本: Windows 95,98,2000,Server 2003, XP,Me,NT 4.0 (不需要服务包)。 ★ 支持创建单个 EXE 格式的安装程序,使你的程序可以很方便地在网络上发表。同时也 支持磁盘延伸。 ★ 标准的 Windows 2000/XP 样式向导界面。 ★ 定制安装类型,例如:完整安装,最小安装,自定义安装。 ★ 完整的卸载功能。 ★ 文件安装: 包括完全的“压缩”支持,bzip2 和 7-Zip LZMA 文件压缩。安装程序可以比较文件版 本信息,替换正在使用的文件,使用共享文件计数,注册 DLL/OCX 和类型库,以及安装 字体。 ★ 可以在任意地方创快捷方式建,包括开始菜单和桌面。 ★ 创建注册表和 .INI 项目。 ★ 完整的 Pascal 脚本引擎。 ★ 支持 multilingualLanguagessection 安装。 ★ 支持密码和加密安装。 ★ 后台安装和后台卸载。 ★ 全部源代码公开 (Borland Delphi 2.0-5.0)。

2010-07-08

Linux C 函数 使用手册

Linux C 函数 使用手册 Linux C 函数手册chm版,方便大家查询函数,还有例程。

2010-07-05

天书夜读:从汇编语言到Windows内核编程(完整版 二)

总共20多兆,太大了,权限不够,一次上传不了。 第一个包:http://download.csdn.net/source/2517241 入手篇 熟悉汇编   本书的第一部分,将帮助读者消除对汇编的恐惧,熟悉汇编。本部分包括第1~3章。稍显枯燥的是,它们和Windows内核无关,是纯C语言与汇编语言的关系的章节。如果读者已经精通汇编语言,并能顺利阅读汇编代码,请直接跳过本部分。   第1章 汇编指令与C语言 2   1.1 上机建立第一个工程 4   1.1.1 用Visual Studio创建工程 4   1.1.2 用Visual Studio查看汇编代码 5   1.2 简要复习常用的汇编指令 6   1.2.1 堆栈相关指令 6   1.2.2 数据传送指令 7   1.2.3 跳转与比较指令 8   1.3 C函数的参数传递过程 9   第2章 C语言的流程和处理 14   2.1 C语言的循环反汇编 15   2.1.1 for循环 15   2.1.2 do循环 16   2.1.3 while循环 17   2.2 C语言判断与分支的反汇编 18   2.2.1 if-else判断分支 18   2.2.2 switch-case判断分支 19   2.3 C语言的数组与结构 22   2.4 C语言的共用体和枚举类型 24   第3章 练习反汇编C语言程序 26   3.1 算法的反汇编 27   3.1.1 算法反汇编代码分析 27   3.1.2 算法反汇编阅读技巧 28   3.2 发行版的反汇编 29   3.3 汇编反C语言练习 33   基础篇 内核编程   本书的第二部分,是编写Windows内核程序编程方法的基础。本部分包括第4~7章,如果读者对Windows内核编程已经有一定的了解,可以跳过本部分;如果读者从未接触过Windows内核编程,本部分将指导读者开始Windows内核编程,学会使用WDK,并熟悉内核编程的习惯与方法。   第4章 内核字符串与内存 38   4.1 字符串的处理 39   4.1.1 使用字符串结构 39   4.1.2 字符串的初始化 41   4.1.3 字符串的拷贝 42   4.1.4 字符串的连接 42   4.1.5 字符串的打印 43   4.2 内存与链表 45   4.2.1 内存的分配与释放 45   4.2.2 使用LIST_ENTRY 46   4.2.3 使用长长整型数据 49   4.2.4 使用自选锁 50   第5章 文件与注册表操作 52   5.1 文件操作 53   5.1.1 使用OBJECT_ATTRIBUTES 53   5.1.2 打开和关闭文件 54   5.1.3 文件读/写操作 58   5.2 注册表操作 60   5.2.1 注册表键的打开 60   5.2.2 注册表值的读 62   5.2.3 注册表值的写 65   第6章 时间与线程 67   6.1 时间与定时器 68   6.1.1 获得当前滴答数 68   6.1.2 获得当前系统时间 69   6.1.3 使用定时器 70   6.2 线程与事件 73   6.2.1 使用系统线程 73   6.2.2 在线程中睡眠 75   6.2.3 使用同步事件 76   第7章 驱动、设备与请求 79   7.1 驱动与设备 80   7.1.1 驱动入口与驱动对象 80   7.1.2 分发函数和卸载函数 80   7.1.3 设备与符号链接 82   7.1.4 设备的安全创建 83   7.1.5 设备与符号链接的用户相关性 85   7.2 请求处理 86   7.2.1 IRP与IO_STACK_LOCATION 86   7.2.2 打开与关闭请求的处理 88   7.2.3 应用层信息传入 89   7.2.4 驱动层信息传出 91   探索篇 研究内核   本书的第三部分,开始探索Windows内核程序,并尝试阅读反汇编代码作为指引。本部分包括第8~10章。如果读者对Windows内核编程已经有一定的了解,这一部分会比较有趣;如果读者从未接触过Windows内核编程,读者应该先学习第二部分。能自己编写内核程序并不意味着可以读懂内核,虽然反过来是一定成立的。读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。   第8章 进入Windows内核 96   8.1 开始Windows内核编程 97   8.1.1 内核编程的环境准备 97   8.1.2 用C语言写一个内核程序 99   8.2 学习用WinDbg进行调试 102   8.2.1 软件的准备 102   8.2.2 设置Windows XP调试执行 103   8.2.3 设置VMWare虚拟机调试 104   8.2.4 设置被调试机为Vista的情况 105   8.2.5 设置Windows内核符号表 106   8.2.6 调试例子diskperf 106   8.3 认识内核代码函数调用方式 107   8.4 尝试反写C内核代码 111   8.5 如何在代码中寻找需要的信息 113   第9章 用C++编写的内核程序 117   9.1 用C++开发内核程序 118   9.1.1 建立一个C++的内核工程 118   9.1.2 使用C接口标准声明 119   9.1.3 使用类静态成员函数 120   9.1.4 实现new操作符 121   9.2 开始阅读一个反汇编的类 122   9.2.1 new操作符的实现 122   9.2.2 构造函数的实现 124   9.3 了解更多的C++特性 126   第10章 继续探索Windows内核 131   10.1 探索Windows已有内核调用 132   10.2 自己实现XP的新调用 135   10.2.1 对照调试结果和数据结构 135   10.2.2 写出C语言的对应代码 137   10.3 没有符号表的情况 138   10.4 64位操作系统下的情况 141   10.4.1 分析64位操作系统的调用 143   10.4.2 深入了解64位内核调用参数传递 145   深入篇 修改内核   这是本书的第四部分。读者已经尝试过探索Windows内核程序,并尝试阅读反汇编代码。那么接下来,必须掌握修改内核的方法。每一个Windows内核程序,都可以看做Windows内核本身的一个“补丁”。有时只需要独立存在,就能起到它的作用;有时却必须对已有的内核二进制代码进行部分修改。本部分包括第11~13章,主要介绍的是内核Hook。   第11章 机器码与反汇编引擎 150   11.1 了解Intel的机器码 151   11.1.1 可执行指令与数据 151   11.1.2 单条指令的组成 152   11.1.3 MOD-REG-R/M的组成 155   11.1.4 其他的组成部分 157   11.2 反汇编引擎XDE32基本数据结构 159   11.3 反汇编引擎XDE32具体实现 162   第12章 CPU权限级与分页机制 166   12.1 Ring0和Ring3权限级 167   12.2 保护模式下的分页内存保护 169   12.3 分页内存不可执行保护 172   12.3.1 不可执行保护原理 172   12.3.2 不可执行保护的漏洞 173   12.4 权限级别的切换 177   12.4.1 调用门及其漏洞 178   12.4.2 sysenter和sysexit指令 181   第13章 开发Windows内核Hook 186   13.1 XP下Hook系统调用IoCallDriver 187   13.2 Vista下IofCallDriver的跟踪 189   13.3 Vista下inline hook 193   13.3.1 写入跳转指令并拷贝代码 193   13.3.2 实现中继函数 196   实战篇 实际开发   实战部分是本书最深入和复杂的一部分,包括第14~17章。为了让前面练习的成果,在实际应用中产生价值,在这部分我们补充更多的理论知识并尝试用它们去做一点什么。这一部分包括指令分析、硬件基础知识、内核Hook的实际开发练习,以及将完成一个用到内核Hook的有趣的实例,这个实例有助于计算机阻挡各种病毒和木马的侵袭。   此外,本部分还包括特殊的一章,涉及如何巧妙地编写代码,来防止被其他不受欢迎的读者阅读。这与本书的主旨完全相反,正所谓物极必反。   第14章 反病毒、木马实例开发 200   14.1 反病毒、木马的设想 201   14.2 开发内核驱动 204   14.2.1 在内核中检查可执行文件 204   14.2.2 在内核中生成设备接口 208   14.2.3 在内核中等待监控进程的响应 210   14.3 开发监控进程 216   14.4 本软件进一步展望 218   第15章 Rootkit与HIPS 220   15.1 Rootkit为何很重要 222   15.2 Rootkit如何逃过检测 224   15.3 HIPS如何检测Rootkit 234   第16章 手写指令保护代码 237   16.1 混淆字符串 238   16.2 隐藏内核函数 244   16.3 混淆流程与数据操作 251   16.3.1 混淆函数出口 251   16.3.2 插入有意义的花指令 253   第17章 用VMProtect保护代码 258   17.1 安装VMProtect 259   17.2 使用VMProtect 261   17.3 查看VMProtect效果 267   参考文献 270

2010-07-05

天书夜读:从汇编语言到Windows内核编程(完整版一)

总共20多兆,太大了,权限不够,一次上传不了。 总共2个包,这是第一个包 第二个包:http://download.csdn.net/source/2517250 入手篇 熟悉汇编   本书的第一部分,将帮助读者消除对汇编的恐惧,熟悉汇编。本部分包括第1~3章。稍显枯燥的是,它们和Windows内核无关,是纯C语言与汇编语言的关系的章节。如果读者已经精通汇编语言,并能顺利阅读汇编代码,请直接跳过本部分。   第1章 汇编指令与C语言 2   1.1 上机建立第一个工程 4   1.1.1 用Visual Studio创建工程 4   1.1.2 用Visual Studio查看汇编代码 5   1.2 简要复习常用的汇编指令 6   1.2.1 堆栈相关指令 6   1.2.2 数据传送指令 7   1.2.3 跳转与比较指令 8   1.3 C函数的参数传递过程 9   第2章 C语言的流程和处理 14   2.1 C语言的循环反汇编 15   2.1.1 for循环 15   2.1.2 do循环 16   2.1.3 while循环 17   2.2 C语言判断与分支的反汇编 18   2.2.1 if-else判断分支 18   2.2.2 switch-case判断分支 19   2.3 C语言的数组与结构 22   2.4 C语言的共用体和枚举类型 24   第3章 练习反汇编C语言程序 26   3.1 算法的反汇编 27   3.1.1 算法反汇编代码分析 27   3.1.2 算法反汇编阅读技巧 28   3.2 发行版的反汇编 29   3.3 汇编反C语言练习 33   基础篇 内核编程   本书的第二部分,是编写Windows内核程序编程方法的基础。本部分包括第4~7章,如果读者对Windows内核编程已经有一定的了解,可以跳过本部分;如果读者从未接触过Windows内核编程,本部分将指导读者开始Windows内核编程,学会使用WDK,并熟悉内核编程的习惯与方法。   第4章 内核字符串与内存 38   4.1 字符串的处理 39   4.1.1 使用字符串结构 39   4.1.2 字符串的初始化 41   4.1.3 字符串的拷贝 42   4.1.4 字符串的连接 42   4.1.5 字符串的打印 43   4.2 内存与链表 45   4.2.1 内存的分配与释放 45   4.2.2 使用LIST_ENTRY 46   4.2.3 使用长长整型数据 49   4.2.4 使用自选锁 50   第5章 文件与注册表操作 52   5.1 文件操作 53   5.1.1 使用OBJECT_ATTRIBUTES 53   5.1.2 打开和关闭文件 54   5.1.3 文件读/写操作 58   5.2 注册表操作 60   5.2.1 注册表键的打开 60   5.2.2 注册表值的读 62   5.2.3 注册表值的写 65   第6章 时间与线程 67   6.1 时间与定时器 68   6.1.1 获得当前滴答数 68   6.1.2 获得当前系统时间 69   6.1.3 使用定时器 70   6.2 线程与事件 73   6.2.1 使用系统线程 73   6.2.2 在线程中睡眠 75   6.2.3 使用同步事件 76   第7章 驱动、设备与请求 79   7.1 驱动与设备 80   7.1.1 驱动入口与驱动对象 80   7.1.2 分发函数和卸载函数 80   7.1.3 设备与符号链接 82   7.1.4 设备的安全创建 83   7.1.5 设备与符号链接的用户相关性 85   7.2 请求处理 86   7.2.1 IRP与IO_STACK_LOCATION 86   7.2.2 打开与关闭请求的处理 88   7.2.3 应用层信息传入 89   7.2.4 驱动层信息传出 91   探索篇 研究内核   本书的第三部分,开始探索Windows内核程序,并尝试阅读反汇编代码作为指引。本部分包括第8~10章。如果读者对Windows内核编程已经有一定的了解,这一部分会比较有趣;如果读者从未接触过Windows内核编程,读者应该先学习第二部分。能自己编写内核程序并不意味着可以读懂内核,虽然反过来是一定成立的。读懂别人编写的没有代码的程序,比自己编写更困难一些,但的确是值得的。   第8章 进入Windows内核 96   8.1 开始Windows内核编程 97   8.1.1 内核编程的环境准备 97   8.1.2 用C语言写一个内核程序 99   8.2 学习用WinDbg进行调试 102   8.2.1 软件的准备 102   8.2.2 设置Windows XP调试执行 103   8.2.3 设置VMWare虚拟机调试 104   8.2.4 设置被调试机为Vista的情况 105   8.2.5 设置Windows内核符号表 106   8.2.6 调试例子diskperf 106   8.3 认识内核代码函数调用方式 107   8.4 尝试反写C内核代码 111   8.5 如何在代码中寻找需要的信息 113   第9章 用C++编写的内核程序 117   9.1 用C++开发内核程序 118   9.1.1 建立一个C++的内核工程 118   9.1.2 使用C接口标准声明 119   9.1.3 使用类静态成员函数 120   9.1.4 实现new操作符 121   9.2 开始阅读一个反汇编的类 122   9.2.1 new操作符的实现 122   9.2.2 构造函数的实现 124   9.3 了解更多的C++特性 126   第10章 继续探索Windows内核 131   10.1 探索Windows已有内核调用 132   10.2 自己实现XP的新调用 135   10.2.1 对照调试结果和数据结构 135   10.2.2 写出C语言的对应代码 137   10.3 没有符号表的情况 138   10.4 64位操作系统下的情况 141   10.4.1 分析64位操作系统的调用 143   10.4.2 深入了解64位内核调用参数传递 145   深入篇 修改内核   这是本书的第四部分。读者已经尝试过探索Windows内核程序,并尝试阅读反汇编代码。那么接下来,必须掌握修改内核的方法。每一个Windows内核程序,都可以看做Windows内核本身的一个“补丁”。有时只需要独立存在,就能起到它的作用;有时却必须对已有的内核二进制代码进行部分修改。本部分包括第11~13章,主要介绍的是内核Hook。   第11章 机器码与反汇编引擎 150   11.1 了解Intel的机器码 151   11.1.1 可执行指令与数据 151   11.1.2 单条指令的组成 152   11.1.3 MOD-REG-R/M的组成 155   11.1.4 其他的组成部分 157   11.2 反汇编引擎XDE32基本数据结构 159   11.3 反汇编引擎XDE32具体实现 162   第12章 CPU权限级与分页机制 166   12.1 Ring0和Ring3权限级 167   12.2 保护模式下的分页内存保护 169   12.3 分页内存不可执行保护 172   12.3.1 不可执行保护原理 172   12.3.2 不可执行保护的漏洞 173   12.4 权限级别的切换 177   12.4.1 调用门及其漏洞 178   12.4.2 sysenter和sysexit指令 181   第13章 开发Windows内核Hook 186   13.1 XP下Hook系统调用IoCallDriver 187   13.2 Vista下IofCallDriver的跟踪 189   13.3 Vista下inline hook 193   13.3.1 写入跳转指令并拷贝代码 193   13.3.2 实现中继函数 196   实战篇 实际开发   实战部分是本书最深入和复杂的一部分,包括第14~17章。为了让前面练习的成果,在实际应用中产生价值,在这部分我们补充更多的理论知识并尝试用它们去做一点什么。这一部分包括指令分析、硬件基础知识、内核Hook的实际开发练习,以及将完成一个用到内核Hook的有趣的实例,这个实例有助于计算机阻挡各种病毒和木马的侵袭。   此外,本部分还包括特殊的一章,涉及如何巧妙地编写代码,来防止被其他不受欢迎的读者阅读。这与本书的主旨完全相反,正所谓物极必反。   第14章 反病毒、木马实例开发 200   14.1 反病毒、木马的设想 201   14.2 开发内核驱动 204   14.2.1 在内核中检查可执行文件 204   14.2.2 在内核中生成设备接口 208   14.2.3 在内核中等待监控进程的响应 210   14.3 开发监控进程 216   14.4 本软件进一步展望 218   第15章 Rootkit与HIPS 220   15.1 Rootkit为何很重要 222   15.2 Rootkit如何逃过检测 224   15.3 HIPS如何检测Rootkit 234   第16章 手写指令保护代码 237   16.1 混淆字符串 238   16.2 隐藏内核函数 244   16.3 混淆流程与数据操作 251   16.3.1 混淆函数出口 251   16.3.2 插入有意义的花指令 253   第17章 用VMProtect保护代码 258   17.1 安装VMProtect 259   17.2 使用VMProtect 261   17.3 查看VMProtect效果 267   参考文献 270

2010-07-05

wire shark教程.rar

Wireshark是世界上最流行的网络分析工具。这个强大的工具可以捕捉网络中的数据,并为用户提供关于网络和上层协议的各种信息。与很多其他网络工具一样,Wireshark也使用pcap network library来进行封包捕捉。可破解局域网内QQ、邮箱、msn、账号等的密码!! wireshark的原名是Ethereal,新名字是2006年起用的。当时Ethereal的主要开发者决定离开他原来供职的公司,并继续开发这个软件。但由于Ethereal这个名称的使用权已经被原来那个公司注册,Wireshark这个新名字也就应运而生了。

2010-05-30

从Windows转向Linux教程E3000基础学习.pdf

从Windows转向Linux教程E3000基础学习 以fedora为例,介绍linux的安装和一些使用。

2010-05-18

多级XML的读取 tinyXML的使用

C++ 语言 用tinyxml读取XML文件的内容 &lt;pma_xml_export version=&quot;1.0&quot; xmlns:pma=&quot;http://www.phpmyadmin.net/some_doc_url/&quot;&gt; &lt;database name=&quot;dsxiong&quot;&gt; &lt;!-- 表 jw_region --&gt; &lt;table name=&quot;jw_region&quot;&gt; &lt;column name=&quot;region_id&quot;&gt;1&lt;/column&gt; &lt;column name=&quot;parent_id&quot;&gt;0&lt;/column&gt; &lt;column name=&quot;region_name&quot;&gt;中国&lt;/column&gt; &lt;column name=&quot;region_type&quot;&gt;0&lt;/column&gt; &lt;column name=&quot;agency_id&quot;&gt;0&lt;/column&gt; &lt;/table&gt; &lt;table name=&quot;jw_region&quot;&gt; &lt;column name=&quot;region_id&quot;&gt;2&lt;/column&gt; &lt;column name=&quot;parent_id&quot;&gt;1&lt;/column&gt; &lt;column name=&quot;region_name&quot;&gt;北京&lt;/column&gt; &lt;column name=&quot;region_type&quot;&gt;1&lt;/column&gt; &lt;column name=&quot;agency_id&quot;&gt;0&lt;/column&gt; &lt;/table&gt; &lt;/database&gt; &lt;/pma_xml_export&gt;

2010-05-12

CListCtrl各种应用

Everything you need to know about using the standard list control in your applications

2010-04-20

Visual.Assist.X10.4.1624.zip

非常好的vc插件,自动识别各种关键字,系统函数,成员变量,自动给出输入提示,自动更正大小写错误,自动标示错误,等等啦……支持VC++ 6, VC++ 5 andVC 3!

2009-04-08

ARM开发详解.pdf

ARM开发详解 ARM开发详解 ARM开发详解 英文版PDF+中文版WORD 英文版PDF+中文版WORD 英文版PDF+中文版WORD

2009-03-25

汇编C++指令字典2005.zip

集成了多种语言查询的“指令字典2005” 增加了新的功能,新的语言,新的界面, 还对原有语言进行了全面扩充与完善(例如:C、C++的函数增加到了350多个, 开放了文件修改功能等等)还有很多扩充完善这里就不多做介绍了,快来下载吧 "_"

2009-03-25

汇编入门秘诀.pdf

汇编入门秘诀.pdf 汇编入门秘诀.pdf 汇编入门秘诀.pdf 汇编入门秘诀.pdf

2009-03-25

More Effective C++中文

More Effective C++中文 More Effective C++中文 More Effective C++中文 More Effective C++中文 侯捷编译 侯捷编译 侯捷编译 侯捷编译

2009-03-25

FFMpeg SDK 开发手册

FFMpeg SDK 开发手册 FFMpeg SDK 开发手册 FFMpeg SDK 开发手册

2009-03-21

DLL中函数地址查看器

查看DLL提供的函数接口以及各个函数在DLL中的地址

2009-03-17

赵丽5500词汇.doc

背单词技巧 赵丽5500词汇.doc 赵丽5500词汇.doc 赵丽5500词汇.doc 赵丽5500词汇.doc

2009-03-04

ATL开发指.rar

ATL开发指.rar ATL开发指.rar ATL开发指.rar ATL开发指.rar

2009-02-12

GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf

不多介绍了 GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf GoF+23种设计模式解析附C++实现源码(2nd+Edition).pdf

2009-02-12

GDI泄露侦察器 .zip

GDILeakDetector 用于GDI+ 开发中检查GDI的对象数量 需要.NET平台支持

2009-02-12

GDI+ SDK参考(翻译版本).doc

GDI+ SDK参考(翻译版本).doc

2009-02-03

开发辅助小工具---测坐标以及放大器

开发时候用的测坐标工具,还有一个放大器。 开发时候用的测坐标工具,还有一个放大器。 开发时候用的测坐标工具,还有一个放大器。 开发时候用的测坐标工具,还有一个放大器。 开发时候用的测坐标工具,还有一个放大器。

2008-12-18

程序调试思想与实践.pdf

教你如何将调试作为一门可反复使用的学问。 使用对象: 专业的软件开发人员、软件管理人员、软件测试人员,软件调度员 学习正确的调试方法 学习避免Bug

2008-09-03

Visual.C.Sharp.2005.Step.by.Step.chm

微软出版社出版,Visual.C.Sharp.2005.Step.by.Step.chm

2008-01-08

VC技术内幕第五版.chm

VC技术内幕第五版,不多说

2008-01-08

空空如也

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

TA关注的人

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