- 博客(9)
- 资源 (2)
- 收藏
- 关注
翻译 标准和隔离型微过滤驱动介绍
实际上,一些经验丰富的开发者认为隔离Minifilter比文件系统开发更难,因为在编写隔离Minifilter时,你实际上需要在Filter Manager提供的API中“嵌入”Windows文件系统的实现。更有趣的是,一个设计良好的隔离Minifilter可以让不同的应用程序同时读取文件时,提供文件内容的解密视图和加密视图。而且,因为文件系统过滤器可以成为应用程序看到的文件系统“命名空间”的第一个解释器,它们还可以执行强大的文件重定向操作,例如将远程文件(例如存储在云中的文件)显示为本地文件。
2024-02-09 23:56:44
388
1
转载 基于文件过滤驱动的透明加密那点事儿
文件透明加密这点事儿,从2001年开始出现基于API HOOK的方式开始到现在,已经十几年了,有细心人按技术实现的方式将其细分为4代,分别是基于API HOOK的第一代技术、基于文件过滤驱动(加清缓存)的第二代技术、使用Layerfsd的双缓冲第三代技术和基于微软新一代minifilter框架的Layerfsd双缓冲第四代技术。第一代和第二代的技术划分基本上没有异议,所谓的第四代很多人并不认同,认为使用minifilter框架算不上是技术突破,其技术实现仍然是基于Layerfsd的双缓冲技术,...
2022-04-16 15:22:52
849
原创 C/C++应用程序的构建过程
C/C++应用程序的构建过程 软件是程序及其文档的集合,软件开发的核心任务就是生产出可以满足用户需求的程序。而对于绝大多数程序员来说,为了提高工作的开发效率,平时都是使用IDE来进行编程开发的。时下的IDE很多都是极其优秀的,它们一般都将程序的生成过程一步到位,直接构建(Build)出可执行文件,这样虽然大大提高了程序的开发效率,但是同样也隐藏了程序背后的运行机制与机理。 一般来说,对于C/
2017-06-09 12:06:21
2296
原创 函数的工作原理
一说到函数,我就会自然而然的想到函数的栈幁结构,调用约定,参数传参顺序,返回值等,那么在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
606
原创 流程控制语句的识别
if语句if语句是分支结构的重要组成部分。if语句的功能是先对运算条件进行比较,然后根据比较结果选择对应的语句块执行。if语句只能判断两种情况:“0”为假值,“非0”为真值。如果为真值,则进入语句块内执行语句;如果为假值,则跳过if语句块,继续运行程序。要注意的是,if语句转换的条件跳转指令与if语句的判断结果是相反的。下面举例说明:// C++源码说明:if语句结构组成 Debug调
2016-02-26 11:48:29
334
原创 ARM指令集摘要
ARM是一种RISC体系结构的处理器芯片。和传统的CISC体系结构不同,RISC 有以下的几个特点:◆ 简洁的指令集——为了保证CPU可以在高时钟频率下单周期执行指令,RISC指令集只提供很有限的操作(例如add, sub, mul等),而复杂的操作都需要由这些简单的指令来组合进行模拟。并且,每一条指令不仅执行时间固定,其指令长度也是固定的,这样,在译码阶段就可以对下一条指令进行预取。◆
2016-02-25 15:53:22
435
转载 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
2239
原创 字符和字符串处理
ASCII标准ASCII美国信息交换标准码起始于50年代后期,并最终在1967年定案。开发ASCII的过程中,在代码位宽是6位、7位还是8位的问题上产生了很大的争议。从可靠性的观点看,不应该使用转换字符,因此ASCII不能是6位编码,而且由于费用的原因也排除了8位的版本方案(当时每位的价格很昂贵)。这样最终的代码就是26个小写字母、26个大写字母、10个数字、32个符号、33个控制代码和一个空
2012-04-20 16:17:06
604
原创 Windows程序运行原理
Windows操作系统版本MicrosoftWindows NT(Network Termination),其主要特征如下:纯32位构架支持虚拟内存支持多线程:抢占式的多线程系统支持多处理器DLL(动态链接库)指一组可调用的子例程,合起来被链接成一个二进制文件,使用这些子例程的应用程序可以动态地加载此二进制文件。例如Msvcrt.dll(C运行库)和Kernel32
2012-04-20 16:01:35
516
汇编基础知识word讲义
2010-03-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人