10 2019 档案
摘要:利用 Symbol Type Viewer 工具实现将 pdb 文件 转换为 c\c++ 头文件 一、得到符号 二、将符号转换为 .h 文件 三、得到 c\c++ 头文件,之后编程时直接导入这个文件即可,不需要自己再去定义了 四、后记:感谢逼哥介绍的软件,不用再去自定义结构体了。
阅读全文
摘要:使用 Xbox Game 录制桌面视频(附带音频) 前言:可能自己音频输出的问题,一直无法用工具录制桌面的音频,而最后发现利用 Xbox Game 录制游戏视频的功能很好地解决我们的问题。 1)打开游戏,让启动Xbox可以启动。 注意:如果不启动游戏,则 Xbox 无法启动。启动 Wegame 或者
阅读全文
摘要:解决 IDA 加载 ntoskrnl.exe 时符号不完全问题 1. 问题:IDA加载xp系统的 ntoskrnl.exe 加载不完全。 2. 尝试过但未成功的解决方案: 1)配置好的IDA的 pdb.cfg,依然无效。 2)清空 C:\\symbol\ 文件下的符号表重新打开,期望符号表会重新下载
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 全局句柄表 在这前有一篇中我们介绍过私有句柄表。 对于私有句柄表,每个进程有一份。 全局句柄表,就一份,其所有句柄都存储在这张表中,由操作系统维护。 全局句柄表有一个
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 句柄表(私有句柄表) 我们在R3环编程中,会接触到句柄HANDLE的概念。 比如OPENPROCESS,打开进程获取其进程句柄,这些被称为“内核句柄”。 注意,与GU
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) 内存在0环的两种内存隐藏方式(基于VAD树) 一、通过 _MMVAD.StartingVpn与_MMVAD.Endin
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 技术学习来源:火哥(QQ:471194425) 注释:因为自己的知识有限,在句柄那块说的不是很清除,在学习相关知识之后会自行补上。 通过修改VAD属性破除锁页机制 对
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html R3环申请内存时页面保护与_MMVAD_FLAGS.Protection位的对应关系 我们之前有过一篇关于 VAD 的介绍,其中 _MMVAD_FLAGS.Prote
阅读全文
摘要:利用内存锁定技术防止CE修改 通过这种在R3环利用的技术,我们可以来达到保护内存的目的,像VirtualProtect等函数来修改页属性根本无法修改。 而CE修改器推测应该使用VirtualProtect来修改页属性,从而可以修改内存。 当然,这种技术在R0层面是可以修改的(当然修改起来也有一定难度
阅读全文
摘要:直接删除 “驱动精灵” 即可。 等我 二进制安全 学好了,一定开发一种病毒专干这种劫持的,煞笔软件。
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html VAD树的属性以及遍历 前面学习过的PFNDATABSAE是管理物理页的,整个操作系统仅维护一个PFNDATABASE。 现在的VAD是管理虚拟内存的,每一个进程有自
阅读全文
摘要:在驱动中实现进程遍历 一、进程遍历思路: 1)之前在用户层,我们通过查看TEB结构体来实现进程遍历;但在内核层,我们使用_EPROCESS结构体来获取进程相关信息。 2)_EPROCESS 有几个比较重要的成员: 1> +0x11c VadRoot : Ptr32 Void,该进程VAD树的根结点。
阅读全文
摘要:VMware+windbg时快照功能的使用 一、快照功能的使用 我们在编写与调试驱动文件时经常会面临死机蓝屏情况,如果像平常一样重启,再重新配置环境,肯定会占用大量时间。 Vmware虚拟机给我们提供快照功能,它可以帮助我们快速回到之前的某一刻。(前提是你先建立快照) 1)建立快照 如下图,右击 虚
阅读全文
摘要:边学习边更新这专题,随手记录一下用到的思路,给自己看的(所以读者看可能有些懵,不好意思...) RootKit随手记(一)RootKit的驱动隐藏、读取配置、卸载安装 一、驱动隐藏 1. 隐藏原理 一款好的ROOTKIT一定会隐藏自己,检测驱动时经过一串链表,该链表的结点在 DRIVER_OBJEC
阅读全文
摘要:VS2017+WDK10使用默认配置可以开发出运行在win7的驱动,但要开发运行在xp的驱动,还要进行如下操作: Dervier Settings -> Driver Model -> type of driver 由KWMF改为WDM。
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows内存布局 / MmPfnDataBase页帧数据库 1. Windows操作系统在X86下的内存布局如下图所示 2. 进程工作集 (Hyperspace
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 保护模式中的PDE与PTE 1. PDE与PTE的认知 我们在上一节,10-10-12模式中已经见过下表。 PDT(Page Direcotry Table)y页目录
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 保护模式101012分页机制 在保护模式中,我们都知道,所谓的内存地址是虚拟地址,不是物理地址。 但是,我们是否想过,虚拟地址是随便产生的吗?当然不是,其实一些数字的
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中的系统服务表描述符(SSDT) 在前面,我们将解过 系统服务表。可是,我们有个疑问,系统服务表存储在哪里呢? 答案就是:系统服务表 存储在 系
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中的系统服务表 如果这部分不理解,可以查看 Windows内核分析索引目录依次阅读。 我们在之前讲过系统调用过程中,给予eax一个编号,操作系统
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 三环进入零环的细节(KiFastCallEntry函数分析) 1. 从三环进入零环的方式 从三环进入零环,其存在两种:快速调用与中断调用int21 对于如何进入,取决
阅读全文
摘要:这里整理了《Windows内核分析》专题的各篇博文,方便查找。 二进制中的数学换算 常用汇编指令集合 驱动内核函数汇总 windbg 常调用指令 滴水视频汇总 PE文件 系统调用 APC 进程与线程 等待对象 异常(1) 异常(2) 编译器对于SEH异常的拓展 软件调试 消息机制 内存管理 PE解析
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API从3环到0环(下) 如果对API在三环的部分不了解的,可以查看 Windows系统调用中的API三环部分(依据分析重写ReadProce
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API从3环到0环(上) 如果对API在三环的部分不了解的,可以查看 Windows系统调用中的API三环部分(依据分析重写ReadProce
阅读全文
摘要:访问这里 > Windows系统调用中API的三环部分(依据分析重写ReadProcessMemory函数)
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html Windows系统调用中API的3环部分 一、R3环API分析的重要性 二、调试代码 三、调试中的关键汇编代码(系统环境:在Windows7 32位操作系统 / 调试
阅读全文
摘要:问题描述: 解决方案: 安装 IDA 时,其路径下不要出现中文。
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 推荐阅读: 一、知识点讲解 1. 设备对象 我们在开发窗口程序的时候,消息被封装成一个结构体:MSG,在内核开发时,消息被封装成另外一个结构体:IRP(I/O Req
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 一、内核空间分布: 在4GB内存的操作系统中,高2G的给内存空间操作系统使用,这部分内存空间所有进程共享。 低2G的内存给各个进程使用,每个进程占有独立的内存空间,相
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 一、配置Windbg使用双机调试 win10中“windbg+vmware+win7双机调试”设置:https://blog.51cto.com/duallay/19
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 参考下面博客: VS2017搭建驱动开发环境WDK :https://www.cnblogs.com/blogg/p/9348609.html 使用vs2017 生成
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 一、内核编程注意细节: 二、获取未公开API的方法: 注意:在安全编程时,经常需要用到一些微软未公开文档化的API,这时就需要自己去寻找。 三、变量定义习惯: 遵循W
阅读全文
摘要:Windows内核分析索引目录:https://www.cnblogs.com/onetrainee/p/11675224.html 逆向分析操作系统内核代码至少需要具备两项技能: 一、KPCR结构体介绍 二、KPCR结构体成员详解 使用windbg的 kd _KPCR 命令来查看该结构体成员。 k
阅读全文
摘要:一、模块隐藏的实现原理 普通API查找模块实现思路:其通过查询在R3中的PEB(Process Environment Block 进程环境块)与TEB(Thread Environment Block 进程环境块)来找到一个双向链表,通过遍历双向链表中某一成员(字符串)来查找全部模块。 模块隐藏实
阅读全文
摘要:最少硬币问题 http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/3016/pid/1725 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem
阅读全文
摘要:高数Umaru系列(9)——哈士奇 http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Index/problemdetail/pid/3358.html Time Limit: 1000 ms Memory Limit: 65536 KiB Pro
阅读全文
摘要:Windows中利用共享内存来实现不同进程间的通信 一、msdn详细介绍 https://docs.microsoft.com/zh-cn/windows/win32/memory/sharing-files-and-memory 二、实现思路讲解: 在A进程,我们通过 CreateFileMapp
阅读全文
摘要:骨牌铺方格 Time Limit: 1000 ms Memory Limit: 32768 KiB Problem Description 在2×n的一个长方形方格中,用一个1× 2的骨牌铺满方格,输入n ,输出铺放方案的总数. 例如n=3时,为2× 3方格,骨牌的铺放方案有三种,如下图: Inpu
阅读全文
摘要:从三种算法角度来解决求子段最大和问题。
阅读全文
摘要:整数因子分解问题 http://acm.sdut.edu.cn/onlinejudge2.dev/index.php/Home/Index/problemdetail/pid/1722.html Time Limit: 1000 ms Memory Limit: 65536 KiB Problem
阅读全文
摘要:众数问题 http://acm.sdut.edu.cn/onlinejudge2/index.php/Home/Contest/contestproblem/cid/3015/pid/1710.html Time Limit: 2000 ms Memory Limit: 65536 KiB Prob
阅读全文
摘要:一、C++代码注入原则: 二、注入代码编写思路: 三、编写过程的几个坑: 四、olldbg调试思路: 五、源代码(练习了两套,一套是注入MessageBoxA,另一套是注入CreateFileA) 1 // 代码注入.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 2 //
阅读全文
浙公网安备 33010602011771号