软件调试
文章平均质量分 84
iihacker_cat
这个作者很懒,什么都没留下…
展开
-
Windows windbg kernel debug 双机内核调试 - USB3.0 调试 USB调试 调试线
0x1 使用USB3.0 调试线,进行windows双机内核调试从win8开始,windows就引入了USB 3.0的内核调试 ,速度可以说爽的一批。不过能否支持USB3.0的调试,还需要看你的机器配置。怎么知道知否支持USB3.0调试?Host端: 1 系统,WIN8以及以上 2Target机器带有xHCI 控制器,即USB3.0的接口Target端: 1 系统,WIN8 以及以上 2Target机器带有xHCI 控制器,...原创 2021-01-02 17:45:20 · 1177 阅读 · 0 评论 -
Windows windbg kernel debug 双机内核调试 - COM口调试 串口调试 调试线
0x1 使用COM 串口调试线,进行windows双机内核调试在很多情况下我们不得不使用COM串口线进行内核调试,这个也是一种比较古老的方式。使用串口线调试要求Target机器必须要有原生的COM口,其他的PCI/PCIE/USB转串口均不行,然而对于Host端使用PCI/PCIE/USB转串口则是没有问题的。本人已经做过严格的测试与验证。0x2 设置目标计算机使用bcdedit更改引导信息之前,您可能需要暂时挂起Windows PC安全功能,例如关闭BitLocker和se...原创 2021-01-02 12:34:38 · 986 阅读 · 0 评论 -
进程和线程的优先级
进程(线程)的优先级越高,那么就可以分占越多的CPU时间片,每个进程都有相应的优先级,优先级决定它何时运行和占用CPU的时间。最终的优先级共分 32 级,是从 0 到 31 的数值,称为基本优先级别。 线程32个优先级,16~31是实时类别 1~15是动态类别 0是系统类别KPROCESS.BasePriority是线程创建之后的KTHREAD.BasePriority值(线程的基本、...原创 2018-11-12 15:03:27 · 1886 阅读 · 0 评论 -
explorer的搜索框中右键-粘贴 解析
UINT SendInput( UINT nInputs, LPINPUT pInputs, int cbSize ); 函数说明:该函数合成键盘事件和鼠标事件,用来模拟鼠标或者键盘操作。事件将被插入在鼠标或者键盘处理队列里面。 参数说明:nInputs 指定ninput 数组中元素的个数。就是插入事件的个数。pInputs 指向一个类型为INPUT的 数组...原创 2018-09-29 16:55:24 · 401 阅读 · 0 评论 -
EnumProcessModulesEx
EnumProcessModules API原型BOOLWINAPIEnumProcessModulesEx( _In_ HANDLE hProcess, _Out_writes_bytes_(cb) HMODULE *lphModule, _In_ DWORD cb, _Out_ LPDWORD lpcbNeeded, _In_ DWORD...转载 2018-10-12 13:07:16 · 2684 阅读 · 1 评论 -
《重要》从用户模式切换到内核模式的完整过程分析(转)
Windows定义了两种访问模式:用户模式和内核模式。应用程序代码运行在用户模式下,操作系统代码运行在内核模式下。内核模式对应处理器的最高权限级别。在内核模式下执行的代码可以访问所有资源并可以执行所有特权指令。用户模式具有较低的优先级,用户模式只能访问用户空间,且不能执行特权指令。如果用户代码不慎访问了系统空间的数据或执行了特权指令将会导致保护性异常的发生。但是用户代码可以通过调用系统服务...转载 2018-09-26 13:19:00 · 2178 阅读 · 0 评论 -
WIN7 X64 SSDT函数获得(转 ,包括win10)
曾经在网上看到一片文章,在早期64位系统,内核函数开头地址的低四位一般是0,形如:xxxxxxxx`xxxxxxx0,这一特征在SSDT表中有很强大的引用,SSDT表在64位系统于32位系统有较大的差别。以下是在64位系统下的KeServiceDescriptorTable:kd> dp KeServiceDescriptorTablefffff800`0117bb80 ffff...转载 2018-09-26 11:05:45 · 2055 阅读 · 0 评论 -
LPC服务器拒绝客户端的表白
开场白:项目中遇见了一个奇怪的问题。在64位系统下,LPC的服务端是wow32位进程,在调用了ZwAcceptConnectPort拒绝客户端的连接后,ZwAcceptConnectPort返回 //// MessageId: STATUS_INVALID_MESSAGE//// MessageText://// The ALPC message supplied is ...原创 2018-09-25 23:43:07 · 648 阅读 · 1 评论 -
X64 SEH的展开
C++ 代码:#include "stdafx.h"#include ULONG WINAPI FilterFunc(DWORD dwExceptionCode){ return (dwExceptionCode == STATUS_INTEGER_DIVIDE_BY_ZERO) ? EXCEPTION_EXECUTE_HANDLER : EXCEPTION_CONTINUE_SE原创 2017-12-08 01:08:05 · 1826 阅读 · 0 评论 -
wow32注入64位进程
转载地址:http://www.cnblogs.com/lanrenxinxin/p/4821152.html在之前写注入都是32位exe文件注入32位dll到32位exe文件中,或者都是64位。但是之前看到关于32位进程注入64位进程的方法,将学习笔记记录下来。之前的文章:注入小结我们需要借助GitHub上的开源库rewolf-wow64ext 这个库的目的就是让运行在W转载 2017-10-15 20:22:27 · 1835 阅读 · 0 评论 -
__declspec(dllimport)加和不加的区别
总的来说对于DLL总导入的函数调用,加和 不加__declspec(dllimport)的效果都是一样的,区别在于,不加__declspec(dllimport)则二进制代码多了一个JMP指令,仅此而已。对于C++中的函数调用编译器函数调用大多产生类似 call 0xxxxxxxxx 形式的指令代码,如果不加__declspec(dllimport)则编译器分辨转载 2017-10-15 19:32:40 · 2273 阅读 · 0 评论 -
32位进程在64位系统中的文件重定向
最近遇见了一个问题,如下:一个32位进程A,通过调用如下代码浏览文件, OPENFILENAME ofn; // common dialog box structure TCHAR szFile[MAX_PATH * 100] = { 0 }; // buffer for file name // Initialize OPENFI原创 2017-10-13 13:51:36 · 465 阅读 · 1 评论