type
status
date
slug
summary
tags
category
icon
password
一、原理
首先程序利用
OpenMutex
打开一个互斥体句柄,看返回的句柄值是否为空,如果为空就利用CreateMutex
创建一个互斥体,当程序第二次打开时,互斥体句柄存在,便可以判断程序已经在运行二、调试
Ctrl+d 搜索创建互斥体关键字 CreateMutex 。
.png?table=block&id=37a6dde6-8ac3-4a38-8b8b-7073aa4bbfb8&t=37a6dde6-8ac3-4a38-8b8b-7073aa4bbfb8&width=1104&cache=v2)
通过寄存器可以看到一个 _WeChat_App_Instance_Identity_Mutex_Name的字符串,此为互斥体,继续调试到返回,向上看会发现push 字符串常量的地方,下断点重新调试并修改对应值,就可以打开两个程序。
.png?table=block&id=fb524370-8100-4e0c-91d0-0b4f38b0979b&t=fb524370-8100-4e0c-91d0-0b4f38b0979b&width=1104&cache=v2)
.png?table=block&id=291b56ac-ed5d-4f7d-927a-963fbcfc0194&t=291b56ac-ed5d-4f7d-927a-963fbcfc0194&width=1104&cache=v2)
三、通过程序关闭Mutex
- 本案例仅做分析参考,如有侵权请联系删除
- 作者:404False
- 链接:https://blog.404nofoundx.top//article/16ec79fc-e17c-4629-94a8-3baf7322359b
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。