亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi實(shí)現(xiàn)木馬文件傳輸代碼實(shí)例

2020-01-31 20:51:01
字體:
供稿:網(wǎng)友

本文以實(shí)例形式講述了Delphi下木馬的文件傳輸方法的實(shí)現(xiàn)過程,具體步驟如下:

服務(wù)器端代碼:

unit ServerFrm;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ComCtrls, StdCtrls, ExtCtrls,WinSock;type TfrmMain = class(TForm)  Panel1: TPanel;  Label1: TLabel;  edtPort: TEdit;  Panel2: TPanel;  stabar: TStatusBar;  SaveDialog: TSaveDialog;  btnListen: TButton;  btnReceive: TButton;  btnStop: TButton;  btnExit: TButton;  procedure FormCreate(Sender: TObject);  procedure btnExitClick(Sender: TObject);  procedure FormClose(Sender: TObject; var Action: TCloseAction);  procedure btnListenClick(Sender: TObject);  procedure btnReceiveClick(Sender: TObject);  procedure btnStopClick(Sender: TObject); private  { Private declarations } public  { Public declarations }  StopTrans:Boolean; //是否停止傳送開關(guān)  InTrans:Boolean; //表示正在接收文件  Server:TSocket; //定義服務(wù)器端的socket句柄  //自定義過程接收文件  procedure RecvFile(FileName:String); end;var frmMain: TfrmMain;const BlockLen=1024*4;implementation{$R *.dfm}procedure tfrmmain.RecvFile(FileName:String);var Ftrans:file of Byte; Recelen:Integer; Blockbuf:array[0..BlockLen-1] of Byte; RecvSocket:TSocket; ra:Sockaddr_in; ra_len:integer;begin ra_len:=sizeof(ra); Recvsocket:=accept(server,@ra,@ra_len); assignFile(Ftrans,filename); rewrite(ftrans); stoptrans:=false; intrans:=true; recelen:=recv(recvsocket,Blockbuf,BlockLen,0); while (recelen>0) and (not StopTrans) do begin  BlockWrite(Ftrans,Blockbuf[0],BlockLen);  application.ProcessMessages;  recelen:=recv(recvsocket,Blockbuf,Blocklen,0);  if stoptrans then  begin   CloseFile(Ftrans);   CloseSocket(RecvSocket);   InTrans:=False;   MessageBox(Handle,'停止傳輸!','提示',MB_OK);   EXIT;  END; END; //關(guān)閉文件,接收的SOCKET CloseFile(Ftrans); Closesocket(recvsocket); InTrans:=False; if (Recelen=SOCKET_ERROR) then  messagebox(handle,'傳輸異常終止!','提示',MB_OK) ELSE  MESSAGEBOX(HANDLE,'客戶端已經(jīng)關(guān)閉連接1,文件可能已經(jīng)傳送完畢了!','提示',MB_OK);end; procedure TfrmMain.FormCreate(Sender: TObject);var aWSAData:TWSAData;begin if WSAStartup($0101,aWSAData)<>0 then  raise Exception.Create('不能啟動(dòng)WinSock動(dòng)態(tài)鏈接庫'); messageBox(Handle,aWSAdata.szDescription ,'WinSock動(dòng)態(tài)鏈接庫版本',mb_ok);end;procedure TfrmMain.btnExitClick(Sender: TObject);begin Close;end;procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);begin if InTrans then  if MessageBox(handle,'正在接收文件,停止嗎?','提示',MB_YESNO)=IDNO then   abort; IF SERVER<>INVALID_SOCKET THEN   CLOSESOCKET(SERVER);  //釋放winsock動(dòng)態(tài)鏈接庫所創(chuàng)建的資源 if WSACleanup<>0 then  messagebox(handle,'清除Winsock動(dòng)態(tài)鏈接庫錯(cuò)誤!','提示',MB_OK) ELSE  messagebox(handle,'清除Winsock動(dòng)態(tài)鏈接庫成功!','提示',MB_OK);end;procedure TfrmMain.btnListenClick(Sender: TObject);var ca:SOCKADDR_IN;begin //創(chuàng)建服務(wù)器端SOCKET Server:=Socket(PF_INET,SOCK_STREAM,IPPROTO_IP); IF server=invalid_socket then begin  stabar.SimpleText :='創(chuàng)建接收SOCKET錯(cuò)誤1';  exit; end; //綁定服務(wù)器端SOCKET ca.sin_family :=PF_INET; CA.sin_port :=htons(strtoint(trim(edtPort.Text ))); ca.sin_addr.S_addr :=INADDR_ANY; if bind(server,ca,sizeof(ca))=socket_error then begin  stabar.SimpleText :='綁定socket錯(cuò)誤,請(qǐng)更改接收端口';  closeSocket(server);  exit; end else  stabar.SimpleText :='綁定接收端socket成功!'; //開始監(jiān)聽 listen(server,5); btnlisten.Enabled :=False; btnstop.Enabled :=true;end;procedure TfrmMain.btnReceiveClick(Sender: TObject);begin if (server=INVALID_SOCKET) THEN BEGIN  MESSAGEBOX(HANDLE,'還沒有進(jìn)行監(jiān)聽,請(qǐng)先進(jìn)行監(jiān)聽!','提示',MB_OK);  EXIT; END; IF SaveDialog.Execute THEN  RECVFILE(SaveDialog.FileName );  end;procedure TfrmMain.btnStopClick(Sender: TObject);begin STOPTRANS:=TRUE; IF SERVER<>INVALID_SOCKET THEN cLOSESOCKET(SERVER); //此處需要說明 server:=INVALID_SOCKET; bTNSTOP.Enabled :=fALSE; BTNlISTEN.Enabled :=TRUE;end;end.

