由于上次丢失本本,数据全部丢失,之后重新写了downshare,代码比之前严谨了好多,虽然这个工具只是为了自己以及大家方便,确是没有技术含量的,重写后的downshare由于一直不稳定,加之被恶意下载,所以一直没有提供下载地址,只是朋友间的互传而已,对此感到非常抱歉,打算下次升级后再放出下载,升级计划也没什么,只是做个115的终结版本,要不115一更新,downshare就需要更新,这样感觉很不好,所以下次将是1.X的终结版,至于是不是还有2.0,到时候再说吧,最近一直很忙,整天应对着服务器被攻击,很无奈,目前正在做的便是SERVER2003的一个优化工具,包括WEB环境一健架设,服务优化,等等一系列的全方位的优化工具,说实话,工作量还是蛮大的。。。
下边就将downshare的部分代码贴出来,有需要的可以直接拿,基本没有技术含量。。。具体说明就没有了。相信有点基础的都可以看的懂的。 Continue
很久以前无聊的时候做了一个ADSL密码暴力破解器,(那会貌似刚开始学编程吧。。)因为大多数ADSL拨号上网的用户名基本也就是电话号码,或者添加个字母什么的,一个地区都是用统一的方式,不过最不好的一点就是MAC延时绑定了,呵呵,不过这个不影响我,所以就搞了个,当时只是为了自己方便,没有做什么美化,呵呵。。。
今天翻硬盘的时候发现的。。

