利用网页文件远程控制我的电脑
----作者:wgscd
这样说要把人忽悠住!,有写时候你可能不希望别人谁变动你的爱机,尤其的电脑迷!,而有时候如果朋友在你出去的时候(假如你出差)偷偷搞你的(“电脑”有时候是“电脑痴”的GF),那还得了。。。。别外、担心,不论你在哪里,只要能上Internet的地方, 你只要用下面的方法就可以修理偷偷搞你电脑(GF?)的家伙!
思路:远程控制(别把,只是说来吓唬你的!)的原理基本搞法就是一头“C”一头是“S”,就是个服务端和客户端,现在用得着那样吗?当然强大的控制要那样,搞小事情也要那样不是猪才怪!
看要完成我说的“利用网页文件远程控制我的电脑”该如何做,首先前提是要在自己爱机上装个“S”,
就是我们说的服务端(天啊你以为S端都不要?,你以为真的是“绝对遥空”。。。汗!)。当然C端我们就免了,你想想,我要装,装哪里?,要怎么设置?方便不方便?是否随时能和S端连接上?等等。。。那样麻烦,我不如去看MM。最晕人的好是那些“通道”,NAT,路由的曲折,如果你对Sokect不熟悉,那你只能去大哭一场了。说了这么多我就是想告诉你做任何事情方便实用就好,做软件也是的,老有人被大团的Code迷糊了,思维几乎=0,本来你可以走一不就完成,结果搞得晕忽忽的他偏偏走10步来完成。。。。你可以不是个顶好的Coder但是你要趋向做个思路开阔的人,。。不说了,转向正题,大家都知道internet的开放性是什么。(不错,你对了,),如果用HTTP来传送command给S端那不就省力多啦!就是,如果你要做个我说的这个“控制”的东东你再依据普通常规做法还得做个C端C端与S端考虑的东西可就多啦!!!,就算你费了9625的力气搞定了S和C端你还是发现和我简单的方法实现的目的和达到的效果是一样的!因为问题的核心是S端和C端传输的是指令(语句),而且我们呀的这个东西不要C端发送给S端,S端会主动来读取C端的命令,然后执行相应的动作。
首先你得有自己的Web空间,不管是什么,只要你能在网上放一端HTML代码或者任何文件
也可以是TXT文件(IE能显示TXT文件))如:MyCMD.html,myCMD.txt,MCMD .jpg
重要的是内容如下:
3|2|你小子可恨,既然偷偷搞(^_^)我的电脑, 看我不收拾你!
(格式是:命令|命令执行时间|显示给“搞”你电脑的伙计的文本信息,其中命令1代表“关机”,2代表“重新启动”,3代表“注销”,时间一分钟格式,
举例:3|2|你小子可恨,既然偷偷搞(^_^)我的电脑, 看我不收拾你!
代表在2分钟后关闭计算机并且显示消息“你小子可恨,既然偷偷搞(^_^)我的电脑, 看我不收拾你!”
注意分割符号“|”。
嘎嘎,现在你将这包含的行命令的文件上传到Internet上并且记下访问地址就开始看具体代码
'API部分声名
'By: wgscd
'Date:2005-11
Private Declare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Integer, ByVal dwReserved As Integer) As Integer
Const EWX_FORCE As Short = 4
Const EWX_LOGOFF As Short = 0
Const EWX_REBOOT As Short = 2
Const EWX_SHUTDOWN As Short = 1
Dim retval As Integer
'关机=1,时间=0
Dim cmd As Integer = 0
Dim time As Integer = 0
Dim msg As String = ""
Dim haveCMD As Boolean = False
Dim t As New Timer
Dim startTime As DateTime
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim startTime As DateTime = Now
startTime = Now
Me.ShowInTaskbar = False
Me.Visible = False
Me.FormBorderStyle = FormBorderStyle.None
Dim MyThread As New Threading.Thread(AddressOf Me.Listen)
MyThread.IsBackground = True
MyThread.Start() '启动线程
''''''定时器''''''''''''''''''''''''''
Dim T As New Timer
T.Interval = 3000
AddHandler T.Tick, AddressOf T_Start
T.Start() '启动定时器
'''''''''''''''
End Sub
Sub Listen() '检测设定的URL
While True
Try
Dim wr As Net.HttpWebRequest = Net.WebRequest.Create(http://www.your.com/CMD.htm) '保存命令的URL
Dim ws As Net.WebResponse = wr.GetResponse
Dim s As IO.Stream = ws.GetResponseStream
Dim sr As New IO.StreamReader(s)
Dim str As String()
str = sr.ReadToEnd().Trim.Split(",")
If str.Length <= 0 Then '说明没信息或者出现打开URL错误
haveCMD = False
Exit Sub
End If
haveCMD = True
cmd = CInt(str(0))
time = CInt(str(1))
msg = str(2)
Catch ex As Exception
End Try
System.Threading.Thread.Sleep(180000) '3分钟后再循环
End While
End Sub
Sub T_Start(ByVal sender As Object, ByVal e As EventArgs)
If haveCMD = True Then
doMyCMD()
haveCMD = True
End If
End Sub
Sub doMyCMD()
System.Threading.Thread.Sleep(time * 60000) '挂起指定时间
MsgBox("你小子从" & startTime.ToLongTimeString & "开始上我的机器,现在" & msg)
If cmd = 3 Then
' 注销当前用户
retval = ExitWindowsEx(EWX_FORCE, 0)
ElseIf cmd = 1 Then
' 关闭计算机
retval = ExitWindowsEx(EWX_SHUTDOWN, 0)
ElseIf cmd = 2 Then
' 重新启动
retval = ExitWindowsEx(EWX_REBOOT, 0)
Else
Return ' 什么也不做
End If
End Sub
上面只是个演示。
最后你应该要将本程序设置成随系统自动启动(通过读写注册表),虽然本S端不显示界面,如果你够聪明可以禁止任务管理器,以免被KILL掉或者设置文本文件或JPG文件的默认打开方式为你的这个S端,OK具体的就不说了,比如你可以设置本S端的呼出快捷键等,设置本S端自动检测internets上命令文件的时间间隔!记录这个家伙访问的过的文件,时间,或者将屏幕截图发送到你指定的邮箱等等。。。。(晕,活象个木马!)说这么多,重要的是要会用思路,知道可以直接用web页面或者文件做客户端保存命令。利用intenet的普遍和开放性,你将获得N多。。。。
当然本C端不用和S端交互,如果需要和C端交互又不想用传统的C/S模式那你又想到了什么呢?
如果你通过这样的将思路发展开去,你会想出无数中应用。。。。。