- 博客(9)
- 资源 (40)
- 收藏
- 关注
原创 搭建Win7调试ACPI的环境
这几天看中调试ACPI相关章节,里面提到为了使用AMLI调试器,需要检查版本(Checked Build)的ACPI.sys。 我们平时使用的windows都是发行版本(Free Build),因此不能满足我们调试的需求。MSDN相关文档提到2个获得checked build的方法:1).从winddk的根目录下Debug/目录获取。很可惜,这个目录中只有ntkrnl.exe/hal.d
2016-10-30 15:26:28 2911 2
翻译 驱动程序中使用event view记录日志
Eventdrv是MS ddk中的一个demo,演示如何在驱动中使用event view日志。本文译自src/general/tracing/evntdrv/evntdrv.htm概述Event是内核态驱动运行日志样例.该驱动并不控制任何物理硬件,仅生成日志事件.它用于演示如何在驱动中使用ETW日志.Eventdrv通过调用EtwRegister API来注册事件产生者.如果驱动加载成功,
2016-10-23 17:04:45 2812
原创 用setupapi.dev.log查找驱动安装过程中的错误
错误难以避免,驱动安装后经常会见到YB,遇到这样的情况可以查看windows设备驱动安装日志: C:\Windows\inf\setupapi.dev.log.每次安装一个驱动,都以:>>> [Device Install (Hardwareinitiated) - STORAGE\VolumeSnapshot\HarddiskVolumeSnapshot2]>>> Sectio
2016-10-22 17:21:28 7444
原创 windbg拦截驱动加载
驱动的加载有几种方式,查看CreateService就可以知道。1、SERVICE_BOOT_START = 0x00000000,被系统loader加载,这类驱动是最早加载的。驱动文件必须放在C:\Windows\System32\drivers目录下,因为此时系统只能读注册表,不能打开文件,不能打出调试信息。看了下面的分析就清楚了。2、SERVICE_SYSTEM_START = 0x
2016-10-18 14:27:43 2783
转载 用windbg内核模式调试用户态程序
使用内核调试会话也可以执行一些用户态调试任务,比如向位于用户态的模块设置断点。但这样做与使用用户态调试器有什么不同呢?我们就以向NTDLL.dll模块的ZwTerminateProcess函数(Stub)为例谈谈二者的区别。区别一、在内核调试会话中设置这个断点的“难度”略大些。这是因为NTDLL不属于内核态的模块,所以内核会话通常不会加载这个模块(的符号),因此当执行bp命令时很可能被自动蜕化
2016-10-18 13:10:18 3693
转载 driver verifier查找隐藏的内存泄露BUG
转自看雪论坛:http://bbs.pediy.com/showthread.php?t=186922 在原文上略作改动 verifier是微软提供的驱动测试工具,可以用来识别内存损坏、错误处理的 I/O 请求包 (IRP)、无效的直接内存访问 (DMA) 缓冲区占用、可能的死锁以及低资源模拟等情况。在开始菜单->运行中输入 verifier后,可以弹出如下菜单:选择默认选项
2016-10-17 16:23:17 3796
转载 Windows 8以后的Windows操作系统关闭Driver Verifier的方法(disable Driver Verifier)
Windows 8之前的Windows操作系统,如Windows 7, WindowsXP可以在启动时按F8键,然后选择进入安全模式,在安全模式中运行verifier.exe,手工关闭所有DriverVerify选项。但在Windows8即以后的Windows操作系统,为了实现快速启动,取消了按F8进入启动高级菜单,所以当系统出现问题的时候,很难进入安全模式。比如在启用DriverVerifier
2016-10-13 17:28:24 6180 1
原创 C++溢出对象虚函数表指针
C++一特性是通过virtual关键字实现运行时多态,虽然自己用到这个关键字的机会不多,但很多引用的第三方库会大量使用这个关键字,比如MFC...如果某个函数由virtual关键字修饰,并且通过指针方式调用,则由编译器实现运行时多态,也是本文溢出虚函数表并加以利用的前提条件。虚表的概念可以参考这篇文章:C++虚表和多态,在这篇文章里就不再过多解释了。 文章开头提到了能完成溢出利用的前提条
2016-10-10 22:43:48 1296
转载 sed命令详解
1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个临时缓存区中(也称为模式空间),然后处理临时缓冲区中的行,完成后把该行发送到屏幕上。sed每处理完一行就将其从临时缓冲区删除,然后将下一行读入,进行
2016-10-09 23:49:53 544
Windows 10 x64 hal.zip
2020-04-20
Anti-DBG.zip
2017-09-23
Anti-DbgV2.zip
2017-09-23
checked build acpi.sys
2016-10-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人