VB6中使用Winsock穿越各種代理的實現(xiàn)_第1頁
VB6中使用Winsock穿越各種代理的實現(xiàn)_第2頁
VB6中使用Winsock穿越各種代理的實現(xiàn)_第3頁
VB6中使用Winsock穿越各種代理的實現(xiàn)_第4頁
VB6中使用Winsock穿越各種代理的實現(xiàn)_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

本文格式為Word版,下載可任意編輯——VB6中使用Winsock穿越各種代理的實現(xiàn)90ThenDebug.PrintAsc(Mid(RevBuffer,2,1))MsgBox\連接sock4代理失敗!\錯誤\

Form1.Winsock1.Close

ConnStep=0ExitFunction

Else

Form1.Label8.Caption=\連接目標服務器成功!\

ConnStep=-1Form2.ShowExitFunction

EndIfEndIfEndIf

'*******************下面的例子有大量重復代碼,是為了讓大家更明了地了解sock5穿透過程,

大家可以拿回去自己優(yōu)化**********************************

IfProxyType=1Then'@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@sock5代理

SelectCasePStep

Case1

ReDimSendByte(0To2)AsByte'第一步無驗證發(fā)送050100,有驗證發(fā)送050202

SendByte(0)=5'05

SendByte(1)=1'01'在有用戶密碼驗證時此字節(jié)是1還是2有諸多整治,現(xiàn)以騰訊穿越代

理模擬器時發(fā)送的數(shù)據(jù)為準,如有錯誤,請自己修改!

SendByte(2)=IIf(Form1.Check1.Value=0,0,2)'00或02

Form1.Winsock1.SendDataSendByte()

ConnStep=PStep+1

ExitFunctionCase2'代理回復

IfAsc(Mid(RevBuffer,2,1))=255Then'FF(255)為失敗

MsgBox\連接代理失敗!\

Form1.Winsock1.Close

ConnStep=0ExitFunction

EndIf

IfAsc(Mid(RevBuffer,2,1))=0AndAsc(Mid(RevBuffer,1,1))=5Then'若代理回復05

00為無驗證連接成功

Form1.Label8.Caption=\連接成功!無驗證\

ReDimSendByte(0To9)AsByte'其次步無驗證發(fā)送連接請求

SendByte(0)=5SendByte(1)=1SendByte(2)=0SendByte(3)=1

SendByte(4)=GetIPByte(1,DestIP)SendByte(5)=GetIPByte(2,DestIP)

0AndForm1.Check1.Value=1Then'有驗證,驗證失敗代

理回復其次字節(jié)為00驗證成功,其余值為失敗

MsgBox\代理校驗用戶名、密碼失敗!\錯誤\

Form1.Winsock1.Close

ConnStep=0ExitFunction

EndIf

IfAsc(Mid(RevBuffer,2,1))=0AndForm1.Check1.Value=1Then'有驗證,驗證成功,回

復值其次字節(jié)為00,其余值為失敗

Form1.Label8.Caption=\連接成功!有驗證!\ReDimSendByte(0To9)AsByte'發(fā)送連接請求

SendByte(0)=5SendByte(1)=1SendByte(2)=0SendByte(3)=1

SendByte(4)=GetIPByte(1,DestIP)SendByte(5)=GetIPByte(2,DestIP)SendByte(6)=GetIPByte(3,DestIP)SendByte(7)=GetIPByte(4,DestIP)

SendByte(8)=Int(DestPort/256)'把10進制端口分成兩個字節(jié)SendByte(9)=DestPortMod256'把10進制端口分成兩個字節(jié)

Form1.Winsock1.SendDataSendByte()

ConnStep=ConnStep+1

ExitFunction

EndIf

IfAsc(Mid(RevBuffer,2,1))=0AndForm1.Check1.Value=0Then

Form1.Label8.Caption=\連接目標服務器成功!\'無驗證的最終一步,代理回復其次字節(jié)為00成

功,其余值為失敗ConnStep=-1Form2.ShowExitFunction

EndIf

IfAsc(Mid(RevBuffer,2,1))0ThenMsgBox\代理連接目標服務器失敗!\錯誤\

ConnStep=0Form1.Winsock1.Close

ExitFunction

Else

Form1.Label8.Caption=\連接目標服務器成功!\

ConnStep=-1Form2.ShowExitFunction

EndIfEndSelectEndIf

IfProxyType=2Then'@@@@@@@@@@@@@@@@@@@@@@@@HTTP1.1代理

IfPStep=1Then'無用戶名密碼驗證IfForm1.Check1.Value=0Then

HTTPHeader=\

\

&Chr(13)&Chr(10)&Chr(13)&Chr(10)

ConnStep=PStep+1

Form1.Winsock1.SendDataHTTPHeader

ExitFunction

EndIf

IfForm1.Check1.Value=1Then'有用戶名密碼驗證

HTTPHeader=\\

Form1.Text6.Text&Chr(13)&Chr(10)&\

StrtoBase64(Form1.Text3.Text&_

\

Basic\

StrtoBase64(Form1.Text3.Text&\

Chr(10)

'Chr(13)&Chr(10)能否直接用vbCrLf?我不知道

Debug.PrintHTTPHeaderConnStep=PStep+1

Form1.Winsock1.SendDataHTTPHeader

ExitFunction

EndIfEndIf

IfPStep=2Then'代理服務器回復,格式:HTTP/[代理版本][狀態(tài)代碼][狀態(tài)說明]IfLCase(Left(RevBuffer,4))=\狀態(tài)代碼為200為

成功

Form1.Label8.Caption=\連接目標服務器成功!\

Form2.ShowConnStep=-1

Else

MsgBox\代理連接目標服務器失敗!\錯誤\

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論