禁止开启两个相同程序方法&思路
只允许开一个例程的方法很多,比如判断主窗口是否以打开,一般采用互斥信号量限制,比如Event,Mutex,Semaphore等等来控制。用进程名控制并不可取,修改进程名并不难,只要你了解PE文件的格式就行了进程在内存中的数据与PE文件是相同的,只不过有些地址表修改了一下
破解方法:
如果你想运行两个同样进程,有两个办法, 1. 修改信号量的名字,修改为没有命名的信号量,也就是信号量的名称为NULL 2. 用跟踪软件(比如softice)找到判断是否启动两个以上的进程的机械代码的地方修改代码即可当然两个办法都要修改exe文件,不然下次运行还要修改,多麻烦相对来说第一个办法简单,因为这个信号量的名称一般为静态的字符串(当然如果为动态的就很麻烦了),只要找到exe文件中存放该字符串的地方,修改就行了,修改数据比修改代码简单多了
1.通过内核查看器,得到互斥信号量名字; 2.用HEX编辑器打开原始EXE文件,查找该互斥信号量名字,找到后换个名字,另存; 3.运行这两个不同的EXE;