自定义博客皮肤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!

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

转载 微软VC各版本BUG: error C2660: 'new' : function does not take 3 parameters[转]

今天在用GDI+写程序时,有HatchBrush * brushDotDiamond = new HatchBrush(HatchStyle25Percent,color);用VC6 SP6或VS2005编译错误为error C2660: new : function does not take 3 parameters这是VC的一个BUG,

2010-04-29 11:50:00 1926

原创 在VC 中使用GDI+[转]

请问怎样在VC6中使用GDI+,很急!! 请说明要用到什么库文件,头文件,谢谢!在 头文件 stdafx.h 添加如下的代码#define ULONG_PTR unsigned long#include using namespace Gdiplus;在 CWinApp 派生出来的 你自己的 C×App 的头文件 添加ULONG_PTRgdi

2010-04-29 11:31:00 1527

转载 在 VC6 中使用 GdiPlus-安装

安装三部曲:Step1:下载 GdiPlus SDK 文件包;链接地址1:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip链接地址2:http://www.codersource.net/samples/mfcgdiplus.zipStep2:安装;(1)头(GdiPlus*.h)文件安装

2010-04-29 11:12:00 4226

转载 在JavaScript 调用C++

方案一: // html & JavaScript...   <button value="Click me" onclick="window.navigate(app:command&arg1=1&arg2=2)" /> ...   // C++: 响应 的消息函数OnBeforeNavigat2

2010-04-28 13:28:00 4366

转载 利用MFC实现浏览器的定制与扩展(JavaScript与C++交互)

原文地址:http://www.vckbase.com/document/viewdoc/?id=1486 浏览器的定制与扩展 作者:李汉鹏下载源代码 本文分如下章节:前言在MFC中使用浏览器怎样扩展或定制浏览器定制鼠标右键弹出出菜单实现脚本扩展(很重要的external接口)C++代码中

2010-04-28 10:42:00 6530

转载 聪明的男人就不必怕女人的聪明(转)

有个男同学,在念书的时候,只要一言不合,就很会贬抑女同学:“你们干嘛这么聪明,聪明的女人吃不开的。”为什么呢?他说:“一个很聪明的男人,不会想要爱上一个聪明的女人。因为聪明的男人,已经活得很累了,何必找到一个人跟他斗智?而笨男人,根本不会有脑袋欣赏聪明女人。”  “在我看来,女人有才华也是没有用的;只有女人会因为男人的才华而爱他,男人只会因为女人的才华而怕她。”他的这些名言,真是令人难忘。  不过

2010-04-28 01:12:00 1496

翻译 Re: CHtmlView document returnValue

  本文是在C++取得JavaScript的返回值使用,与之前的《JavaScript call from C++》(C++调用JavaScript)相反,<span style="font-family: arial black,avant garde;">JavaScript call from C++是在C++中将值传给JavaScript使用。

2010-04-27 17:05:00 1413

翻译 JavaScript Calls from C++

最近要用到相关技术,先贴在这,有空再翻页。本文转自:http://www.codeguru.com/Cpp/I-N/ieprogram/article.php/c4399 http://www.codeguru.com/cpp/i-n/ieprogram/article.php/c4399/JavaScript-Calls-from-C.htm http://www.codeproje

2010-04-27 09:43:00 1481

转载 ATL与JavaScript交互

原帖地址:http://www.followman.com/bbs/Topic-B11-T262.aspx JavaScript动态响应ATL事件相关讨论:http://topic.csdn.net/t/20061012/21/5078729.html重点:脚本传过来的对象是IDispatch接口,应该用IDispatch::Invoke来调用。如果传过来的

2010-04-26 19:55:00 2318

转载 ActiveX组件与JavaScript交互

1.在COM组件中调用JavaScript函数// 连接点方式页面javascript脚本<object classid="CLSID:B568F111-DFE4-4944-B67F-0728AB2AB30F" id="testCom" VIEWASTEXT>        alert("State(" + s + ")");        return 123;

2010-04-26 19:52:00 1002

转载 Linux与windows常用软件大比拼

linux系统近两年在桌面应用上的发展有目共睹,并且很多人开始活跃起来了,想转到linux下。前些日子,我写了“为什么我们不选择 linux?” 的blog。引起了众多网友的响应,足可见linux在业内的影响。然而我写那几条大家不选择linux的理由并不是空空而谈,是因自身使用linux的体会有感而发的。最近一直在坚持使用linux,说坚持是因为还是向我说的那样有很多的不便。  当然使用了ub

2010-04-26 00:25:00 2944

原创 linux下常用软件列表

Linux下推荐的常用应用程序列表一,网页浏览1,firefoxfirefox是现在最火的一个浏览器,支持好多扩展和插 件,也有很多漂亮的主题.firefox就是mozilla-firefox,他是把mozilla的网页浏览的功能分离为一个单独的浏览 器.Firefox一般是linux系统自带的默认浏览器.2,opera(非开源免费软件)opera是号称最快的浏览器.能直接浏览 wap网站,并且在

