自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 资源 (40)
  • 收藏
  • 关注

原创 驱动程序安装之设备协安装器

年前想把一个功能驱动和过滤驱动传到wu上,但是因为过滤驱动和第三方厂商驱动的hardwareid一样,直接传到wu上后用户一旦更新会有问题。一个同事提到一个解决方案:把过滤驱动的hardwareid改成一个无关紧要的id,然后为功能驱动的inf文件附加一个coinstaller,把他们一起传到wu上。当用户更新功能驱动时,通过coinstaller运行某个程序加载过滤驱动。    这样说可能还

2017-01-29 22:23:02 1738

原创 windbg下看系统非分页内存

这篇文章实在是闲的无聊才写的,因为快过年了...文章基于xpsp3    先看看和非分页内存相关的全局变量,也好有个大局观:kd> x nt!MmNonPaged*805517d8 nt!MmNonPagedPoolEnd = 8055af84 nt!MmNonPagedPoolEnd0 = 8055af80 nt!MmNonPa

2017-01-22 14:20:49 2546 1

转载 Windows下利用WinDBG、OllyDBG进行源码级调试

一般应用程序编译后会创建exe/dll/sys(可执行文件)、pdb(程序数据库)、map(编译信息)等文件,而源码调试需要可执行文件、程序数据库文件、还有源代码文件。(由于符号信息已经写入到程序数据库文件里,如果提到符号文件,一般都是指程序数据库文件)      我们知道,pdb文件里记录着调试程序所需的所有信息,调试器进行源码调试时,是先通过pdb文件找到对应符号的源文件所在位置,并定

2017-01-19 23:26:23 3840

原创 windbg调试驱动自旋锁死锁

驱动程序中常用自旋锁来保护互斥资源,由于驱动常以异步的方式工作,很难保证

2017-01-14 22:32:54 1770 2

原创 <Oday安全 11.6利用加载模块之外的地址绕过SafeSEH>一节注记---jmp [ebp+N] (下)

接上回,还剩几条跳转的指令还没分析到,这些指令将在本篇中完成。    先来看看call/jmp [ebp-0x4]这条指令。这是在当前函数_except_handler4栈的局部变量,因此需要查看反汇编代码:0:000> uf ntdll!ExecuteHandler2ntdll!ExecuteHandler2:7c923282 55 push ebp

2017-01-12 23:41:28 1185

原创 驱动蓝屏0x50 PAGE_FAULT_IN_NONPAGED_AREA

想写个暴力搜索nt模块中未导出函数,结果一直蓝屏:

2017-01-12 10:55:03 9660

原创 <Oday安全 11.6利用加载模块之外的地址绕过SafeSEH>一节注记---jmp [ebp+N] (上)

看到这一章我又抓狂了:作者提及从进程空间类型为Map的映射文件中寻找如下指令地址:call/jmp dword ptr[esp+0x8]call/jmp dword ptr[esp+0x14]call/jmp dword ptr[esp+0x1c]call/jmp dword ptr[esp+0x2c]call/jmp dword ptr[esp+0x44]call/jmp dwor

2017-01-10 22:23:48 1002

转载 MmGetSystemRoutineAddress实现

MmGetSystemRoutineAddress这个函数也是比较有用的,是得到系统导出函数的地址,不过网上都是写了一堆汇编代码在哪里,根本没有可读性,还不如用IDA看呢。下面的函数是摘自ReactOS项目的代码:PVOID  NTAPI  MmGetSystemRoutineAddress(IN PUNICODE_STRING SystemRoutineName)  

2017-01-06 16:21:07 1542 1

转载 windows 内核文档化API/导出但未文档化API/未导出API

导出函数:顾名思义,出现在导出表(EAT)里面的函数,可以给外部调用的函数,验证是否为导出函数的方法,熟悉逆向的朋友可以使用LordPE之类的工具查看,当然也可以使用GetProcAddress或者MmGetSystemRoutineAddress之类的函数来获取地址,如果成功的话就是导出函数。非导出函数:这种函数是供自己调用使用的,不想提供给别人使用,当然也有方法可以获取函数地址,可以根据函

2017-01-06 16:15:33 1959

原创 用windbg为无效页面建立页面映射

前几天和同事扯淡,说调试驱动时访问无效内存会蓝屏,好麻烦,应该让windbg自动建立一个有效的页面,这样就不用蓝屏重启了。虽然说这是扯淡,但仔细想想貌似也不是不可能实现。    首先回顾一下OS解决内存缺页时简单步骤:1.搜索物理页面;2.修改虚拟地址对应的pte表的值;3.重新执行访存失败的指令。基于这样的思路,我也试了一下在windbg中手工建立内存映射(环境:win7 x32)1.在

2017-01-05 17:00:48 860

原创 多进程(线程)访问设备的一些疑惑

同事在看设备驱动同步时,问了我一个事:如果驱动程序创建了一个设备,在应用层是否允许多个进程同时打开这个设备;如果允许,这种方式应用层和驱动的通信方式是否会相互影响?我不是很确定,写了个测试代码并把结果记录下来。1.我们在DriverEntry/AddDevice中调用IoCreateDevice创建设备对象。这是IoCreateDevice的接口,倒数第二个参数用于设置设备是否支持独占式访问。

2017-01-05 14:26:47 3248

devcon参考文档

网上搜集的驱动预安装的文档

