自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 资源 (2)
  • 收藏
  • 关注

翻译 标准和隔离型微过滤驱动介绍

实际上,一些经验丰富的开发者认为隔离Minifilter比文件系统开发更难,因为在编写隔离Minifilter时,你实际上需要在Filter Manager提供的API中“嵌入”Windows文件系统的实现。更有趣的是,一个设计良好的隔离Minifilter可以让不同的应用程序同时读取文件时,提供文件内容的解密视图和加密视图。而且,因为文件系统过滤器可以成为应用程序看到的文件系统“命名空间”的第一个解释器,它们还可以执行强大的文件重定向操作,例如将远程文件(例如存储在云中的文件)显示为本地文件。

2024-02-09 23:56:44 207 1

转载 基于文件过滤驱动的透明加密那点事儿

文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使用Layerfsd的双缓冲第三代技术和基于微软新一代minifilter框架的Layerfsd双缓冲第四代技术。第一代和第二代的技术划分基本上没有异议,所谓的第四代很多人并不认同,认为使用minifilter框架算不上是技术突破,其技术实现仍然是基于Layerfsd的双缓冲技术,...

2022-04-16 15:22:52 742

原创 C/C++应用程序的构建过程

C/C++应用程序的构建过程  软件是程序及其文档的集合,软件开发的核心任务就是生产出可以满足用户需求的程序。而对于绝大多数程序员来说,为了提高工作的开发效率,平时都是使用IDE来进行编程开发的。时下的IDE很多都是极其优秀的,它们一般都将程序的生成过程一步到位,直接构建(Build)出可执行文件,这样虽然大大提高了程序的开发效率,但是同样也隐藏了程序背后的运行机制与机理。 一般来说,对于C/

2017-06-09 12:06:21 2146

原创 函数的工作原理

一说到函数,我就会自然而然的想到函数的栈幁结构,调用约定,参数传参顺序,返回值等,那么在arm中函数究竟是如何工作的呢,我们来举例探究一下。栈帧的形成和关闭int main(int argc, char **argv){ printf("Hello ARM! \r\n"); return 0;}.text:000004DC var_C = -0xC.text

2016-03-01 15:57:31 562

原创 流程控制语句的识别

if语句if语句是分支结构的重要组成部分。if语句的功能是先对运算条件进行比较,然后根据比较结果选择对应的语句块执行。if语句只能判断两种情况:“0”为假值,“非0”为真值。如果为真值,则进入语句块内执行语句;如果为假值,则跳过if语句块,继续运行程序。要注意的是,if语句转换的条件跳转指令与if语句的判断结果是相反的。下面举例说明:// C++源码说明:if语句结构组成 Debug调

2016-02-26 11:48:29 304

原创 ARM指令集摘要

ARM是一种RISC体系结构的处理器芯片。和传统的CISC体系结构不同,RISC 有以下的几个特点:◆ 简洁的指令集——为了保证CPU可以在高时钟频率下单周期执行指令,RISC指令集只提供很有限的操作(例如add, sub, mul等),而复杂的操作都需要由这些简单的指令来组合进行模拟。并且,每一条指令不仅执行时间固定,其指令长度也是固定的,这样,在译码阶段就可以对下一条指令进行预取。◆

2016-02-25 15:53:22 381

转载 A* 寻路算法

原文地址: http://www.gamedev.net/reference/articles/article2003.asp概述虽然掌握了 A* 算法的人认为它容易,但是对于初学者来说, A* 算法还是很复杂的。搜索区域(The Search Area)我们假设某人要从 A 点移动到 B 点,但是这两点之间被一堵墙隔开。如图 1 ,绿色是 A ,红色是 B ,中间蓝色是墙。

2012-04-25 18:47:35 2186

原创 字符和字符串处理

ASCII标准ASCII美国信息交换标准码起始于50年代后期,并最终在1967年定案。开发ASCII的过程中,在代码位宽是6位、7位还是8位的问题上产生了很大的争议。从可靠性的观点看,不应该使用转换字符,因此ASCII不能是6位编码,而且由于费用的原因也排除了8位的版本方案(当时每位的价格很昂贵)。这样最终的代码就是26个小写字母、26个大写字母、10个数字、32个符号、33个控制代码和一个空

2012-04-20 16:17:06 557

原创 Windows程序运行原理

Windows操作系统版本MicrosoftWindows NT(Network Termination),其主要特征如下:纯32位构架支持虚拟内存支持多线程:抢占式的多线程系统支持多处理器DLL(动态链接库)指一组可调用的子例程,合起来被链接成一个二进制文件,使用这些子例程的应用程序可以动态地加载此二进制文件。例如Msvcrt.dll(C运行库)和Kernel32

2012-04-20 16:01:35 470

操 作 系 统复习资料

适 用 于 备 考 的 复 习 资 料...

2010-07-11

汇编基础知识word讲义

一、为什么要学习汇编语言? 实例1:运行一个计算机程序,即从输入命令到显示运行结果之间,计算机内发生了什么? Main() { short z,x=100, y=50; z=f1(x,y); printf(“z=%d\n”, z); } short f1(short x, short y) { short t = f2(x, y); return t; } short f2(short x, short y) { return (x+y); } 问题: 1. 为什么计算机在调用了f1之后一定会回到主程序去执行语句printf(“z=%d\n”, a);而不是去再次执行f2? 2. 在f1中,为什么能够知道x和y的值 3. 在main中,为什么能够知道返回的x+y的值

2010-03-29

空空如也

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

TA关注的人

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