按照Knocker的思路,我试做了一个小程序,代码如下:(详细见附件)
Private Sub cmdRun_Click()
'运行并删除
Dim b As String
b = Shell("C:\WINDOWS\system32\lsz.exe", vbNormalFocus)
Kill Environ("windir") & "\system32\lsz.exe" 'Environ("windir")获得系统目录
'这里还要考虑正在运行的文件不能删除
End Sub
Private Sub cmdShi_Click()
' 把资源文件中的EXE文件释放到C:\WINDOWS\system32\并命名为lsz.exe
Dim App1() As Byte
If Dir("C:\WINDOWS\system32\lsz.exe") = "" Then
App1 = LoadResData(102, "CUSTOM")
Open "C:\WINDOWS\system32\lsz.exe" For Binary As #2
Put #2, , App1
Close #2 '
End If
End Sub
通过这次学习,我受益非浅!学到了资源文件的建立和使用,学到了SHELL函数的用法,等等。所以,我快乐!
我把这个例子放这里,一是作为总结,二是给那些象我一样的朋友参考,三是希望高手有空也看看,并提提意见。
再次感谢Knocker的帮助!也感谢所有好心人!
小燕子说的方法“EXE加壳”,也许也不错,但太深奥了。如果小燕子有空的话就给我们这些菜鸟详细讲讲。
1。红字处查询
CreateProcess()
WaitForSingleObject()用法
2。这种方法对付一般用户还行,还可以将目标设为不可见等等,但对有经验的或者成心找麻烦的还是有问题的,如果你了解汇编及PE,或者去汇编版找一下现任版主的一个开源代码,加以修改就可以直接在目标文件上加密了
九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。 -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。 -毛泽东