<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[KernelEx的专栏]]></title><description><![CDATA[代码收藏的地方]]></description><link>https://blog.youkuaiyun.com/KernelEx</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; KernelEx]]></copyright><item><title><![CDATA[ 仿真WINDOWS PE加载器的程序]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4531884</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4531884</guid><author>KernelEx</author><pubDate>Tue, 08 Sep 2009 14:54:00 +0800</pubDate><description><![CDATA[此程序用来仿真PE加载器，可以直接运行内存中的程序。 bool PELoader(char *lpStaticPEBuff, long lStaticPELen){  long lPESignOffset = *(long *)(lpStaticPEBuff + ]]></description><category></category></item><item><title><![CDATA[一个内核级的SHELL工具源代码]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4528421</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4528421</guid><author>KernelEx</author><pubDate>Mon, 07 Sep 2009 17:26:00 +0800</pubDate><description><![CDATA[信息来源：WhiteCell技术论坛 驱动部分;@echo off;goto make;********************************************************************;author  :dge;homepage:http://llfdge.googlepages.com/;date    :2007.3.16;*********]]></description><category></category></item><item><title><![CDATA[windbg 使用 ]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4477074</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4477074</guid><author>KernelEx</author><pubDate>Mon, 24 Aug 2009 10:06:00 +0800</pubDate><description><![CDATA[使用WinDbg内核调试看雪学院，笨笨雄译安装程序基础挑选技术取得更多信息WINDOWS调试工具很强大，但是学习使用它们并不容易。特别对于驱动开发者使用的WinDbg和KD这两个内核调试器（CDB和NTSD是用户态调试器）。本教程的目标是给予一个已经有其他调试工具使用经验的开发者足够信息，使其能通过参考WINDOWS调试工具的帮助文件进行内核调试。本文将假定开发者熟]]></description><category></category></item><item><title><![CDATA[PspCreateProcessNotifyRoutine,PspCreateThreadNotifyRoutine,PspLoadImageNotifyRoutine表全部清空]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4465735</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4465735</guid><author>KernelEx</author><pubDate>Thu, 20 Aug 2009 11:31:00 +0800</pubDate><description><![CDATA[RtlInitUnicodeString(&name,L"PsSetCreateProcessNotifyRoutine");RemoveNotifyRoutine((PVOID)MmGetSystemRoutineAddress(&name));RtlInitUnicodeString(&name,L"PsRemoveCreateThreadNotifyRoutine");Rem]]></description><category></category></item><item><title><![CDATA[SSDT原始地址, 现在地址]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4464963</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4464963</guid><author>KernelEx</author><pubDate>Thu, 20 Aug 2009 08:45:00 +0800</pubDate><description><![CDATA[#include #include #include #include #include #define ibaseDD *(PDWORD)&ibaseHINSTANCE g_hInst;HWND hWinMain,hList;#define ID_LISTVIEW 104#pragma comment(lib,"comctl32")typedef ULONG NTSTATUS;#defi]]></description><category></category></item><item><title><![CDATA[RING3下SSDT原始地址的获取]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4463827</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4463827</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 17:52:00 +0800</pubDate><description><![CDATA[#include "stdafx.h"#include #include using namespace std;#define RVATOVA(base,offset)             ((PVOID)((DWORD)(base)+(DWORD)(offset)))#define ibaseDD *(PDWORD)&ibase#define STATUS_]]></description><category></category></item><item><title><![CDATA[ring3 恢复SSDT]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4463423</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4463423</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 16:09:00 +0800</pubDate><description><![CDATA[// IATHOOK.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include #include #include #include #include #include using namespace std;#define STATUS_S]]></description><category></category></item><item><title><![CDATA[获得DISK的DeviceObject]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4463183</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4463183</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 15:28:00 +0800</pubDate><description><![CDATA[获得DISK的DeviceObject很久没有写代码了，最近简单的看了一下disk相关的东西，写了段代码share一下。先用livekd看一下Disk.sys DriverObject的一些信息：kd> !drvobj /driver/diskDriver object (89885a08) is for:/Driver/DiskDriver Extension Lis]]></description><category></category></item><item><title><![CDATA[内核中获取进程路径学习]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4463120</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4463120</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 15:12:00 +0800</pubDate><description><![CDATA[NTSTATUS PsGetProcessPathByPid( IN ULONG Pid ,char* FilePath){NTSTATUS        status;char        path[256] = {0};char        disk[10] = {0};STRING         ansi_path;STRING         ansi_d]]></description><category></category></item><item><title><![CDATA[PE导出/输入表————文件影射]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4462938</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4462938</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 14:33:00 +0800</pubDate><description><![CDATA[#include "stdafx.h"#include #include #include using namespace std;#define PCTSTR const char *ULONG Rav2Raw(PVOID pFileData, ULONG rav){  PIMAGE_DOS_HEADER pDosH;  PIMAGE_NT_HEADERS p]]></description><category></category></item><item><title><![CDATA[寻找原始表，恢复 ssdt 表 RING3]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4462053</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4462053</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 10:52:00 +0800</pubDate><description><![CDATA[标 题: 【原创】寻找原始表，恢复 ssdt 表作 者: dummy时 间: 2007-08-17,19:28链 接: http://bbs.pediy.com/showthread.php?t=49848// 只贴 ring3 部分，这也是最主要的代码，驱动只是负责把得到的原始值写到 ssdt，其他啥也不做// 简单说一下，找 KiServiceTable 表过程， 是直接读]]></description><category></category></item><item><title><![CDATA[INLINE HOOK RING0]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4461923</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4461923</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 10:34:00 +0800</pubDate><description><![CDATA[ /字节型数据  unsigned charULONG  CR0VALUE;BYTE  OriginalBytes[5]={0};             //保存原始函数前五个字节           BYTE JmpAddress[5]={0xE9,0,0,0,0};       //跳转到HOOK函数的地址 extern POBJECT_TYPE *PsProcessTy]]></description><category></category></item><item><title><![CDATA[IAT HOOK RING3]]></title><link>https://blog.youkuaiyun.com/KernelEx/article/details/4461892</link><guid>https://blog.youkuaiyun.com/KernelEx/article/details/4461892</guid><author>KernelEx</author><pubDate>Wed, 19 Aug 2009 10:30:00 +0800</pubDate><description><![CDATA[#include "stdafx.h"#include #include // 挂钩指定模块hMod对MessageBoxA的调用BOOL SetHookApi(HMODULE hMod);// 定义MessageBoxA函数原型typedef int (WINAPI *PFNMESSAGEBOX)(HWND, LPCSTR, LPCSTR, UINT uType);/]]></description><category></category></item></channel></rss>