- 博客(6)
- 问答 (3)
- 收藏
- 关注
原创 TerminateThread 导致LoadLibary 死锁
运行此代码,a2线程会卡死,因为在LoadLibrary过程中会有一个临界区被占用,如果正好是这个时候此线程被TerminateThread终止,那么所有的loadlibrary及其他使用此锁的线程都会进入一个无限等待这个锁释放的状态。所以不光是自己实现的锁要小心,系统某些API也要小心,因为其内部也有同步的逻辑。原因是(引自MSDN):TerminateThreadis a dang...
2019-12-14 10:05:30 456
原创 Windows下CmRegisterCallback简单分析
IDA看一下进入Internal函数signed __int64 __fastcall CmpRegisterCallbackInternal(__int64 Function, __int64 Context, const void **CmLegacyAltitude, char c_1, _QWORD *Cookie) { __int64 _Context; // rsi __int6...
2019-07-23 18:03:36 802
原创 x64下SSDT表中值的含义
这是在win7 x64下查看ssdt表中数据:kd> dd fffff800`03e83300fffff800`03e83300 0f68d000 02f55c00 fff6ea00 02e87805fffff800`03e83310 031a4a06 03116a05 02bb9901 02b4f200fffff800`03e83320 0312cc40 03dd7400 ...
2018-08-08 19:11:32 890
原创 win7x64下实现进程保护
以前没有PG的时候,相信绝大部分人都是用的SSDT HOOK 来进行进程保护的。等有了PG该怎么办呢?答案就是用微软提供的 ObRegisterCallbacks 函数。NTSTATUSObRegisterCallbacks ( _In_ POB_CALLBACK_REGISTRATION CallbackRegistration, _Outptr_ PVOID *Regi
2016-06-05 15:40:43 10517 2
原创 驱动中导出函数供其他驱动使用。
驱动可以在独立运行的情况下来导出函数让其他驱动调用的。定义一个.def文件,就和dll导出时是一样一样的。然后source文件里驱动类型改成EXPORT_DRIVER 然后加入def文件。 这样就可以啦。生成驱动的时候会生成一个lib文件。其他驱动导入lib文件和头文件即可调用。
2016-01-18 14:53:54 1215
原创 驱动查询设备总线类型
\\这个函数适用于minifilter BOOLEAN IsUsb(PFLT_VOLUME volume){ NTSTATUS status; KEVENT WaitEvent; PIRP NewIrp; PSTORAGE_DEVICE_DESCRIPTOR Descriptor = NULL; CHAR pBuffer[sizeof(STORAGE_DEVICE_DESCRIPTOR
2015-11-30 13:26:36 1371
空空如也
hook sendmessage和od拦截 不同
2015-08-21
dll 通过区段调用函数
2015-08-10
TA创建的收藏夹 TA关注的收藏夹
TA关注的人