<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[nethm的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/xiaohua_de</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; xiaohua_de]]></copyright><item><title><![CDATA[Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/112104578</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/112104578</guid><author>xiaohua_de</author><pubDate>Sat, 02 Jan 2021 17:45:20 +0800</pubDate><description><![CDATA[0x1 使用USB3.0 调试线，进行windows双机内核调试

从win8开始，windows就引入了USB 3.0的内核调试 ，速度可以说爽的一批。不过能否支持USB3.0的调试，还需要看你的机器配置。









怎么知道知否支持USB3.0调试？

Host端：

 1 系统，WIN8以及以上

 2Target机器带有xHCI 控制器，即USB3.0的接口

Target端：

 1 系统，WIN8 以及以上

 2Target机器带有xHCI 控制器，...]]></description><category></category></item><item><title><![CDATA[Windows windbg kernel debug  双机内核调试 - COM口调试 串口调试 调试线]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/112094689</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/112094689</guid><author>xiaohua_de</author><pubDate>Sat, 02 Jan 2021 12:34:38 +0800</pubDate><description><![CDATA[0x1 使用COM 串口调试线，进行windows双机内核调试

在很多情况下我们不得不使用COM串口线进行内核调试，这个也是一种比较古老的方式。使用串口线调试要求Target机器必须要有原生的

COM口，其他的PCI/PCIE/USB转串口均不行，然而对于Host端使用PCI/PCIE/USB转串口则是没有问题的。本人已经做过严格的测试与验证。



0x2 设置目标计算机


使用bcdedit更改引导信息之前，您可能需要暂时挂起Windows PC安全功能，例如关闭BitLocker和se...]]></description><category></category></item><item><title><![CDATA[TUN/TAP设备浅析(一) -- 原理浅析]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/85045590</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/85045590</guid><author>xiaohua_de</author><pubDate>Mon, 17 Dec 2018 10:35:37 +0800</pubDate><description><![CDATA[TUN/TAP设备浅析
TUN设备
TUN 设备是一种虚拟网络设备，通过此设备，程序可以方便地模拟网络行为。TUN 模拟的是一个三层设备,也就是说,通过它可以处理来自网络层的数据，更通俗一点的说，通过它，我们可以处理 IP 数据包。

先来看看物理设备是如何工作的：

上图中的 eth0 表示我们主机已有的真实的网卡接口 (interface)。

网卡接口 eth0 所代表的真实网卡通过网线(w...]]></description><category></category></item><item><title><![CDATA[KiFastCallEntry() 机制分析]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/84911556</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/84911556</guid><author>xiaohua_de</author><pubDate>Sun, 09 Dec 2018 07:19:45 +0800</pubDate><description><![CDATA[
	
		
			
				转				KiFastCallEntry() 机制分析
			
			
				
																				2013年12月19日 12:54:43
					whatday
						阅读数：6454
										
				
														
			
		
	
	
		
								            
						

1....]]></description><category></category></item><item><title><![CDATA[PE文件学习笔记（五）：导入表、IAT、绑定导入表解析]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/84771127</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/84771127</guid><author>xiaohua_de</author><pubDate>Mon, 03 Dec 2018 16:26:28 +0800</pubDate><description><![CDATA[
作者：Apollon_krj 
来源：优快云 
原文：https://blog.youkuaiyun.com/apollon_krj/article/details/77417063 
版权声明：本文为博主原创文章，转载请附上博文链接！]]></description><category></category></item><item><title><![CDATA[.bat批处理（三）：变量声明、设置、拼接、截取]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/84375043</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/84375043</guid><author>xiaohua_de</author><pubDate>Fri, 23 Nov 2018 10:26:05 +0800</pubDate><description><![CDATA[前言
在使用批处理脚本的时候我们常常会有这类需求，比如需要设置一个变量来存储数据，简化程序书写；拼接现有的内容得到新的变量；截取变量的一部分来满足我们的要求，这些需求都是我们经常需要的，接下来我们设计一个情景来实现这些需求。

内容
情景设计

假设我们的批处理脚本要实现这样一个功能：从控制台接收参数，前两个参数为信息发送者，第三个参数为信息接收者，最后一个参数为信息内容，请输出所有发送者、接收者...]]></description><category></category></item><item><title><![CDATA[UAC文件和注册表操作虚拟化]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/84293958</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/84293958</guid><author>xiaohua_de</author><pubDate>Tue, 20 Nov 2018 12:18:26 +0800</pubDate><description><![CDATA[从vista开始microsoft推出了UAC机制，就是User Account Control。开启UAC机制之后，windows默认通过explorer启动的程序都是运行在标准用户权限下面，而不是管理员用户权限。标准用户权限下会限制用户的诸多操作，最需要我们程序员关注的就是对于文件和注册表的访问，但是在windows xp下，所有的用户都是管理，很多程序在设计之初，就只考虑了程序是运行在管理员...]]></description><category></category></item><item><title><![CDATA[堆破坏]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/84065285</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/84065285</guid><author>xiaohua_de</author><pubDate>Wed, 14 Nov 2018 13:56:58 +0800</pubDate><description><![CDATA[堆破坏

所谓的堆破坏，是说没控制好自己的指针，把不属于你分配的那块内存给写覆盖了。这块内存可能是你程序的数据，也可能是堆的管理结构。那么这个会导致怎样的后果呢？可能的情况我们来yy下

把程序里的计算结果覆盖了，这也许会让你重复看了N次代码，校验了N次计算逻辑也搞不明白为何计算结果还是有问题
	堆管理结构被破坏了，new/delete，或者malloc/free操作失败
	等等等等~
堆破坏较为...]]></description><category></category></item><item><title><![CDATA[进程和线程的优先级]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/83992213</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/83992213</guid><author>xiaohua_de</author><pubDate>Mon, 12 Nov 2018 15:03:27 +0800</pubDate><description><![CDATA[进程（线程）的优先级越高，那么就可以分占越多的CPU时间片，每个进程都有相应的优先级，优先级决定它何时运行和占用CPU的时间。最终的优先级共分 32 级，是从 0 到 31 的数值，称为基本优先级别。

 

线程32个优先级，16~31是实时类别 1~15是动态类别 0是系统类别

KPROCESS.BasePriority是线程创建之后的KTHREAD.BasePriority值（线程的基本、...]]></description><category></category></item><item><title><![CDATA[EnumProcessModulesEx]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/83025402</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/83025402</guid><author>xiaohua_de</author><pubDate>Fri, 12 Oct 2018 13:07:16 +0800</pubDate><description><![CDATA[EnumProcessModules API原型
BOOL
WINAPI
EnumProcessModulesEx(
    _In_  HANDLE hProcess,
    _Out_writes_bytes_(cb)  HMODULE *lphModule,
    _In_  DWORD cb,
    _Out_  LPDWORD lpcbNeeded,
    _In_  DWORD...]]></description><category></category></item><item><title><![CDATA[explorer的搜索框中右键-粘贴  解析]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82899650</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82899650</guid><author>xiaohua_de</author><pubDate>Sat, 29 Sep 2018 16:55:24 +0800</pubDate><description><![CDATA[UINT SendInput(  UINT nInputs,   LPINPUT pInputs,   int cbSize ); 

 

函数说明：

该函数合成键盘事件和鼠标事件，用来模拟鼠标或者键盘操作。事件将被插入在鼠标或者键盘处理队列里面。

 

参数说明：

nInputs 指定ninput 数组中元素的个数。就是插入事件的个数。

pInputs 指向一个类型为INPUT的 数组...]]></description><category></category></item><item><title><![CDATA[Windows系统架构总结（转）]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82892381</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82892381</guid><author>xiaohua_de</author><pubDate>Sat, 29 Sep 2018 08:53:37 +0800</pubDate><description><![CDATA[系统架构



关键组件

环境子系统和子系统DLL

　　环境子系统向应用程序提供环境和应用程序编程接口(Appplication Programming Interface, API）。Windows 2000/XP支持三种环境子系统：Win32、POSIX和OS/2，其中最重要的环境子系统是Win32子系统，其他子系统都要通过Win32子系统接收用户的输入和显示输出。环境子系统的作用是将基本...]]></description><category></category></item><item><title><![CDATA[Windows系统结构图 转]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878723</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878723</guid><author>xiaohua_de</author><pubDate>Fri, 28 Sep 2018 11:29:55 +0800</pubDate><description><![CDATA[2017年01月24日 12:45:34 地狱神龙 阅读数：705更多

个人分类： 梦织未来内核



























 





 







]]></description><category></category></item><item><title><![CDATA[网络防火墙开发二三事  转]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878654</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878654</guid><author>xiaohua_de</author><pubDate>Fri, 28 Sep 2018 11:27:13 +0800</pubDate><description><![CDATA[花了近一个月的时间研究 Windows 平台下的网络防火墙相关技术，并实现了一个简单的防火墙。
在独自摸索的过程中，由于以往的开发经历从未涉及此领域，所以碰到了不少困难，也走了些弯路。
现此项目暂告一段，遂将相关心得整理成文。文章以归纳总结为主，没有创新性技术，高手免看。

◎ 防火墙的数据包拦截方式小结

网络防火墙都是基于数据包的拦截技术之上的。在 Windows 下，数据包的拦截方式有很多种...]]></description><category></category></item><item><title><![CDATA[Windows网络系统架构 转]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878600</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878600</guid><author>xiaohua_de</author><pubDate>Fri, 28 Sep 2018 11:24:13 +0800</pubDate><description><![CDATA[在介绍Windows网络体系架构之前，我首先介绍一下Windows中的两个重要编程规范——TDI，NDIS.，然后再介绍网络体系的架构。TDI，Transport Driver Interface，传输驱动程序接口。/Windows/System32/Drivers/Tdi.sys。在实现网络API驱动程序时，由于牵涉到很多不同协议，会用到不同协议驱动提供的接口，使得开发的工作复杂化。所以Micr...]]></description><category></category></item><item><title><![CDATA[计算机网络体系结构详解（图文） 转]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878553</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82878553</guid><author>xiaohua_de</author><pubDate>Fri, 28 Sep 2018 11:22:44 +0800</pubDate><description><![CDATA[版权声明：本文为博主原创文章，未经博主允许不得转载。 https://blog.youkuaiyun.com/songkai320/article/details/51754433

计算机网络体系结构

计算机网络的各层及其协议的集合，称为网络的体系结构。

 

网络协议：

为进行网络中的数据交换而建立的规则、标准或约定称为网络协议。

网络协议主要由以下三要素组成：

1、语法，即数据与控制信息的结构...]]></description><category></category></item><item><title><![CDATA[NDIS WIN7  WINXP hook网络发包收包(转)]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82877766</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82877766</guid><author>xiaohua_de</author><pubDate>Fri, 28 Sep 2018 10:45:04 +0800</pubDate><description><![CDATA[多年前做过xp-win10的 ndishook。由于时间太久，都忘得差不多了。由于公司代码有bug，特意网上找了一下介绍，不过没有找到图。凑合看下

 


转：
   网上有很多讨论关于NDIS HOOK的文章,但大多只讲了WIN7之前的HOOK NDIS_OPEN_BLOCK下的例程,至于WIN7下怎么
HOOK以及如何做MINIPORT-HOOK,网络上则鲜有提及.根据前阵子的相关分析,我把...]]></description><category></category></item><item><title><![CDATA[《重要》从用户模式切换到内核模式的完整过程分析(转)]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82851874</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82851874</guid><author>xiaohua_de</author><pubDate>Wed, 26 Sep 2018 13:19:00 +0800</pubDate><description><![CDATA[Windows定义了两种访问模式：用户模式和内核模式。应用程序代码运行在用户模式下，操作系统代码运行在内核模式下。

内核模式对应处理器的最高权限级别。在内核模式下执行的代码可以访问所有资源并可以执行所有特权指令。用户模式具有较低的优先级，用户模式只能访问用户空间，且不能执行特权指令。

如果用户代码不慎访问了系统空间的数据或执行了特权指令将会导致保护性异常的发生。但是用户代码可以通过调用系统服务...]]></description><category></category></item><item><title><![CDATA[WIN7 X64 SSDT函数获得(转 ，包括win10)]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82850493</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82850493</guid><author>xiaohua_de</author><pubDate>Wed, 26 Sep 2018 11:05:45 +0800</pubDate><description><![CDATA[曾经在网上看到一片文章，

在早期64位系统，内核函数开头地址的低四位一般是0，形如:xxxxxxxx`xxxxxxx0，这一特征在SSDT表中有很强大的引用，SSDT表在64位系统于32位系统有较大的差别。以下是在64位系统下的KeServiceDescriptorTable：

kd&amp;gt; dp KeServiceDescriptorTable
fffff800`0117bb80  ffff...]]></description><category></category></item><item><title><![CDATA[LPC服务器拒绝客户端的表白]]></title><link>https://blog.youkuaiyun.com/xiaohua_de/article/details/82846616</link><guid>https://blog.youkuaiyun.com/xiaohua_de/article/details/82846616</guid><author>xiaohua_de</author><pubDate>Tue, 25 Sep 2018 23:43:07 +0800</pubDate><description><![CDATA[ 

开场白：

项目中遇见了一个奇怪的问题。在64位系统下，LPC的服务端是wow32位进程，在调用了ZwAcceptConnectPort拒绝客户端的连接后，ZwAcceptConnectPort返回

  //
// MessageId: STATUS_INVALID_MESSAGE
//
// MessageText:
//
// The ALPC message supplied is ...]]></description><category></category></item></channel></rss>