如果编写 一个木马, 为防止不能开机启动,自我复制了三个相同副本 随机启动.
然后用定时器,每天指定时间 发送本机文档到我邮箱
但如何防止 三个同样的程序(不同目录 ) , 重复发送?
程序 判断 C:\发送.txt 是否存在, 存在则退出
不存在, 则生成 ,C:\发送.txt , 然后 执行我要命令,如发邮件
那问题是 : 三个一模一样的程序,定时器都是 定在10:00 的执行以上操作, 是哪个能抢占先机呢?
可以绑定端口,让只有一个程序在运行
我做了个程序生成三个 11.exe , 222.exe , 333.exe 来做实验(理论基础不深就实践)
Private Sub Timer1_Timer()
Text1 = Time
If Format(Time, "hh:mm") > "17:00" Then
' Sleep Int(501 * Rnd(1) + 100) '前面实践已证不用加 随机延时几秒 也可以, 毕竞几个程序的启动,精确到毫秒后,不会是同时启动定时器, 如定时器不是1秒更明显
If Dir("c:\001.txt") = "" Then
On Error Resume Next
Open "c:\001.txt" For Output As #1
Print #1, "21111111111111111111111111" '三个写的内容不同,我好知道是哪个写的
Close #1
Text2 = Text2 & "完成" '做个记号,证明我的命令完成了
Else
Text2 = Text2 & "停" '如果生成了文件,不能进行我 的任务, 就显示一下
End If
End If
End Sub
原来定时器设的是1秒,当改成3秒后,就明显了,虽然同时 都是 到17:00时执行,
但由于打开程序的时间, 不可能是同个时间的,总有差别,哪怕只差毫秒,特别是如果差上几秒.
而定时器 间隔大于1秒以上,如3秒或9秒
那么到了17:00时 ,就并不是在 17:00:00 同时启动定时器,所以同一分钟内还是在不同时间打开,
也就不冲突了.