客戶端代碼:

unit ClientFrm;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls,WinSock;type TfrmMain = class(TForm)  opendfile: TOpenDialog;  Label1: TLabel;  edtIP: TEdit;  Label2: TLabel;  edtPort: TEdit;  StatusBar: TStatusBar;  btnConnect: TButton;  btnSend: TButton;  btnStop: TButton;  btnExit: TButton;  ProgressBar: TProgressBar;  procedure FormCreate(Sender: TObject);  procedure btnExitClick(Sender: TObject);  procedure FormClose(Sender: TObject; var Action: TCloseAction);  procedure btnConnectClick(Sender: TObject);  procedure btnSendClick(Sender: TObject);  procedure btnStopClick(Sender: TObject); private  { Private declarations }   Client:TSocket; public  { Public declarations }  StopTrans:Boolean; //是否停止發(fā)送的開發(fā)  InTrans:Boolean;  //表示是否正在傳送文件  procedure TransFile(FileName:String); //傳遞文件的過程 end; const BlockLen=1024*4; //每次發(fā)送的最大數(shù)據(jù)量var frmMain: TfrmMain;implementation{$R *.dfm}procedure TfrmMain.TransFile(FileName:String); //傳遞文件的過程var Ftrans:file of Byte; Flen:integer; BlockNum,RemainLen:integer; BlockBuf:array[0..BlockLen-1] of Byte; i:integer; SendLen:Integer;begin assignFile(Ftrans,filename); reset(Ftrans); Flen:=FileSize(Ftrans); BlockNum:=Flen div BlockLen; progressBar.Max :=1+BlockNum; RemainLen:=Flen mod BlockLen; StopTrans:=False; InTrans:=True; SendLen:=1; for i:=0 to BlockNum-1 do begin  if (StopTrans) or (SendLen<=0) then Break;  BlockRead(Ftrans,Blockbuf[0],BlockLen);  SendLen:=Send(Client,Blockbuf,BlockLen,0);  ProgressBar.Position :=i;  Application.processMessages; end; if StopTrans then begin  CloseFile(Ftrans);  InTrans:=False;  StatusBar.SimpleText :='';  MessageBox(Handle,'停止傳輸!','提示',mb_ok);  progressbar.Position :=0;  exit; end; if (SendLen<=0) then begin  CloseFile(Ftrans);  InTrans:=False;  StatusBar.SimpleText :='';  messagebox(handle,'傳出異常終止!','提示',MB_OK);  progressBar.Position :=0;  exit; end; if remainLen>0 then begin  BlockRead(Ftrans,BlockBuf[0],RemainLen);  SendLen:=send(client,BlockBuf,Remainlen,0);  if (sendLen<=0) then  begin   closeFile(Ftrans);   InTrans:=False;   StatusBar.SimpleText :='';   messagebox(handle,'傳輸異常終止!','提示',mb_ok);   progressBar.Position :=0;   exit;  end; end; progressBar.Position :=ProgressBar.Max ; CloseFile(Ftrans); InTrans:=False; StatusBar.SimpleText :=''; messagebox(handle,'傳輸完成!','提示',mb_ok); progressbar.Position :=0;end;procedure TfrmMain.FormCreate(Sender: TObject);var aWSAData:TWSAData;begin if WSAStartup($0101,aWSAData)<>0 then  raise Exception.Create('不能啟動(dòng)WinSock動(dòng)態(tài)鏈接庫'); messageBox(Handle,aWSAdata.szDescription ,'WinSock動(dòng)態(tài)鏈接庫版本',mb_ok);end;procedure TfrmMain.btnExitClick(Sender: TObject);begin Close;end;procedure TfrmMain.FormClose(Sender: TObject; var Action: TCloseAction);begin if InTrans then  if MessageBox(handle,'正在傳輸文件,停止嗎?','提示',MB_YESNO)=IDNO then   abort;  //釋放winsock動(dòng)態(tài)鏈接庫所創(chuàng)建的資源  if WSACleanup<>0 then   messagebox(handle,'清除Winsock動(dòng)態(tài)鏈接庫錯(cuò)誤!','提示',MB_OK)  ELSE   messagebox(handle,'清除Winsock動(dòng)態(tài)鏈接庫成功!','提示',MB_OK);  CloseSocket(Client);end;procedure TfrmMain.btnConnectClick(Sender: TObject);var ca:SOCKADDR_IN; hostaddr:u_long;begin Client:=Socket(PF_INET,SOCK_STREAM,IPPROTO_IP); IF CLIENT=INVALID_SOCKET THEN BEGIN  StatusBar.SimpleText :='為連接遠(yuǎn)程服務(wù)器端創(chuàng)建COSKET錯(cuò)誤!';  exit; end; ca.sin_family :=PF_INET; CA.sin_port :=HTONS(STRTOINT(TRIM(EDTpORT.Text ))); HOSTADDR:=INET_ADDR(PCHAR(TRIM(EDTIP.Text ))); //判斷IP是否合法 if (hostaddr= -1) then begin  StatusBar.SimpleText :='主機(jī)IP地址:'+trim(edtip.Text )+'錯(cuò)誤';  exit; end else  ca.sin_addr.S_addr :=hostaddr; //連接服務(wù)器 if connect(Client,ca,sizeof(ca))<>0 then begin  StatusBar.SimpleText :='連接服務(wù)器端SOCKET錯(cuò)誤!';  exit; end else  StatusBar.SimpleText :='連接遠(yuǎn)程SOCKET成功!';end;procedure TfrmMain.btnSendClick(Sender: TObject);begin if (opendfile.Execute ) and (FileExists(opendfile.FileName )) then  transFile(opendfile.FileName );end;procedure TfrmMain.btnStopClick(Sender: TObject);begin Stoptrans:=True;end;end. 
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

