4.1 技术原理 & 4.2 键盘过滤框架 4.1 预备知识 符号链接:符号链接其实就是一个“别名”.可以用一个不同的名字来代表一个设备对象(实际上),符号链接可以指向任何有名字的对象. ZwCreateFile是很重要的函数.同名的函数实际上有两个:一个在内核中,一个在应用层.所以在应用程序中直接调用CreateFile,就可以引发对这个函数的调用. 它不但可以打开文件,而且可以打开设备对象(返回得到一个类似文件句柄的句柄).所以后面会常常看见应用程序为了交互内核而调用这个函数,这个函数最终调…
4.1 技术原理 & 4.2 键盘过滤框架 4.1 预备知识 符号链接:符号链接其实就是一个“别名”.可以用一个不同的名字来代表一个设备对象(实际上),符号链接可以指向任何有名字的对象. ZwCreateFile是很重要的函数.同名的函数实际上有两个:一个在内核中,一个在应用层.所以在应用程序中直接调用CreateFile,就可以引发对这个函数的调用. 它不但可以打开文件,而且可以打开设备对象(返回得到一个类似文件句柄的句柄).所以后面会常常看见应用程序为了交互内核而调用这个函数,这个函数最终调…
Atitit.异步编程技术原理与实践attilax总结 1. 俩种实现模式 类库方式,以及语言方式,java futuretask ,c# await1 2. 事件(中断)机制1 3. Await 模式(推荐)1 4. Java的实现模式futuretask 对于c#的task类库(推荐)1 4.1. 使用Java 8的CompletableFuture实现函数式的回调.htm2 5. Timer模式2 6. Thread模式(不推荐,太底层)2 1. 俩种实现模式 类库方式,以及语言方式,ja…
本文带给大家的内容是动态防御WAF的技术原理及编程实战. 将通过介绍ShareWAF的核心技术点,向大家展示动态防御的优势.实现思路,并以编程实战的方式向大家展示如何在WAF产品开发过程中应用动态防御技术. ShareWAF是一款动态防御型WAF产品,其在反自动化攻击.反爬虫等领域应用了动态防御技术. 相比于传统WAF,动态防御型的WAF,有非常显著的优势: [动态防御优势.原理] 概括而言,优势体现为两个词:主动防御.不可预见 传统WAF,是静待攻击来临.识别攻击,再抵御攻击. 应用动态防御技…
Atitit.ide技术原理与实践attilax总结 1.1. 语法着色1 1.2. 智能提示1 1.3. 类成员outline..func list1 1.4. 类型推导(type inference): 1 1.5. Remote debug1 1.6. debugging api包一个gui就够了 1 1.7. expression evaluation 2 1.8. 如Java Compiler API2 1.9. Ide每部分代码数统计3 1.1. 语法着色 语法高亮要靠parser,…
Linux 内核及内核编程(1) 成于坚持,败于止步 Linux 2.6 内核的特点 Linux 2.6 相对于 Linux 2.4 有相当大的改进,主要体现在如下几个方面. 1.新的调度器 2.6 版本的 Linux 内核使用了新的进程调度算法,它在高负载的情况下执行得极其出色,并且当有很多处理器时也可以很好地扩展. 2.内核抢占 在 2.6 版本的 Linux 内核中,内核任务可以被抢占,从而提高系统的实时性.这样做最主要的优势在于可以极大地增强系统的用户交互性. 3.改进的线程模型 2.6…
1)跳入到基础篇的内核编程第7章,驱动入口函数DriverEnter的返回值决定驱动程序是否加载成功,当打算反汇编阅读驱动内核程序时,可寻找该位置. 2)DRIVER_OBJECT下的派遣函数(分发函数)指针的个数为:IRP_MJ_MAXINUM_FUNCTION,保存在一个数组中,编写驱动程序,实质上就是自己编写处理I/O请求IRP包的派遣函数,可以使用for循环将所有的派遣函数注册到同一个派遣函数.分发函数类似MFC消息机制中的回调函数,它的名字也是程序员自定义的,但是参数确定.卸载函数通过…
本文框架 什么是热修复? 热修复框架分类 技术原理及特点 Tinker框架解析 各框架对比图 总结   通过阅读本文,你会对热修复技术有更深的认知,本文会列出各类框架的优缺点以及技术原理,文章末尾简单描述一下Tinker的框架结构. 一.什么是热修复? 正常开发流程 热修复开发流程 热修复优势 修复什么? 二.热修复框架分类 现状:百花齐放百家争鸣 简单分类 更合理的分类 三.技术原理及特点 3.1 阿里Dexposed -- native解决方案 原理: 直接在native层进行方法的结构体信…
source: https://www.kernel.org/doc/html/latest/process/coding-style.html translated by trav, travmymail@gmail.com 这是一篇阐述Linux内核编程代码风格的文档,译者以学习为目的进行翻译. 1 缩进 Tab的宽度是八个字符,因此缩进的宽度也是八个字符.有些异教徒想让缩进变成四个字符,甚至是两个字符的宽度,这些人和那些把 PI 定义为 3 的人是一个路子的. 注意:缩进的全部意义在于清晰…
4.5 HOOK分发函数 本节开始深入的探讨键盘的过滤与反过滤.有趣的是,无论是过滤还是反过 滤,其原理都是进行过滤.取胜的关键在于:谁将第一个得到信息. 黑客可能会通过修改一个已经存在的驱动对象(比如前面的KbdClass)的分 发函数指针来实现过滤所有请求的目的.黑客将这些函数指针替换成自己的黑客 驱动中的函数,这样请求将被黑客的程序首先截获.然后通过调用原来被替换过 的旧的函数指针来让Windows的击键过程正常的运作下去. 4.5.1 获得类驱动对象 当然,首先要获得键盘类驱动对象,才能…