随笔分类 - Windows驱动
摘要:简单地说,这个就是个普通的代码审计软件, 官网:http://cppcheck.net/ 使用起来也不麻烦。留个记录,告诉未来的我,如何使用。 首先去官网下载安装包,这个最好还是下载,但是不下载也没问题。 下载安装包只是希望在单独使用的时候,可以看到界面,可以更方便地使用。不想看界面就不要下载。 安
阅读全文
摘要:是不是可以这么干 1:通过 PCI 指令获取到显存物理地址。 2:通过往应用层注内存,获取显示器分辨率。 3:根据显存地址和显示器分辨率,算出一个矩阵。 4:对矩阵直接操作,类似于画bitmap
阅读全文
摘要:在写文件的时候没问题,但是写完文件之后,就出问题了, 什么问题呢,是因为写完文件之后,文件关闭之后, 调用了一个叫做 CcFlushCache 的函数,这个函数是从CcWriteBehind 调过来的, 顿时懵逼了,什么情况,怎么会进入刷缓存的函数,和缓存有鸡毛关系, 这是我至少半年前的代码了,因为
阅读全文
摘要:今天用VS2017 + WDK10 17134 写了个驱动,要上Win7 上运行, 到了Win7上,懵了。。。 蓝屏。。。 IDA 看了之后,发现是 security_cookie 的值的问题,导致的蓝屏, 上网把和一下,发现其实是 security_cookie 的计算方式在Win8以后出现了问题
阅读全文
摘要:最近遇到了一个恶意软件,劫持主页,其实也不算劫持吧,技术也不算多高明, 下面整套分析流程全部在IDA内部做,没有作一丁点调试。 不是我不会调试,只不过我感觉,这玩艺挺简单的,还要上手来调试,有点失身份,有点大材小用。 注册minifilter实现目录隐藏 准备目标进程列表 准备三个回调,真正干活的
阅读全文
摘要:在XP中通过注册表回调 CmRegisterCallback 注册注册表通知函数,在走 XP 的 RegNtPreCreateKey 分支的时候,会出现问题, 使用过的人可能会知道,这个问题就是,注册表路径拿不全,这怎么办, 路径拿不全,过滤就没法做啊, 很愁, 而这种情况下,如果又不想使用SSDT
阅读全文
摘要:这命令超级牛B ,用途是算内存所在屋里地址 !vtop 命令可以有两个参数,第一个参数是CR3 寄存器的值,第二个参数是要查询的虚拟地址是多少,比如 这样使用。 然后 WinDBG会自动计算物理地址,并且写出计算过程,如下 一目了然。
阅读全文
摘要:这个东西的位置在DEVICE_OBJECT的Flags字段中, 本来这个Flags大多的情况下都是在设置IO方式,如DO_BUFFERED_IO, 但特殊的位也可能需要在这里设置。 用处是防止当自己的设备对象初始化完成之前,别的模块来发送信息给自己的模块的。 如果程序仅在DriverEntry中创建
阅读全文
摘要:下面介绍的知识性信息来自intel IA-32手册(可以在intel的开发手册或者官方网站查到),提示和补充来自学习调试器实现时的总结。 希望能给你带去有用的信息。(DRx对应任意的一个调试寄存器。LENn对应任意一个长度。Ln对应任意一个局部置位)DR0-DR7可以直接被读写操作(MOV 指令之类
阅读全文
摘要:https://blogs.msdn.microsoft.com/alejacma/2007/10/31/cryptoapi-tracer-script/ 我得多少年才能学会这种写法。 实际上也没用多少年。 **********************************************
阅读全文
摘要:注册表的本地实体文件, 察看位置,以及映射本地文件到注册表中的位置, HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\hivelist 在这里写入键值之后,计算机重新启动之后,会直接映射到系统中, 导出注册表的时候,选择“注册表配置单元文件”就
阅读全文
摘要:这宏,我写的,怎么看怎么顺眼,能用宏,为什么要写函数呢,费事不讨好,而且还有可能影响效率 不过,实话实说,看着是有点low。。。 如果Windows的编译器能支持gcc的那种 ({}) ,的话,这个宏我能写得更完美, 就不用像最后,还得单独一行写宏,然后再起一行if __ret 了, 那样的话,代码
阅读全文
摘要:没啥技术含量,都是老段子了, 这次记下来,只是我想说,我也做过,留个念相。 前置条件,电脑里面必须得有Verifier,有了之后把自己的驱动加进去, WinDBG上双机,然后就可以跑了,跑一段时间就可以停了, (这时候可以说一下,其实中间可以多次断下来,然后用 !poolused 命令对应TAG,来
阅读全文
摘要:学了好久好久,但是好久好久都没有用过,今天突然要用,都快忘了怎么玩了, 这里记录一下吧。 如何检测PAE r cr4 第5位如果是1,则开了PAE,否则没开 切入目标进程 查找一个自己关注的字符串s -u (start) L(len) ""得到地址 得到地址kd> db 01014dd401014d
阅读全文
摘要:当前环境,MiniFilter 1:FsRtlIsPagingFile 参数是一个 FileObject 2:判断操作标识 SL_OPEN_PAGING_FILE FlagOn 宏可以直接做到,传入参数,是一个 Iopb->OperationFlags 3:还有一个位置就是在注册回调的时候,注册 F
阅读全文
摘要:学习写驱动,其实,挺无聊,但是也挺有意思的 IoGetTopLevelIrp 今天在看一个文件系统过滤驱动的时候,看到这个函数,它是干嘛的,为什么会有这么个东西 https://msdn.microsoft.com/library/windows/hardware/ff548405 MSDN果真古之
阅读全文
摘要:这段代码真神了, 当我还在考虑,进程创建回调里面怎么结束进程更方便的时候, 当我还在找oep、写ret的时候, 当我还在阻止进程创建的时候, 这份神代码给了一个极其简单的方法, 直接OpenProcess,然后Terminate就好了, 根本不用什么ret oep的,没有, 什么逢冲以合为应期,什么
阅读全文
摘要:1. 下载dmp文件所有相关模块的symbols,缓存到共享路径,便于其它人快速下载。"D:\Debuggers.10\x86\symchk.exe" /id c:\MyApplication.dmp /s SRV*\\symbols_server\WinSymbols\*http://msdl.m
阅读全文
摘要:感觉挺有意义的,细节问题 http://www.kernelmode.info/forum/viewtopic.php?f=14&t=4318这个人代码到底犯了什么错误 I want to place a jumper in Win 10 x64 win32k .text (PatchGuard d
阅读全文