|
[原创]通过对PsSetCreateProcessNotifyRoutineEx的逆向分析得出的结果来实现反进程监控
这个搞一下多好,别的太麻烦了。 void __fastcall call_back_routine(__int64 pParam1, __int64 pParam2, __int64 pParam3) { UNREFERENCED_PARAMETER(pParam1); UNREFERENCED_PARAMETER(pParam2); UNREFERENCED_PARAMETER(pParam3); } __int64 __fastcall DdimonpHandleExGetCallBackBlockRoutine(__int64 a1) { const ULONG64 result = *reinterpret_cast<PULONG64>(a1 + 8); if (ExGetPreviousMode() == UserMode) { KIRQL irql = 0; KeAcquireSpinLock(&g_ex_get_call_back_block_routine_lock, &irql); if ((result >= g_ntoskrnl_driver_base) && (result <= (g_ntoskrnl_driver_base + g_ntoskrnl_driver_size))) { // NTOS KeReleaseSpinLock(&g_ex_get_call_back_block_routine_lock, irql); return result; } if ((result >= g_driver_base) && (result <= (g_driver_base + g_driver_size))) { // current driver KeReleaseSpinLock(&g_ex_get_call_back_block_routine_lock, irql); return result; } HANDLE pid = PsGetCurrentProcessId(); if (is_debug_tool_from_pid(reinterpret_cast<unsigned __int64>(pid))) { KeReleaseSpinLock(&g_ex_get_call_back_block_routine_lock, irql); return reinterpret_cast<ULONG64>(call_back_routine); } if (!MmIsAddressValid((PVOID)result)) { KeReleaseSpinLock(&g_ex_get_call_back_block_routine_lock, irql); return reinterpret_cast<ULONG64>(call_back_routine); } KeReleaseSpinLock(&g_ex_get_call_back_block_routine_lock, irql); } return result; } |
|
[求助]求助数据库人员
查个数据库都要双一流。 |
|
|
|
[转帖]VisualAssist Based on Double Sine Study v10.9.2435.0 By DFoX
vs2022 64位的, 来个64位的dll爽一下?
最后于 2021-11-16 09:42
被yimingqpa编辑
,原因:
|
|
|
|
|
|
|
|
[求助]VirtualAllocEx 申请的地址能循环使用吗
只要不是多线程同时操作内存内容就可以了。 |
|
[讨论]某P的读写检测
01 0e中断 |
|
[求助]有没有ida 团购组织
早不卖中国人了。 |
|
|
|
|
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值