2010-04-26 00:23:00 1777

原创 SOCKET bind INADDR_LOOPBACK和INADDR_ANY的区别

 今天写程序时候,服务器端启动了,然后客户端总是连接不上,connect返回错误号是10061,服务器积极拒绝请求。 用telnet连接一下端口,发现服务端服务没有开启,但是我程序是启动的,用netstat -a 命令看服务器是监听状态。 把流程走一遍,发现bind用的参数是INADDR_LOOPBACK,改成INADDR_ANY就OK了。 只是有些困惑,因为之前一个程

2010-04-23 11:50:00 9308

转载 很幽默的讲解六种Socket I/O模型

一:select模型二:WSAAsyncSelect模型三:WSAEventSelect模型四:Overlapped I/O 事件通知模型五:Overlapped I/O 完成例程模型六:IOCP模型   本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。一:select模型

2010-04-22 18:32:00 1099

转载 vc中定时器的使用

在编程时,会经常使用到定时器。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。1.1 用WM_TIMER来设置定时器先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(  HWND hWnd, 

2010-04-22 12:48:00 727

原创 VC++ MFC Tutorial: CListCtrl, InsertItem, Using List Control, SetImageList, Article with source code.

暂且先记录,等有空时候翻译 Everything you need to know about using the standard list control in your applications 源码下载Intr

2010-04-20 14:58:00 4425 1

原创 摘抄的爱情诗词

1.衣带渐宽终不悔,为伊消得人憔悴。-柳永《凤栖梧》 2.死生契阔,与子成说。执子之手,与子偕老。-佚名《诗经·邶风·击鼓》 3.两情若是久长时,又岂在朝朝暮暮。-秦观《鹊桥仙》 4.相思相见知何日?此时此夜难为情。-李白《三五七言》 5.有美人兮,见之不忘,一日不见兮,思之如狂。-佚名《凤求凰·琴歌》 6.这次我离开你,是风,是雨,是夜晚;你笑了笑,我摆一摆手,一条寂寞的路便

2010-04-15 11:14:00 7325

转载 VS2008 使用小技巧 提高编程效率

1. 怎样调整代码排版的格式?选择:编辑—>高级—>设置文档的格式  或     编辑—>高级—>设置选中代码的格式。格式化cs代码:Ctrl+k+f    格式化aspx代码:Ctrl+k+d2. 怎样跳转到指定的某一行?两种方法:Ⅰ. Ctrl+G                Ⅱ. 单击状态栏中的行号3. 怎样创建矩形选区?两种方法

2010-04-15 09:32:00 829

转载 非静态函数,非静态变量与静态函数,静态变量

非静态函数,非静态变量与静态函数,静态变量一、函数函数的引入可以减少程序的目标代码,实现程序代码的共享。但是,函数调用也需要一些时间和空间方面的开销,因为调用函数实际上将程序执行流程转移到被调函数中,被调函数的程序代码执行完后,再返回到调用的地方。这种调用操作要求调用前保护现场并记忆执行的地址,返回后恢复现场,并按原来保存的地址继续执行。对于较长的函数这

2010-04-14 16:15:00 858

转载 UDP协议的两个主要方法sendto和recvfrom详解

sendto()简述:  向一指定目的地发送数据。  #include   int PASCAL FAR sendto( SOCKET s, const char FAR* buf, int len, int flags,  const struct sockaddr FAR* to, int tolen);  s:一个标识套接口的描述字。  buf:包含待发送

2010-04-13 14:50:00 8949

原创 一个UDP实现广播的小例子

 UDP 是USER DATAGRAM PROTOCAL 的简称,是一种在网络上提供的无连接的传输协议。  用UDP通信有以下特点:1、 数据传输不用建立连接,所以不可靠; 2、 数据的发送是面向整个网络的,任何一台在局域网内的计算机都可以接收到相同的数据;  参考其他地方,弄一个简单的例子,希望起到抛砖引玉的作用,同时希望能给初次接触UDP之BROADCAST

2010-04-13 09:59:00 6851 1

转载 有关前面DLL和CreateRemoteThread函数综合说明

原帖地址:http://blog.csdn.net/xiadasong007/archive/2009/10/16/4679562.aspx 前面讲了DLL和CreateRemoteThread函数的基本用法,然而如果你想做个实用点的东西,还必须注意许多细节,这篇算是前面的小综合。我们的目的是要在QQ.exe进程中插入一个新线程,这个线程会调用LoadLibrary()来加载我们自

2010-04-01 10:58:00 889

转载 线程远程注入

原帖地址:http://blog.csdn.net/raiky/archive/2010/02/25/5323892.aspx  线程远程注入的技术并不复杂,主要用到CreateRemoteThread这个API。难点有个地方,由于要注入其他进程的空间,因此,注入用的那个线程中的代码必须使用和被注入进程的内存空间一致。换句话讲,就是需要找到线程中使用的函数在远程进程中的地址。明白这个,

2010-04-01 10:27:00 667

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

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关注的人

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