首页
社区
课程
招聘
[求助]一段很短的防多开代码怎么翻译成ASM
发表于: 2008-5-5 18:32 9119

[求助]一段很短的防多开代码怎么翻译成ASM

2008-5-5 18:32
9119
收藏
免费 0
支持
分享
最新回复 (18)
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
谁给看看 :(
2008-8-13 04:47
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我汇编不好,但另一种防多开可能更容易实现。
代码如下:

        char *MutexInfo = "JHASGFGCX";
        HMutex = OpenMutex(MUTEX_ALL_ACCESS,false,MutexInfo);
        if (HMutex != NULL) ExitProcess(0);
        HMutex = CreateMutex(NULL,false,MutexInfo);
2008-8-13 12:55
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
错误理解我意思了
2008-8-13 13:44
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
没有。我的意思就是用我的那段代码来做汇编,更容易实现
2008-8-13 14:29
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
我就是不用那方法,因为太多人用了
2008-8-13 19:38
0
雪    币: 189
活跃值: (56)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
7
就是放个变量在share section中
2008-8-13 22:23
0
雪    币: 2
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
mark 一下
2008-8-13 22:59
0
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
.这种方法。把EXE改个名字就跳过了
2008-8-13 23:03
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
胡说,你编译个测试看看
2008-8-13 23:44
0
雪    币: 100
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
互斥量才是王道,在系统中可以保证独一无二的运行。被广泛的应用正是因为其功能的强大。楼主非要标新立异,何必呢?

这里是探讨解决问题的地方,既然大家已经帮你解决,就没有必要再纠缠下去了,我们并没有帮助你的义务。如果LZ足够牛X,可以自己Debug一下C程序看看它到底做了什么。
2008-8-14 10:36
0
雪    币: 239
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
为什么不自己去反一下看看,我还没试过呢
2008-8-14 11:10
0
雪    币: 419
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
[QUOTE=东园;496246]互斥量才是王道,在系统中可以保证独一无二的运行。被广泛的应用正是因为其功能的强大。楼主非要标新立异,何必呢?

这里是探讨解决问题的地方,既然大家已经帮你解决,就没有必要再纠缠下去了,我们并没有帮助你的义务。如果LZ足够牛X,可以自己Debug一下C程序看看它到底做了什么。[/QUOTE

又不是为了防止多开而多开
2008-8-14 12:15
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
14
; echo off & cls
; \masm32\bin\ml /c /coff /Cp %0
; \masm32\bin\link /subsystem:windows /section:SHARED,SWR %~n0.obj
; pause & exit
 .686
 .model flat, stdcall
 .code SHARED
count dd 0
 .code
start:
 inc [count]
 int 3
 end start

2008-8-14 12:43
0
雪    币: 2316
活跃值: (129)
能力值: (RANK:410 )
在线值:
发帖
回帖
粉丝
15
不懂,谁帮忙注释一下?
int 3然后去了哪里?
2008-8-14 12:59
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
16
运行m.exe,用调试器看count=1,挂着不动再运行一个m.exe,看第一个count=2
2008-8-14 13:11
0
雪    币: 2067
活跃值: (82)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
17
Debug时用的
有时会放一大堆
2008-8-14 13:14
0
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
当然是真的 我自己用这方法试过才说的
2008-8-14 20:34
0
雪    币: 242
活跃值: (443)
能力值: ( LV11,RANK:188 )
在线值:
发帖
回帖
粉丝
19
嗨嗨
这方法是专门划分个区段保存个共享变量来计数自己运行的是第几次吧?
代码该还有其他的,这儿只是变量声明

是否这样?不对请指正
2008-8-15 01:02
0
游客
登录 | 注册 方可回帖
返回
//