以下是主要的拨号连接代码
‘拨号/断网
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 Continue
很久都没用过VB了,最近喜欢上了vs 2010功能实在强大,不过还在入门阶段。。。继续。。。
第一种,功能比较强大的方法
Option Explicit
‘api_GetPATH:vb中检测文件是否存在
Private Declare Function SHFileExists Lib “shell32″ Alias “#45″ (ByVal szPath As String) As Long
‘这个函数除了能判断文件是否存在外,还可以判断本地或远程文件夹
‘”\\192.168.0.1\d$\javatools\somefile.txt”
‘”\\workstation\javatools\somefile.txt”
‘”http://www.microsoft.com/ms.htm”
Private Declare Function GetFileAttributes Lib “kernel32″ Alias “GetFileAttributesA” (ByVal lpFileName As String) As Long
Private Declare Function PathFileExists Lib “shlwapi.dll” Alias “PathFileExistsA” (ByVal pszPath As String) As Long
‘自定义全部属性,以检测隐藏或系统文件
Private Const vbAllFileAttrib = vbNormal + vbReadOnly + vbHidden + vbSystem + vbVolume + vbDirectory
Private Enum SelectCheckFile
DIRCheck = 0 ‘方法1,Dir检测文件是否存在
OPENCheck = 1 ‘方法2,Open检测文件是否存在
GetFileCheck = 2 ‘判断指定文件的属性
PathFileCheck = 3 ‘判断文件是否存在外
SHFileExistsCheck = 4
End Enum Continue
自动更新过程
Sub cyUpdateMyself(ByVal sSourceFile As String)
On Error GoTo Err
Dim sFileName As String
‘当前运行的是临时文件
If InStr(1, App.EXEName, “.TMP”) > 0 Then
‘将临时文件复制为原文件名
FileCopy IIf(right(App.Path, 1) = “\”, App.Path, App.Path & “\”) & App.EXEName & “.EXE”, Replace(IIf(right(App.Path,1) = “\”, App.Path, App.Path & “\”) & App.EXEName & “.EXE”, “.TMP”, “”)
Else
‘当前运行的是原文件,则比较时间看是否需要更新
If FileDateTime(IIf(right(App.Path, 1) = “\”, App.Path, App.Path & “\”) & App.EXEName & “.EXE”) < FileDateTime(sSourceFile) Then
‘现文件比较旧,须更新
sFileName = IIf(right(App.Path, 1) = “\”, App.Path, App.Path & “\”) & App.EXEName & “.TMP.EXE”
‘将源文件复制为临时文件名
FileCopy sSourceFile, sFileName
‘运行临时文件
ShellExecute 0, vbNullString, _
sFileName, vbNullString, _
vbNullString, SW_NORMAL
‘关闭自已(为确保临时文件运行后复制自我成功)
End
Else
‘如果文件不比源文件旧则删除可能存在的临时文件
On Error Resume Next
Kill IIf(right(App.Path, 1) = “\”, App.Path, App.Path & “\”) & App.EXEName & “.TMP.EXE”
End If
End If
Exit Sub
Err:
If Err.Number = 53 Then Exit Sub ‘设置好的更新文件不存在!
Call MsgBox(Err.Description, vbCritical Or vbSystemModal, “自动更新错误”)
End Sub
调用方法:
Sub Main()
‘执行自动更新
cyUpdateMyself “\\dsbtech\oa$\DbOA.exe” ‘(源文件)
……
end sub
转自波少的博客
很多木马、病毒都会有运行后释放病毒文件,然后退出程序删除自身的功能,这些功能是怎么实现的呢?
我看到有一些文章对于C语言的实现方法是创建一个线程,然后利用这个线程进行删除;对于VB的很多是生成一个批处理文件,退出时调用该文件删除程序本身,然后再删除批处理自身。
对于VB来说,创建线程是比较麻烦的,所以这里也用批处理的方式来删除自身。
不过生成批处理文件也有个不好的地方就是,如果该分区是NTFS格式的话,批处理自身有时会删除不掉。那我们用什么方法来避免这个问题呢?那就是不生成中间批处理文件,直接就运行删除的命令。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Shell “cmd /c del ” & App.EXEName & “.exe”
End Sub
不过这样一来也有个问题就是有时候电脑处理的工作太多的话(比如开了Photoshop等大型的程序),资源释放得比较慢,删除就会失败。那我们得给该命令来个延时才行,可是我不知道有什么延时的命令,那该怎么办呢?没关系,我们用&&连接符把一个PING命令和删除的命令一起执行就行了。
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Shell “cmd /c ping 127.0.0.1&&del ” & App.EXEName & “.exe”
End Sub
这个VB代码主要利用了批处理功能,可以安全的删除自己。
Private Sub Form_Load()
‘建立批处理
Open App.Path & ”\a.bat” For Output As #1
‘”@echo off” 不显示执行过程
Print #1, ”@echo off”
Print #1, ”sleep 100″
‘a.bat 删除指定文件
Print #1, ”del ” & App.EXEName + ”.exe”
‘a.bat 删除自身
Print #1, ”del a.bat”
Print #1, ”cls”
Print #1, ”exit”
Close #1
Shell App.Path & ”\a.bat”, vbHide
End
End Sub
不过这样编译后有4个杀毒软件报毒,很无奈….
‘任务栏高度[此部分相关代码转载自 枕善居]
Private Declare Function SystemParametersInfo Lib “user32″ Alias “SystemParametersInfoA” (ByVal uAction As Long, ByVal uParam As Long, ByRef lpvParam As Any, ByVal fuWinIni As Long) As Long
Private Const SPI_GETWORKAREA = 48
Private Type RECT
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
‘透明 Continue
下午研究利用U盘锁定计算机的小程序,就譬如各个银行的U盾一样。突然发现这个VB写的可以自动检测U盘插入后自动拷贝到指定文件夹小程序。不知道什么时候收集的,沉积在硬盘里貌似憋坏了,就发出来,这个程序类似于u盘小偷,不过想做成U盘小偷那样还得修改修改,记得那会上学的时候曾利用u盘小偷偷过老师U盘里边的考试资料。嘿嘿。不过U盘小偷的程序是C++写的,如果你想研究的话,可以留言,我把源代码发给你。
很简单,下边是源代码
所属分类:VB API
———————————————————————-
我现在需要动态调动一些未知的DLL,
Private Declare Function LoadLibrary Lib ”kernel32″ Alias ”LoadLibraryA” (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib ”kernel32″ (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private Declare Function FreeLibrary Lib ”kernel32″ (ByVal hLibModule As Long) As Long
Private Declare Function CallWindowProc Lib ”user32″ Alias ”CallWindowProcA” (ByVal lpPrevWndFunc As Long, ByVal Hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
Continue
‘需要:Microsoft Internet Transfer Control 6.0控件
‘原理:在网站上建立一个updata.txt文件,里面保存升级信息
‘updata.txt文件格式:
‘文件内容:
‘共三行,第一行:版本号;第二行:更新文件名;第三行: 文件长度
Public 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
Public Const SW_SHOWNORMAL = 1
Public Const SW_MINIMIZE = 6
