-
-
[求助]处理穿山甲的双进程保护时为什么要对OpenMutex函数下断呀?
-
发表于:
2013-5-10 23:13
8448
-
[求助]处理穿山甲的双进程保护时为什么要对OpenMutex函数下断呀?
最近在看穿山甲的脱壳进程,对这些操作不理解,也没有人脱此壳时仔细讲解原理
步骤:1 分离父子进程
下断点BP OpenMutexA
F9运行中断后,看堆栈:
0012F798 00434DB8 /CALL 到 OpenMutexA 来自 NOTEPAD_.00434DB2
0012F79C 001F0001 |Access = 1F0001
0012F7A0 00000000 |Inheritable = FALSE
0012F7A4 0012FDD8 \MutexName = "AF0::DA262953ED" ★注意这个地址:0012FDD8
在CPU窗口中 Ctrl+G:401000 键入以下代码:
00401000 60 pushad
00401001 9C pushfd
00401002 68 F8FB1200 push 0012FDD8 ★ 堆栈里看到的值
00401007 33C0 xor eax,eax
00401009 50 push eax
0040100A 50 push eax
0040100B E8 B5A6A577 call kernel32.CreateMutexA
00401010 9D popfd
00401011 61 popad
00401012 - E9 7A13A677 jmp kernel32.OpenMutexA
为什么用处理这个函数之前先调用kernel32.CreateMutexA就能实现父子进程分离了呢????、求助呀,想了解为什么。。。。
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)