![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
安全 (ring0)
花熊
毕业于西安交通大学
展开
-
0.ring0-蓝屏dump分析流程详解
以下是自己分析dump的一些经验,个人之见 系统蓝屏后,会先出来一个提示: 也可以通过dump来看到: 打开MSDN对蓝屏的说明:http://msdn.microsoft.com/en-us/library/windows/hardware/hh994433(v=vs.85).aspx 找到0x19的说明: 0×00000019 BAD_POOL_HEADER再找到参数1为原创 2011-05-28 11:49:00 · 5528 阅读 · 0 评论 -
1.ring0-内核重载详解(NTOS)
1.取得NTOS原始的地址: 这个可以通过遍历系统模块,找到第一个被加载的模块(NTOS),获得NTOS的路径,基地址,大小: 基本思路为: 1.1 ZwQuerySystemInformation查询到所有模块 1.2 获得NTOS的路径,基地址,大小 代码如下: NTSTATUS GetNtosModuleInfo(WCHAR *pNtosPath,ULONG nSize,原创 2011-08-07 09:34:46 · 20497 阅读 · 0 评论 -
2.ring0-新建SSDT项进行通讯(随手代码)
以下仅针对32位系统,在XP下测试: 以下是XP在ring3的调用方式: // xp ntdll!NtReadFile: 7c92d9b0 b8b7000000 mov eax,0B7h 7c92d9b5 ba0003fe7f mov edx,offset SharedUserData!SystemCallStub (7ffe0300) 7c92d9ba ff12 call原创 2011-12-27 20:14:21 · 1801 阅读 · 1 评论 -
3.ring0-__STDCALL inline HOOK 和 __declspec(naked) inline HOOK区别
两者差别 1.__STDCALL inline HOOK是针对整个函数的hook,好处是变量清楚,坏处时肯定只能在函数头hook NTSTATUS __stdcall NewNtQueryDirectoryFile( IN HANDLE FileHandle, IN HANDLE Event OPTIONAL, ....... )原创 2012-05-13 15:58:07 · 4499 阅读 · 0 评论 -
4.ring0-遍历IAT(特例NTOS)
原NTOS的IAT只能通过IMAGE_DIRECTORY_ENTRY_IAT(12)来获得,因为NTOS加载完后,INIT方式加载,所以IMAGE_DIRECTORY_ENTRY_IMPORT对应的区域被释放了! 坑爹啊, 可以用windbg很直观的看到: X86: x64: 其他的IAT遍历代码如下: NTSTATUS EnumIATTable(ULO原创 2012-07-25 21:16:31 · 1657 阅读 · 0 评论 -
5.ring0-SSDT-SSTDSHADOW原理分析、遍历随手代码
SSDT 的全称是 System Services Descriptor Table,系统服务描述符表 这个表就是一个把 Ring3 的 Win32 API 和 Ring0 的内核 API 联系起来。Ring3下调用的所有函数最终都会先进入到ntdll里面的 typedef struct _KSERVICE_TABLE_DESCRIPTOR { PULONG_PTR ServiceTab原创 2012-07-25 21:37:11 · 3321 阅读 · 0 评论 -
6.ring0-更改dbgport地址偏移过掉dbgport清0
正方案: 把 EPROCESS->DebugPort = NULL清零,这样调试器就无法接受到消息了,也就无法调试了 反方案: 以下的操作都可以写成一个script来操作. debugport和哪些函数相关 1.首先打开一个calc.exe: kd> !process 0 0 calc.exe PROCESS 861a9020 SessionId: 0 Cid: 068c原创 2012-07-26 23:10:07 · 2434 阅读 · 0 评论