2016-08-07

finally分析

vc++6.0对windows SEH机制处理和实现

2015-08-12

产生chkesp的函数调用方式

产生__chkesp的函数调用方式.pdf

2015-07-04

VS2008 Debug与Release的本质区别

VS2008 Debug与Release的本质区别

2015-06-29

Packing DLLs in your EXE

Packing DLLs in your EXE

2015-06-29

延迟加载库 DelayLoadHook.zip

延迟加载库 DelayLoadHook.zip

2015-06-29

延迟加载库 DelayLoadException.zip

延迟加载库 DelayLoadException.zip

2015-06-29

延迟加载库 DelayLoadDemo.zip

延迟加载库 DelayLoadDemo.zip

2015-06-29

C++标准程序库.pdf

侯捷著 C++标准程序库 讲述stl容器库

2012-10-11

虚拟设备驱动程序开发起步与进阶

windows虚拟设备驱动程序开发起步与进阶

2012-10-11

tdi防火墙 过滤驱动

开源个人防火墙源码 学习驱动和防火墙的不错资料

2011-08-22

Exploit 编写系列教程第三篇_基于SEH的Exploit

Exploit 编写系列教程第三篇_基于SEH的Exploit

2011-07-06

Windows设备驱动程序技术内幕.pdf

Windows设备驱动程序技术内幕.pdf

2011-04-16

tc参考手册

一本有关tc的参考手册

2008-07-09

vc6.0类库

vc6.0类库参考手册2

2008-07-08

vc6.0类库

vc6.0类库参考手册1

2008-07-08

Win7 Wininit.exe任意加载/执行(漏洞) 附件

Win7 Wininit.exe任意加载/执行(漏洞) 一文 附件

2022-04-07

ntoskrnl.idb

ntoskrnl.idb源自ntoskrnl.sys,分析了部分电源管理相关的内核函数 后续继续更新

2020-05-29

xp ntoskrnl.zip

windows xp ntoskrnl.sys/ntoskrnl.pdb/ntoskrnl.idb

2020-05-21

Windows 10 x64 hal.zip

Win 8.1/10 x64平台 S3 Resume任意执行漏洞 附带zip 原文URL:https://mp.csdn.net/console/editor/html/105641988

2020-04-20

Kali Linux网盘链接

=kali合集。打包到网盘,只收3分,还算合理吧,嗯

2018-11-20

What-makes-it-page

What-makes-it-page资源分享

2018-11-20

加强版lib2sig批处理脚本 批量对lib文件进行签名

改装后的lib2sig脚本,可以批量对lib文件进行签名,方便多了~!

2018-09-27

Wireshark系列之6 数据流追踪

Wireshark系列之6 数据流追踪 一文用到的资源 wireshark包

2018-08-17

sqli-labs盲注脚本

sqli-labs盲注脚本 sqli-labs盲注脚本 sqli-labs盲注脚本

2018-06-24

windbg 调试器扩展

windbg 调试器扩展。扩展后可以给页面下调试断点! windbg 调试器扩展。扩展后可以给页面下调试断点!

2018-06-21

load_file参考资料

load_file参考资料 从exploit.db上找到的资料 load_file参考资料 从exploit.db上找到的资料

2018-06-02

Anti-DBG.zip

PLIST_ENTRY GetPsActiveProcessHeadAddr() { PLIST_ENTRY PsActiveProcessHeadAddr = NULL; NTSTATUS status; PEPROCESS eProc = NULL; status = PsLookupProcessByProcessId((HANDLE)4, &eProc); if (!NT_SUCCESS(status)) return NULL; #ifdef WIN32_XP PsActiveProcessHeadAddr = ((PLIST_ENTRY)(((char*)eProc) + 0x88))->Blink; #elif WIN32_7 PsActiveProcessHeadAddr = ((PLIST_ENTRY)(((char*)eProc) + 0xb8))->Blink; #endif //PsActiveProcessHeadAddr = eProc->ActiveProcessLinks->Blink; ObDereferenceObject(eProc); return PsActiveProcessHeadAddr; }

2017-09-23

Anti-DbgV2.zip

DdgSsReserve句柄清零 PLIST_ENTRY GetPsActiveProcessHeadAddr() { PLIST_ENTRY PsActiveProcessHeadAddr = NULL; NTSTATUS status; PEPROCESS eProc = NULL; status = PsLookupProcessByProcessId((HANDLE)4, &eProc); if (!NT_SUCCESS(status)) return NULL; #ifdef WIN32_XP PsActiveProcessHeadAddr = ((PLIST_ENTRY)(((char*)eProc) + 0x88))->Blink; #elif WIN32_7 PsActiveProcessHeadAddr = ((PLIST_ENTRY)(((char*)eProc) + 0xb8))->Blink; #endif //PsActiveProcessHeadAddr = eProc->ActiveProcessLinks->Blink; ObDereferenceObject(eProc); return PsActiveProcessHeadAddr; }

2017-09-23

checked build acpi.sys

适合win7 RTM x86 checked build的Acpi.sys 可以用来测试张银奎ACPI那一章 因为我找了一周 所以象征性收1个积分

2016-10-29

调试驱动程序安装错误

转自高级调试论坛 介绍了setupapi.dev.log文件中日志的含义

2016-10-25

addfilter vc++

安装过滤驱动的代码

2016-08-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除