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

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

原创 函数调用方式的区别[thiscall,__cdecl,__stdcall]

<br />通常在使用VC进行函数定义时会指定该函数调用方式,诸如:   int __stdcall max(int a, int b)<br />  {<br />   return a>b?a:b;<br />  }  int __cdecl min(int a, int b)<br />  {<br />    return a<b?a:b;<br />  }  bool __fastcall equal(int a, int b)<br />  {<br

2010-09-29 10:32:00 843

转载 __declspec(dllimport)和__declspec(dllexport)的区别,以及有关c/c++调用约定

DLL可以使用两种方法将公共符号导入到应用程序中或从 DLL 导出函数:  生成 DLL 时使用模块定义 (.DEF) 文件。 在主应用程序的函数定义中使用 __declspec(dllimport) 或 __declspec(dllexport) 关键字。 使用 .DEF 文件模块定义 (.DEF) 文件是包含一个或多个描述各种 DLL 属性的 Module 语句的文本文件。如果不使用 __declspec(dllimport) 或 __declspec(dllexport) 导出

2010-09-29 10:13:00 771

转载 WIN32编程必知:__stdcall,__cdecl,__fastcall,thiscall,naked call

被这些修饰关键字修饰的函数,其参数都是从右向左通过堆栈传递的(__fastcall的前面部分由ecx,edx传),函数调用在返回前要清理堆栈,但由调用者还是被调用者清理不一定。1、_stdcall是Pascal程序的缺省调用方式,通常用于Win32 Api中,函数采用从右到左的压栈方式, 自己在退出时清空堆栈。VC将函数编译后会在函数名前面加上下划线前缀,在函数名后加上"@"和参数的字节数。 int f(void *p) -->>  _f@4(在外部汇编语言里可以用这个名字引用这个函数)2、C调用

2010-09-29 10:13:00 823

原创 __cdecl,__stdcall, __declspec用法说明

<br />__cdecl和__stdcall都是函数调用规范(还有一个__fastcall),规定了参数出入栈的顺序和方法,如果只用VC编程的话可以不用关心,但是要在C++和Pascal等其他语言通信的时候就要注意了,只有用相同的方法才能够调用成功.另外,像printf这样接受可变个数参数的函数只有用cdecl才能够实现. <br /> __declspec主要是用于说明DLL的引出函数的,在某些情况下用__declspec(dllexport)在DLL中生命引出函数,比用传统的

2010-09-29 10:12:00 1347

转载 c++ const 详解

<br />1. const修饰普通变量和指针<br />const修饰变量,一般有两种写法:<br />const TYPE value;<br />TYPE const value;<br />这两种写法在本质上是一样的。它的含义是:const修饰的类型为TYPE的变量value是不可变的。<br />对于一个非指针的类型TYPE,无论怎么写,都是一个含义,即value只不可变。<br />例如:<br />const int nValue;        //nValu

2010-09-26 16:11:00 539

原创 关于const 指针

<br />第一种const指针:<br />const double *pc = 0;<br />这种类型的定义表示pc指针指向的内存的内容不可通过pc来修改!<br />const 变量的地址只能赋给const指针:<br />const double *pc = 0;<br />const double minWage = 9.60;<br />pc = &minWage;<br />但是const指针也可以指向非const变量<br />double dval = 3

2010-09-26 16:01:00 732

转载 VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题

<br />VC9编译的程序在没有装过VC9(确切的说是.Net Framework3.5)的机器上运行时,如果提示“由于应用程序配置不正确,应用程序未能启动。重新安装应用程序可能会纠正这个问题。”这个错误,那么就说明该程序动态链接了VC9的运行时库,(如果还用到了MFC,那么可能动态链接了VC9的MFC库,同理还有ATL库),以及缺少对应的manifest文件,程序在目标机器上没有找到这些库和配置文件,因此导致了这个错误。出现这种情况的VC9编译器可能存在3个版本,接下来分别阐明:<br />

2010-09-26 15:39:00 2636

转载 Inno Setup 网页显示插件 webctrl (V2.1 版本)

; -- Example.iss --; restools; http://restools.hanzify.org; 插件名:webctrl.dll; 插件功能:网络连接检测,创建网页页面。; 插件大小:9 KB; V2 增强操作函数,可以同时创建多达 256 个 Web 窗口。; V2 例子中演示了建立一个小型浏览器以体现该版本中的函数如何使用。比起 V1 重点在于能同时创建多个 Web 窗口。; V2.1 删除 InitWebCtrl 和 UninitWebCtrl 函

2010-09-25 11:46:00 963

转载 MultiByteToWideChar和WideCharToMultiByte用法详解

//========================================================================//TITLE://    MultiByteToWideChar和WideCharToMultiByte用法详解//AUTHOR://    norains//DATE://    第一版:Monday  25-December -2006//    增补版:Wednesday 27-December -2006//    修订

2010-09-09 15:16:00 2240

转载 从char/wchar_t到TCHAR

<br />一.ANSI和UNICODE<br /> <br /><br />1.为什么要使用Unicode? <br />(1)可以很容易地在不同语言之间进行数据交换。<br />(2)使你能够分配支持所有语言的单个二进制.exe文件或DLL文件。<br />(3)提高应用程序的运行效率。 <br />Windows 2000是使用Unicode从头进行开发的,如果调用任何一个Windows函数并给它传递一个ANSI字符串,那么系统首先要将字符串转换成Unicode,然后将Unicode字符串传递给操作系

2010-09-09 13:39:00 1329

原创 TCHAR操作函数

<br />Routine Mappings <br />The generic-text routine mappings are defined in TCHAR.H. _tccpy and _tclen map to functions in the MBCS model; they are mapped to macros or inline functions in the SBCS and Unicode models for completeness. For informat

2010-09-07 09:47:00 2390

转载 ASCII/Unicode的结合与 STL 的 string 类的方法

<br />我经常在 C++ 程序中使用标准模板库(STL)的 std::string 类,但在 使用 Unicode 时碰到了问题。在使用常规 C 风格的字符串时,我可以使用 TCHAR 和 _T 宏,这样针对 Unicode 或 ASCII 均可以进行编译,但我 总是发现这种ASCII/Unicode的结合很难与 STL 的 string 类一起使用。你有什么好的建议吗?<br />首先回答TCHAR 和_T 是如何工作的?<br />基本思想是 TCHAR 要么是char,要么是 wchar_

2010-09-06 18:01:00 1109

转载 STL 字符串类与 UNICODE

Q:我经常在 C++ 程序中使用标准模板库(STL)的 std::string 类,但在 使用 Unicode 时碰到了问题。在使用常规 C 风格的字符串时,我可以使用 TCHAR 和 _T 宏,这样针对 Unicode 或 ASCII 均可以进行编译,但我 总是发现这种ASCII/Unicode的结合很难与 STL 的 string 类一起使用。你有什么好的建议吗? A:是的,一旦知道 TCHAR 和_T 是如何工作的,那么这个问题很简单。基本思想是 TCHAR 要么是c

2010-09-06 17:30:00 1151

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

C++ Templates 全览.pdf

C++ Templates 全览.pdf C++ Templates 全览.pdf C++ Templates 全览.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关注的人

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