|
[求助]如何看 DebugPort
最基本的调试器检测技术就是检测进程环境块(PEB)中的BeingDebugged标志。IsDebuggerPresent() API检查这个标志以确定进程是否正在被用户模式的调试器调试。 我们用调试器附加调试一个进程的步骤是: DebugActiveProcess ---> DbgUiDebugActiveProcess -->NtDebugActiveProcess --> DbgkpSetProcessDebugObject --->DbgkpMarkProcessPeb 最终在DbgkpMarkProcessPeb中有这样一句代码: Process->Peb->BeingDebugged = (BOOLEAN)(Process->DebugPort != NULL ? TRUE : FALSE); 即PEB中的BeingDebugged标志设置来源于DebugPort. DebugPort对应的结构如下: typedef struct _DEBUG_OBJECT { // // Event thats set when the EventList is populated. // KEVENT EventsPresent; // // Mutex to protect the structure // FAST_MUTEX Mutex; // // Queue of events waiting for debugger intervention // LIST_ENTRY EventList; // // Flags for the object // ULONG Flags; } DEBUG_OBJECT, *PDEBUG_OBJECT; BOOLEAN PsIsProcessBeingDebugged( __in PEPROCESS Process ) { if (Process->DebugPort != NULL) { return TRUE; } else { return FALSE; } } |
|
[求助]请教一个关于VB6.0的数据类型问题
没人能告诉我啊? |
|
EncryptPE V2.2007.4.11非Service保护方式如何调试! [求助]
只要能调试起来,请EPE高手帮忙解决下啊!泪流满面的感激 |
|
如何用CreateFileMapping实现进程之间共享数据[求助]
thank you 已经解决 |
|
EncryptPE V2.2007.4.11非Service保护方式如何调试! [求助]
在问下,他的四个CC怎么跳过呢?怎么能让程序正常运行! |
|
|
|
|
|
|
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值