From fcf5df8788611d1473b1b6141772a9092f013b79 Mon Sep 17 00:00:00 2001 From: Cool-Y <1072916769@qq.com> Date: Tue, 7 May 2019 19:34:30 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A0=B4=E8=A7=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/_posts/逆向工程实验.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/source/_posts/逆向工程实验.md b/source/_posts/逆向工程实验.md index 24ab3170..c7c80cd4 100644 --- a/source/_posts/逆向工程实验.md +++ b/source/_posts/逆向工程实验.md @@ -210,7 +210,8 @@ int main(){ ## 父进程检测 一般双击运行的进程的父进程都是explorer.exe,但是如果进程被调试父进程则是调试器进程。也就是说如果父进程不是explorer.exe则可以认为程序正在被调试。 -''' + +``` BOOL IsInDebugger(){ HANDLE hProcessSnap = NULL; char Expchar[] ="\\EXPLORER.EXE"; @@ -257,12 +258,12 @@ BOOL IsInDebugger(){ } } } - while (Process32Next(hProcessSnap, &pe32)); CloseHandle (hProcessSnap); return FALSE; } -''' +``` + 由上述示例代码,我们可以看到父进程检测中调用了GetCurrentProcessId函数来判断。 因此在Ollydbg中首先找到GetCurrentProcessId模块(Ctrl+N),然后设置断点 ![](https://res.cloudinary.com/dozyfkbg3/image/upload/v1557128745/%E8%BD%AF%E4%BB%B6%E7%A0%B4%E8%A7%A3/1.png)