-------------------------------------------------------- 在 rootkit 与恶意软件开发中有一项基本需求,那就是 hook Windows 内核的系统服务描述符表(下称 SSDT),把该表中的 特定系统服务函数替换成我们自己实现的恶意例程:当然,为了确保系统能够正常运作,我们需要事先用一个函数指针保存原始 的系统服务,并且在我们恶意例程的逻辑中调用这个函数指针,此后才能进行 hook,否则损坏的内核代码与数据结构将导致 一个 BugCh…
------------------------------------------------------------------------------------------- 本篇开始进入正题,因为涉及 MDL,所以相关的背景知识是必须的: nt!_MDL 代表一个"内存描述符链表"结构,它描述着用户或内核模式虚拟内存(亦即缓冲区),其对应的那些物理页被锁定住, 无法换出. 因为一个虚拟的,地址上连续的用户或内核缓冲区可能映射到多个不连续的物理页,所以 nt!_MDL 定长(0…
Linux对于内存的管理涉及到非常多的方面,这篇文章首先从对进程虚拟地址空间的管理说起.(所依据的代码是2.6.32.60) 无论是内核线程还是用户进程,对于内核来说,无非都是task_struct这个数据结构的一个实例而已,task_struct被称为进程描述符(process descriptor),因为它记录了这个进程所有的context.其中有一个被称为'内存描述符‘(memory descriptor)的数据结构mm_struct,抽象并描述了Linux视角下管理进程地址空间的所有信息…
http://blog.csdn.net/qq_26768741/article/details/54375524 前言 上一篇我们谈论了task_struct这个结构体,它被叫做进程描述符,内部成员包含了很多与进程相关的信息,今天我们来看一下其中一个被叫做内存描述符的结构体——mm_struct,抽象的来描述linux下进程的地址空间的所有的信息. 1.概述 一个进程的虚拟地址空间主要由两个数据结来描述.一个是最高层次的:mm_struct,一个是较高层次的:vm_area_structs.最…
---------------------------------------------------------------------------------------- 本篇开始进行真枪实弹的调试,本文的最后会附上完整的源码包,方便各位在自己的机器上演练. 如果安装了 Windows Driver Kits,在"开始"->"所有程序"中选择类似"WDK 7600.16385.1"的项目.具体的数字取决于你安装的 WDK 开发环境版本…
Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些"中级"的语言特性有着完善的文档,并且易于学习. 但是这里有个例外,那就是描述符.至少对于我来说,描述符是Python语言核心中困扰我时间最长的一个特性.这里有几点原因如下: 有关描述符的官方文档相当难懂,而且没有包含优秀的示例告诉你为什么需要编写描述符(我得为Raymond Hettinger辩护一…
开始看官方文档,各种看不懂,只看到一句Properties, bound and unbound methods, static methods, and class methods are all based on the descriptor protocol. 然后看了一篇很不错的文章Python描述符(descriptor)解密,至少让我知道为什么要描述符,以及描述符能做什么.简言之,描述符可以简化重复的property逻辑. 下面是转载内容: Python中包含了许多内建的语言特性,它…
原文:http://www.geekfan.net/7862/ Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些“中级”的语言特性有着完善的文档,并且易于学习. 但是这里有个例外,那就是描述符.至少对于我来说,描述符是Python语言核心中困扰我时间最长的一个特性.这里有几点原因如下: 有关描述符的官方文档相当难懂,而且没有包含优秀的示例告诉你为什么需要编写…
相关学习资料 <深入理解计算机系统(原书第2版)>.pdf http://zh.wikipedia.org/zh/%E4%B8%AD%E6%96%B7 独辟蹊径品内核:Linux内核源代码导读 李云华著 中文 PDF版 https://www.kernel.org/ http://blog.csdn.net/orange_os/article/details/7485069 http://blog.csdn.net/sunnybeike/article/details/6958473 http…
本文由 极客范 - 慕容老匹夫 翻译自 Chris Beaumont.欢迎加入极客翻译小组,同我们一道翻译与分享.转载请参见文章末尾处的要求. Python中包含了许多内建的语言特性,它们使得代码简洁且易于理解.这些特性包括列表/集合/字典推导式,属性(property).以及装饰器(decorator).对于大部分特性来说,这些“中级”的语言特性有着完善的文档,并且易于学习. 但是这里有个例外,那就是描述符.至少对于我来说,描述符是Python语言核心中困扰我时间最长的一个特性.这里有几点原因…