`
hereson
  • 浏览: 1451477 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

BBS灌水机脚本(vb scritp, telnet, bbs, sterm)

阅读更多

'**********************************************************************
'* Filename: water.vbs *
'* Author: Pred  yecha@freecity.cn*
'* You may freely modify or redistribute this file *
'**********************************************************************
'
'注意,使用本脚本时,在脚本相同目录下创建一个文件名为Filename的文件,
'脚本把Filename每行内容依次作为文章标题发表在bbs上
'必须先登录到bbs并经如要post的那个板
'
Filename = "water_title.txt"

'Option Explicit
Main
MsgBox ("Script End")


Sub Main()
 Const nTimeout = 20
 Const ForReading = 1
 Dim bConnect, nTime, nScreenHeight, strScreenLine, nDelay
 
 Dim fso, f1, f2, ts, s
 Set fso = CreateObject("Scripting.FileSystemObject")
 Set ts = fso.OpenTextFile(Filename, ForReading)
 'b为一个文本文件,脚本把b.txt每行内容依次作为文章标题发表在bbs上
 
 While(Not ts.AtEndOfStream)
  s = ts.ReadLine()
  s = TrimAll(s)
  If s <> "" Then
   If ( Not Expect("离开", 1, 10)) Then
   '判断屏幕第2行是否有"离开",主要用来判断当前是否在文章列表中
   'Error?
    Exit Sub
   End If
 
   STermScript.SendConvertedData ("^P") '发表文章
   STermScript.Delay 200 '短暂延时
  
   If (Not ExpectCursor("标题:", 10)) Then
   '当前光标处是填写标题的地方?
   'Error?
    MsgBox("error?")
    Exit Sub
   End If
 
   STermScript.SendData (s) '填入标题
   STermScript.SendConvertedData ("^M^M") '送出回车
   STermScript.Delay 200
   
   STermScript.SendConvertedData ("^W") '结束文章编辑
   STermScript.Delay 200
   If (Not ExpectCursor("(S)转信", 10)) Then
    '出现选择菜单"(S)转信, (F)换行发出,(L)不转信, (A)取消,……"?
    'Error?
    STermScript.SendConvertedData ("^[^[$$") '出现错误,设法回到版面列表状态
   Else
    STermScript.SendConvertedData ("^M") '正常,送出回车
   End If
   STermScript.Delay 20000 '发文时间间隔
  End If
 Wend
 ts.Close
End Sub

'************************************************************
'* Function: TrimAll(strIn)                                 *
'* Return Value:                                            *
'* 除去字符串中所有可能的空格,tab等                        *
'************************************************************
Function TrimAll(strIn)
 Dim s,c, i
 s = Trim(strIn)
 TrimAll = ""
 for i = 1 to Len(s)
  c = Mid(s, i, 1)
  If (Asc(c) = 9) Then
  Else
   TrimAll = TrimAll + c
  End if
 Next

End Function

 

'************************************************************
'* Function: ExpectCursor(ByRef str, ByVal TimeOut)         *
'* Return Value: True 出现   False 未出现                   *
'* 判断在一定时间内,光标所在行是否出现指定字符串           *
'************************************************************
Function ExpectCursor(ByRef str, ByVal TimeOut)
 Dim starttime
 starttime = Timer
 While (Not InStr(STermScript.GetBuffer(STermScript.GetCursorY()), str) > 0)
  STermScript.Delay (200)
  If (Abs(Timer - starttime) > TimeOut) Then
   ExpectCursor = False
   ' MsgBox (str + " not found, timeout")
   Exit Function
  End If
 Wend
 ExpectCursor = True
End Function


'************************************************************
'* Function: Expect(ByRef str, ByVal l, ByVal TimeOut)      *
'* Return Value: True 出现   False 未出现                   *
'* 判断在一定时间内,指定行是否出现指定字符串               *
'************************************************************
Function Expect(ByRef str, ByVal linenum, ByVal TimeOut)
 Dim starttime
 starttime = Timer
 While (Not InStr(STermScript.GetBuffer(linenum), str) > 0)
  STermScript.Delay (200)
  If (Abs(Timer - starttime) > TimeOut) Then
   Expect = False
   ' MsgBox (str + " not found, timeout")
   Exit Function
  End If
 Wend
 Expect = True
End Function

分享到:
评论

相关推荐

    nmap漏扫的全部600+脚本

    nmap漏扫的全部600+脚本,"acarsd-info.nse", "address-info.nse", "afp-brute.nse", "afp-ls.nse", "afp-path-vuln.nse", "afp-serverinfo.nse", "afp-showmount.nse", "ajp-auth.nse", "ajp-brute.nse", "ajp-...

    Scritp Lifecycle Flowchart

    在讨论Unity脚本生命周期流程图时,涉及的是一种特定于Unity引擎的编程概念,其中详细描述了游戏对象(GameObjects)所附加的脚本组件(MonoBehaviours)的各个生命周期阶段以及它们被调用的时机。这个流程图是Unity...

    多种scritp校验

    从给定的文件信息中,我们可以提取到一系列与JavaScript脚本相关的知识点,这些知识点主要集中在数据验证函数的设计与实现上,特别关注了IP地址、字符串完整性、整数、手机号码等常见输入格式的校验。下面,我们将...

    javascritp 日期加减、间隔函数源码

    ### JavaScript 日期加减与间隔计算函数解析 在日常开发工作中,我们经常需要处理与日期相关的功能,例如计算两个日期之间的差值或者基于当前日期进行加减操作等。虽然 JavaScript 提供了内置的 `Date` 对象来处理...

    kaidan:一个简单的脚本,用于对不同分辨率的页面进行截图

    凯丹Kaidan 是一个简单的脚本,它使用文件作为 url 的输入,并使用不同分辨率对每个页面进行截图。如何使用它安装和 。 克隆文件夹,运行“npm install”,打开 urls.txt 并添加要测试的页面,在新行中分隔。 然后...

    Scriptor Scripteditor-开源

    《Scriptor:一款开源的多语言脚本编辑器》 Scriptor是一款强大的开源脚本编辑器,专为程序员和开发者设计,支持多种编程语言,包括C、C++、CSS、PHP、Java、Python以及HTML等。这款编辑器的出现,为用户提供了免费...

    Java Screen屏幕小程序

    摘要:JAVA源码,系统相关,登录界面 Java实现...显示表单,登录成功时,显示登录成功信息,登录错误时,显示错误信息并返回登录窗口,显示登录错误警报,然后显示登录窗口,实现接口CommandListener的方法,销毁程序。

    topsismatlab代码-Generalized-TOPSIS-using-similarity-and-Bonferroni-mean:

    Scritp Mainfile.m 有关于如何使用编码的示例。 函数 topsissimBM.m 是该方法的主要函数调用。 函数 simLPBon.m 计算备选方案之间基于 Bonferroni 均值的相似性。 函数 Bonmean.m 计算 Bonferroni 均值。 函数 ...

    ExcelScript

    ExcelScript是一种基于VBA(Visual Basic for Applications)的编程技术,用于在Microsoft Excel中实现自动化和自定义功能。通过ExcelScript,你可以创建宏、自定义工具栏、编写类模块,以及处理工作簿的打开、关闭...

    MantenimientoDeUsuario:用户维护申请

    使用某种语言sql,T-sql,PL sql,mySql等执行数据库的Scritp(SQLQueryDataBase.sql)。 修改“ WcfService”项目的“ Web.config”文件,如果有,请根据您的凭据修改“ connectionStrings”。 使用Visual Studio...

    基于相似性的 TOPSIS:TOPSIS 方法使用相似性来比较正负理想解决方案的替代方案。-matlab开发

    这些 matlab 文件用于基于相似性的 TOPSIS 方法。 原文发表于 ... Scritp Mainfile.m 有关于如何使用编码的示例。 函数 topsissim.m 是该方法的主要函数调用。 函数 simLP.m 计算备选方案之间的相似性。

Global site tag (gtag.js) - Google Analytics