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)