国产欧美精品国产国产专区| 在线国产精品播放| 国产成人在线网址| 国产在线一区二区三区欧美| 亚洲人成在线播放| 国产在线青青草| 国产精品一区在线免费观看| 99热这里只有精品在线播放| 异国色恋浪漫潭| 一区中文字幕电影| 6080午夜伦理| 尤物视频一区二区| 人妻一区二区三区| 国产区在线观看| 国产中文一区二区三区| 国产免费a级片| 亚洲天堂福利av| 亚洲天堂最新地址| 1区2区3区国产精品| 欧美日韩国产123| 国产成年人免费视频| 成人午夜国产福到在线| 国产三级视频在线看| 成全视频全集| 亚洲国产成人自拍| avtt久久| 超碰成人97| 91福利在线观看| 精品久久久国产| 成人午夜激情视频| 亚洲精品午夜久久久久久久| 国产精品手机播放| 99在线免费观看视频| 亚洲国产精品v| 欧美日韩aaaaa| 国模无码一区二区三区| 亚洲av无码一区二区三区网址| 欧美有码在线观看| 欧洲精品码一区二区三区免费看| 日韩综合在线视频| 成人91免费视频| 欧美成人精品在线观看| 黄色av一级片| 国产91对白刺激露脸在线观看| 国产不卡在线观看| 免费观看精品视频| 亚洲欧洲中文天堂| 欧美日韩久久一区| 成人精品视频一区二区| www在线视频观看| 女人和拘做爰正片视频| 成人高清视频观看www| 少妇喷水在线观看| 末成年女av片一区二区下载| 国产精品无码专区在线观看| 一级毛片精品毛片| 国产97人人超碰caoprom| 亚洲图片激情小说| 国内精彩免费自拍视频在线观看网址| 成人午夜免费av| 久久久久久久色| 婷婷久久综合| 一区二区三区免费在线观看| av免费在线电影| 久久高清免费观看| 亚洲色大成网站www久久九九| 先锋av资源在线| 中文字幕有码在线视频| 天堂а在线中文在线无限看推荐| 色老头在线一区二区三区| 国产精品久久久99| 美女免费久久| 中文在线8资源库| 日韩欧美激情在线| 制服丝袜av成人在线看| 日韩专区在线| 国产真人真事毛片视频| 日韩精品成人在线观看| 亚洲宅男天堂在线观看无病毒| 精品高清在线| 蜜臀av中文字幕| 99久久久无码国产精品| se在线视频| 九九爱免费视频在线观看| 国产精品久久久久无码av色戒| 日本电影欧美片| 亚洲福利视频在线| 亚洲制服丝袜一区| 色综合视频在线观看| 欧美日韩亚洲一二三| 黑鬼大战白妞高潮喷白浆| a毛片在线看免费观看| 免费看91的网站| 亚洲精品进入| 日韩精品中文字幕在线一区| 亚洲成av人影片在线观看| 欧美最新大片在线看| 日韩一区欧美| 欧美精品尤物在线| 欧美日韩精品在线一区二区| 无码人妻精品一区二区三区9厂| 亚洲福利专区| 日本欧美一区二区三区| 久久这里只有精品视频网| 欧美 日韩 成人| 欧美成人aaa片一区国产精品| 日本一二三四区视频| 久久久亚洲欧洲日产国码αv| 中文字幕一精品亚洲无线一区| 国产免费av一区二区三区| av在线最新| 五月婷婷激情综合| 精品久久人妻av中文字幕| 91九色精品视频| 视频一区三区| 久久国产成人精品国产成人亚洲| 一区二区中文字幕| 国产精品88久久久久久| 岛国片免费观看| 大陆成人av片| 在线成人av影院| 制服丝袜亚洲色图| 亚洲新中文字幕| 九色porny视频在线观看| 国产精品日韩欧美一区| 国产成人精品一区二区| 91国内产香蕉| 黄色三级生活片| 中文字幕色站| 中文字幕日韩一区二区三区不卡| 在线国产一区二区三区| 中文字幕最新精品| 免费高清视频日韩| 国产欧美日韩综合精品二区| 国产成人亚洲综合91| 91精品在线国产| 特级西西www444人体聚色| 久久精品国产亚洲7777| 日本亚洲三级在线| 久久久久久久久福利| 日韩三级视频在线播放| 含羞草www国产在线视频| 99热手机在线观看| 国产精品流白浆在线观看| 欧美一级大片在线观看| 国产一二三视频| 欧美男男激情freegay| 精品一成人岛国片在线观看| 一区二区三区在线观看免费| 91theporn国产在线观看| 中文字幕欧美国产| 欧美韩日高清| 男女毛片免费视频看| 亚洲一级爰片777777| 美女羞羞视频在线观看| 亚洲精品护士| 国产91中文| 制服丝袜中文字幕第一页| 国产成人av免费看| 国产毛片精品国产一区二区三区| 国产欧美在线一区二区| 日韩在线免费| 一本久道在线| 亚洲福利视频专区| 亚洲s色大片| 久久综合给合久久狠狠色| 91热福利电影| 中文幕av一区二区三区佐山爱| 九七久久人人| 日本一区二区三区久久久久久久久不| 91pron在线| 日本孕妇大胆孕交无码| 你懂的在线视频观看| 日韩视频永久免费| 欧美日本韩国一区二区三区视频| 久久久久久久国产| 国产中文欧美精品| 相泽南亚洲一区二区在线播放| 999国内精品视频在线| 欧美美女直播网站| 国产女同一区二区| 免费观看欧美成人禁片| 久久久国产欧美| 日韩欧美一级大片| 高清一区二区三区日本久| 亚洲成人基地| 国产精品色视频| 日韩电影天堂视频一区二区| 欧美精品国产精品| 欧美艳星介绍134位艳星| 福利片在线免费观看| 伊人久久一区二区三区| 国产网友自拍电影在线| 浮力影院欧美三级日本三级| 国产精品自拍小视频| 国产精品久久久一区| 精品手机在线视频| 亚洲免费资源在线播放| 最全影音av资源中文字幕在线| 麻豆精品永久免费视频| 波多野结衣在线观看一区| 成年人网站免费视频| 大胆亚洲人体视频| 久久久蜜桃一区二区| 精品免费久久久久久久| 久久精品国产视频| 一区二区三区日韩在线观看| h版电影在线播放视频网站| 精品福利在线| 成人免费网站在线观看| 免费观看黄色网| 少妇按摩一区二区三区| 色婷婷亚洲mv天堂mv在影片| 免费观看黄色大片| 不卡一区二区在线| 一二三区在线| 中文字幕在线亚洲| 婷婷亚洲一区二区三区| 国产亚洲欧美一级| 四虎在线看片| 中文精品久久久久人妻不卡| 91色视频在线观看| 国产精品77777竹菊影视小说| 性欧美大战久久久久久久久| jzzjzzjzz亚洲成熟少妇| 黄网站免费在线观看| 影音先锋在线视频| 99视频只有精品| 欧美久久一二三四区| avtt综合网| 国外成人免费在线播放| 全彩无遮拦全彩口工漫画全彩| 精品久久对白| 亚洲码国产岛国毛片在线| 少妇高潮久久久久久潘金莲| 亚洲国产小视频在线观看| 成人做爰www看视频软件| 国产日韩欧美精品一区二区三区| 色一区在线观看| 印度午夜性春猛xxx交| 91在线高清视频| 91精品国产91| 免费国产视频| 伊人久久大香线蕉综合热线| 色综合久久综合网欧美综合网| 日本不卡中文字幕| 成人欧美色图| 国产成人精品免费看在线播放| 精品一区二区三区五区六区| 裸体在线国模精品偷拍| 久草av在线播放| 欧美一卡二卡三卡| 亚洲一级二级三级| 亚洲一区二区久久久| 深夜视频在线观看| 粉嫩av亚洲一区二区图片| 超碰超碰人人人人精品| 日本人妻伦在线中文字幕| 国内一区二区三区精品视频| 久久精品国产成人一区二区三区| 日韩激情av在线播放| 成人免费a**址| 日韩欧美亚洲一区二区三区| 欧美69wwwcom| 国产制服丝袜一区| 国产成人免费网站| 亚洲高清极品| 亚洲成在人线免费视频| 国产激情视频网站| 亚洲第一狼人社区| 精品国产中文字幕| 黄色网页在线看| 91精品在线国产| 一级毛片aaaaaa免费看| 国产一卡2卡3卡4卡网站免费| 中文字幕日韩经典| 欧美日韩生活片| 91精品国产自产精品男人的天堂| 菠萝蜜影院一区二区免费| 国产精品久久久久av免费| 99国产精品99久久久久久粉嫩| 国产野外作爱视频播放| 狠狠爱www人成狠狠爱综合网| 久久出品必属精品| av在线观看地址| 激情黄产视频在线免费观看| 国产精彩视频在线观看| 免费观看中文字幕| 亚洲黄色免费网站| 香蕉久久久久久av成人| 欧美福利视频在线观看| 亚洲s色大片| a级毛片免费观看在线| 日韩精品在线一区| 成人高潮a毛片免费观看网站| 国产乱子伦精品无码专区| 成人精品中文字幕| 国产麻豆精品久久一二三| 国产欧洲在线| 苍井空浴缸大战猛男120分钟| 亚洲国产精品久久久久秋霞影院| 日本精品一区二区三区高清 久久| 在线观看国产高清视频| 日本美女一级视频| av日韩亚洲| 久久人人爽人人爽人人片亚洲| 亚洲1区在线观看| 欧美黑人乱大交| 欧美日韩aaa| 今天免费高清在线观看国语| 欧美污视频网站| 日韩精品视频免费专区在线播放| 中文字幕免费高| 亚洲人成免费电影| 欧美三区美女| 波多野结衣在线影院| 羞羞视频网页| 成人免费看吃奶视频网站| 国产成人精品a视频一区www| 日韩福利在线播放| 午夜精品免费看| 69久久夜色精品国产69| 大肉大捧一进一出好爽视频| 久久亚洲午夜电影| av在线小说| 日韩精品在线播放| 亚洲色图另类专区| 中国黄色片免费看|