當前位置:首頁 » 操作系統 » 源碼一鍵注入

源碼一鍵注入

發布時間: 2024-03-08 11:16:09

1. 易語言傳奇世界dll注入器源碼

把dll添加到圖片或者聲音資源
需要用到超級模塊,然後輸入法注入,注冊熱鍵(Home或者End),進游戲呼出。
熱鍵.注冊(_啟動窗口_創建完畢(),&Home鍵,#子程序1)
寫到文件(取特定目錄(10)+「\XX.dll",#DLL)
寫到文件(取特定目錄(10)+「\Soudou.ime",#Shurufa)
子程序1
局部變數 bool
bool=(進程是否存在(「傳奇世界私服.exe」)或 進程是否存在(「傳奇世界私服.exe」)

2. 如何對一個網站進行sql注入攻擊

1.POST注入,通用防注入一般限制get,但是有時候不限制post或者限制的很少,這時候你就可以試下post注入,比如登錄框、搜索框、投票框這類的。另外,在asp中post已被灶納發揚光大,程序員喜歡用receive來接受數據,這就造成了很多時候get傳遞的參數通過post/cookie也能傳遞,這時如果恰好防注入程序只限制了get,因此post注入不解釋
2.cookie注入,原理同post注入,繞過相當多通用防注入
3.二次注入,第一次注入的數據可能不會有效,但是如果將來能在某個頁面裡面被程序處理呢?注入來了……
4.csrf,適合後台地址已知並且存在已知0day,可以試試用csrf劫持管理員來進行操作(這招其實不屬於sql注入了)
5.打碎關鍵字,比如過濾select,我可以用sel/**/ect來繞過,這招多見於mysql
6.有時候也可以sELeCT這樣大小寫混淆繞過
7.用chr對sql語句編碼進行繞過
8.如果等於號不好使,可以試試大於號或者小於號,如果and不好使隱皮沒可以試試or,這樣等價替換
9.多來幾個關鍵字確定是什麼防注入程序,直接猜測源碼或者根據報錯關鍵字握源(如"非法操作,ip地址已被記錄")把源碼搞下來研究
10.記錄注入者ip和語句並寫入文件或資料庫,然而資料庫恰好是asp的,插馬秒殺

3. 易語言輸入法注入游戲源碼

要用 超級模塊

.版本 2
.支持庫 shell

輸入法句柄 = 輸入法.安裝 (取特定目錄 (10) + 「\1.ime」, )

.如果 (輸入法句柄 ≠ 0)
時鍾3.時鍾周期 = 5
輸入法.設置注入 (取特定目錄 (10) + 「\1.ime」,取特定目錄 (10) +「\hook.dll」)
.否則
信息框 (「安裝輸入法失敗!」, 16, )
結束 ()

.版本 2
.支持庫 shell

.子程序 _時鍾3_周期事件
.局部變數 句柄, 整數型

時鍾3.時鍾周期 = 0
句柄 = 取句柄2 (「1.exe」, 「1」, 「1」)
輸入法.激活 (句柄, 輸入法句柄)
輸入法.清除注入 (取特定目錄 (10) + 「\Cao.ime」)
輸入法.卸載 (輸入法句柄)
.如果真結束

4. 易語言dll輸入法注入源碼

.版本 2
.支持庫 shell
.支持庫 spec

寫到文件 (取特定目錄 (10) + 「\SouGoo.ime」, #shurufa)
輸入法句柄 = 輸入法.安裝 (取特定目錄 (10) + 「\SouGoo.ime」, 「輸入法」) ' <!!!>
調試輸出 (輸入法句柄)
.如果真 (輸入法句柄 ≠ 0)
輸入法.設置注入 (取特定目錄 (10) + 「\Sougoo.ime」, 取運行目錄 () + 「\dll.dll」)
延時 (1549)
信息框 (「-----載入成功-----」)

.如果真結束

5. 求易語言鉤子注入dll及home呼出源碼

易語言鉤子DLL注入源碼及源碼說明2010-04-06 13:52[所有要使用到的API]

.版本 2

.DLL命令 LoadLibraryA, 整數型,"kernel32.dll","LoadLibraryA"
.參數 lpLibFileName, 文本型

.DLL命令 SetWindowsHookExA, 整數型, "user32.dll", "SetWindowsHookExA", 公開, SetWindowsHookEx
.參數 鉤子類型, 整數型, , idHook
.參數 回調函數地址, 整數型, , lpfn
.參數 實例句柄, 整數型, , hmod
.參數 線程ID, 整數型, , dwThreadId

.DLL命令 FreeLibrary, 整數型, "kernel32.dll", "FreeLibrary", , 釋放指定的動態鏈接庫,它們早先是用LoadLibrary ;API函數裝載的 非零表示成功,零表示失敗。會設置GetLastError
.參數 庫句柄, 整數型, , hLibMole,要釋放的一個庫句柄,在VB里使用只能用這個函數釋放那些由應用程序明確裝載的DLL。對LoadLibrary的每一次調用都應該有一個對應的FreeLibrary調用;

.DLL命令 UnhookWindowsHookEx, 整數型, "user32.dll", "UnhookWindowsHookEx", , UnhookWindowsHookEx
.參數 鉤子句柄, 整數型, , hHook

.DLL命令 CallNextHookEx, 整數型, "user32.dll", "CallNextHookEx", 公開, CallNextHookEx
.參數 鉤子句柄, 整數型, , hHook
.參數 代碼值, 整數型, , ncode
.參數 附加參數1, 整數型, , wParam
.參數 附加參數2, 整數型, 傳址, lParam

.DLL命令 GetProcAddress, 整數型, "kernel32.dll", "GetProcAddress", , 取進程路徑
.參數 模塊句柄, 整數型, , hMole
.參數 進程名稱, 文本型, , lpProcName

.DLL命令 GetCurrentThreadId, 整數型, "kernel32.dll", "GetCurrentThreadId"

.DLL命令 獲取特別文件夾位置_, 整數型, "shell32.dll", "SHGetSpecialFolderLocation"
.參數 窗口句柄, 整數型, , hwndOwner
.參數 文件夾位置, 整數型, , nFolder
.參數 結構, 項目標識符列表_, 傳址, pIdl

.DLL命令 從列表id取路徑_, 整數型, "shell32.dll", "SHGetPathFromIDListA", , $(b)
.參數 結構指針, 整數型, , pIdl
.參數 路徑, 文本型, 傳址, pszPath

.DLL命令 CallWindowProcA, 整數型, "user32.dll", "CallWindowProcA"
.參數 動態調用代碼, 位元組集, , 一定要用本人編寫的
.參數 子程序, 子程序指針, , 子程序指針
.參數 參數, 整數型, 數組, 為整數數組,參數1為成員1…類推;文本型和位元組集型(自定義結構)為指針
.參數 參數數目, 整數型, , 一定要和參數數組相符,不然會出錯
.參數 是否C調用, 整數型, , 真為cdecl調用方式,假為stdcall調用方式(即標准WINAPI方式)

[這里函數所有代碼和一個自定義類型,API代碼在左邊]

.版本 2

.程序集 程序集1
.程序集變數 臨時呼出熱鍵, 整數型
.程序集變數 臨時載入窗口, 窗口
.程序集變數 鉤子模塊句柄, 整數型, , "1000"
.程序集變數 鉤子句柄, 整數型, , "1000"
.程序集變數 鉤子IDx, 整數型
.程序集變數 x, 整數型
.程序集變數 鉤子句柄1, 整數型
.程序集變數 temp目錄, 文本型
.程序集變數 xxx, 整數型
.程序集變數 熱鍵鉤子句柄, 整數型
.程序集變數 第一次, 邏輯型

.子程序 調用_調用子程序, 整數型, 公開, 呼叫某個函數 可以傳入無限個參數 返回函數返回值
.參數 子程序指針, 子程序指針, , 指定函數
.參數 參數, 整數型, 可空 數組, 指定參數 可以不寫, 參數為數組 格式為 參數[1]=xxx 參數[2]=xxx 文本型或位元組集請用 轉換指針 格式2 加入成員(參數,xxx)
.局部變數 動態調用代碼, 位元組集

動態調用代碼 = { 85, 139, 236, 86, 139, 117, 16, 141, 78, 255, 133, 201, 124, 21, 139, 69, 12, 141, 4, 136, 65, 139, 16, 137, 85, 16, 255, 117, 16, 131, 232, 4, 73, 117, 242, 255, 85, 8, 137, 69, 12, 139, 69, 20, 133, 192, 116, 13, 141, 4, 181, 0, 0, 0, 0, 137, 69, 16, 3, 101, 16, 139, 69, 12, 94, 93, 194, 16, 0 }
返回 (CallWindowProcA (動態調用代碼, 子程序指針, 參數, 取數組成員數 (參數), 0))

.子程序 操作_取特定目錄, 文本型, 公開, 取特定的目錄(返回所要取的指定目錄名 無效返回空)
.參數 欲獲取目錄類型, 整數型, 可空, 0我的桌面 1臨時目錄 5我的文檔 6我的收藏夾 7我的啟動 11我的開始菜單 20系統字體 36Windows安裝目錄 37系統目錄 [99更多]
.局部變數 路徑, 文本型
.局部變數 標示結構, 項目標識符列表_
.局部變數 目錄類型, 整數型

.如果真 (欲獲取目錄類型 = 99)
輸出調試文本 (「0我的桌面 2我的程序 5我的文檔 6我的收藏夾 7我的啟動 8我最近的文檔 9我的發送到 11我的開始菜單 13我的音樂 14我的視頻 16我的桌面 20系統字體 22開始菜單組 23程序組 24啟動組 25桌面 31收藏夾 32我的瀏覽器臨時目錄 33我的Cookies 34我的歷史記錄 36Windows安裝目錄 37系統目錄 38文件安裝目錄 39我的圖片 40用戶目錄 41系統目錄 46文檔 47管理工具 48我的管理工具 53音樂 54圖片 55視頻」)
.如果真結束
.如果 (欲獲取目錄類型 = 1)
目錄類型 = 34
.否則
目錄類型 = 欲獲取目錄類型
.如果結束
獲取特別文件夾位置_ (0, 目錄類型, 標示結構)
路徑 = 取空白文本 (255)
從列表id取路徑_ (標示結構.結構大小, 路徑)
.如果真 (路徑 = 「」)
返回 (「」)
.如果真結束
.如果真 (欲獲取目錄類型 = 1)
路徑 = 子文本替換 (路徑, 「History」, 「Temp」, , , 真)
.如果真結束
返回 (路徑 + 「\」)

.子程序 注入_安裝鉤子DLL, 整數型, 公開, DLL注入 返回0=失敗 整數型 DLL介面(代碼值,參數1,參數2)
.參數 線程ID, 整數型, , -1 全局鉤子
.參數 DLL全名, 文本型, , DLL全名
.參數 DLL介面, 文本型, 可空, 默認 整數型 鉤子介面(代碼值,參數1,參數2)
.局部變數 臨時變數, 整數型
.局部變數 目錄, 文本型
.局部變數 窗口句柄, 整數型

.如果真 (是否為空 (DLL介面) = 真)
DLL介面 = 「鉤子介面」
.如果真結束
.如果真 (線程ID = 0)
返回 (0)
.如果真結束
.如果真 (線程ID = -1)
線程ID = 0
.如果真結束
鉤子IDx = 鉤子IDx + 1
鉤子模塊句柄 [鉤子IDx] = LoadLibraryA (DLL全名)
鉤子句柄 [鉤子IDx] = SetWindowsHookExA (3, GetProcAddress (鉤子模塊句柄 [鉤子IDx], DLL介面), 鉤子模塊句柄 [鉤子IDx], 線程ID)
目錄 = 操作_取特定目錄 (1)
寫配置項 (目錄 + 「ada.ini」, 「ada」, 「鉤子句柄」, 到文本 (鉤子句柄 [鉤子IDx]))
輸出調試文本 (鉤子IDx, 鉤子模塊句柄 [鉤子IDx], 鉤子句柄 [鉤子IDx])
返回 (鉤子IDx)

.版本 2

.子程序 注入_卸載鉤子DLL, 邏輯型, 公開
.參數 鉤子ID, 整數型, 可空, 卸載所有時無效
.參數 卸載所有, 邏輯型, 可空
.局部變數 xx, 整數型

.如果真 (卸載所有)
.如果真 (鉤子IDx > 0)
.計次循環首 (鉤子IDx, xx)
.如果真 (鉤子模塊句柄 [xx] ≠ 0)
FreeLibrary (鉤子模塊句柄 [xx])
UnhookWindowsHookEx (鉤子句柄 [xx])
.如果真結束

.計次循環尾 ()
.如果真結束
返回 (真)
.如果真結束
.如果真 (鉤子ID > 0)
.如果真 (鉤子模塊句柄 [鉤子ID] ≠ 0)
FreeLibrary (鉤子模塊句柄 [鉤子ID])
UnhookWindowsHookEx (鉤子句柄 [鉤子ID])
返回 (真)
.如果真結束

.如果真結束
返回 (假)

.子程序 注入_初始化鉤子DLL, 整數型, 公開, DLL用.
.參數 代碼值, 整數型
.參數 參數1, 整數型
.參數 參數2, 整數型
.參數 初始, 子程序指針
.局部變數 xxxx, 整數型

.如果真 (鉤子句柄1 = 0)
temp目錄 =操作_取特定目錄 (1)
鉤子句柄1 = 到整數 (讀配置項 (temp目錄 + 「ada.ini」, 「ada」, 「鉤子句柄」, ))
.如果真結束
.如果真 (第一次 = 假)
第一次 = 真
調用_調用子程序 (初始)
.如果真結束
返回 (CallNextHookEx (鉤子句柄1, 代碼值, 參數1, 參數2))

.子程序 注入_設置呼出窗口, 邏輯型, 公開
.參數 設置熱鍵, 整數型
.參數 呼出窗口, 窗口

臨時呼出熱鍵 = 設置熱鍵
臨時載入窗口 = 呼出窗口
熱鍵鉤子句柄 = SetWindowsHookExA (2, 到整數 (&呼出鍵介面), 0, GetCurrentThreadId ())
.如果真 (熱鍵鉤子句柄 > 0)
返回 (真)
.如果真結束
返回 (假)

.子程序 呼出鍵介面, 整數型
.參數 一, 整數型
.參數 二, 整數型
.參數 三, 整數型

.如果真 (一 = 0 且 二 = 臨時呼出熱鍵 且 三 > 0)
.如果 (是否已創建 (臨時載入窗口))
.如果 (臨時載入窗口.可視)
臨時載入窗口.可視= 假
.否則
臨時載入窗口.可視= 真
.如果結束

.否則
載入 (臨時載入窗口, , 假)
臨時載入窗口.Esc鍵關閉= 假
臨時載入窗口.最小化按鈕= 真
.如果結束

.如果真結束
返回 (CallNextHookEx (熱鍵鉤子句柄, 一, 二, 三))

.版本 2

.數據類型 項目標識符列表_, , ITEMIDLIST
.成員 結構大小, 整數型, , , cb
.成員 標識符長度, 位元組型, , "255", abID

此函數是用來調用指針函數的.就是CALL

取目錄用這個我就不解釋了
下面是源碼主要函數
函數解釋:

本函數參數1為要HOOK的線程ID,參數2為要注入的DLL名,參數3[可空]為DLL介面名字空則為"鉤子介面".
下面解釋是如何實現的:

1.首先使用LoadLibraryA獲取DLL模塊地址.
2.然後設置SetWindowsHookExA

參數一為HOOK類型,使用WH_GETMESSAGE(3) Hook來監視從GetMessage or PeekMessage函數返回息。

參數二為介面地址,就是說把消息返回轉接到的位置,當然我們這里所使用的是我們DLL所公開的那個函數

參數三為介面模塊的句柄即DLL的句柄(地址)

參數四為將要被HOOK的線程ID(0為全局HOOK,不推薦使用全局HOOK)

3.設置完後將鉤子句柄寫配置項到臨時目錄(後面將要使用).

說白了其實這個才是真正的介面(DLL里的介面只是在做轉接而已),

我先講這個函數是如何實現的(上面已經說了這才是真正的介面).

1,鉤子句柄是一個程序集變數,先判斷這個變數是否為0,如果等於0那麼就是說這個函數第一次被使用,

第一次使用將讀去上個函數寫在臨時目錄的鉤子句柄.

2.用一個邏輯變數(程序集變數或全局變數),來判斷這個消息鉤子是否第一次運行(為了防止後面調用

子程序被多次調用),是的話調用一個子程序(自己設置)

3.使用CallNextHookEx(呼叫下一個鉤子)把當前HOOK的信息在傳送回被HOOK的鉤子里,那個鉤子我們

就不用管了.

下來說下到底如何使用

首先在你的EXE程序里寫這個(我就不多說這是干嗎的了).

然後在DLL里寫上這個代碼(有人可能覺得眼熟,好像在什麼地方見過,對了這個代碼和

外掛作坊的鉤子注入差不多)

下來說明下按鍵呼出窗口的函數

用變數把當前參數存起來(主要方便介面調用)

1.為當前運行線程設置一個鍵盤鉤子

2.[介面]設置按鍵判斷,如果按下我們設置的鍵將呼出窗口,如果這個窗口沒創建將判斷創建,

如果已經創建再次按下則會隱藏,

載入後的窗口把用ESC關閉的屬性弄成假,不需要ESC關閉

3.最後就是再呼叫下以前的鉤子.

最後就是卸載鉤子DLL了.

判斷是否要卸載全部的鉤子,如果是就循環將現有鉤子DLL全部卸載.

不是就按著ID來卸載

卸載方法:

1.FreeLibrary就是卸載一個載入的DLL

2.UnhookWindowsHookEx乃是卸載這個HOOK

-.-OK了這就是 鉤子DLL注入,謝謝大家閱讀,如果看不明白,

6. 一鍵加群源碼怎麼弄

1、打開QQ群,點擊上面的齒輪形狀按鈕,在彈出來的設置菜單中,選擇成員。
2、在成員管理中,選擇高級管理這時候就會跳轉網頁端,在網頁首頁導航欄就可消鏈以看見加群組件。
3、選擇需要一鍵生成的QQ群,產生群源碼差伏,點擊輸入即可一鍵拿慶孫加群。

7. Gh0st3.6 源碼中怎麼實現進程注入的

我寫過一個注入Dll的VB代碼,兩個參數,第一個是要注入的進程的PID,第二個是要注入的Dll的路徑。代碼如下(不加函數聲明……)Public Function FxRemoteProcessInsertDll(ByVal pid As Long, ByVal DllPath As String) As Long
Dim lpThreadAttributes As SECURITY_ATTRIBUTES
Dim hProcess, hThread As Long
Dim DllBuffer As Long
Dim DllFileSize As Long
Dim rReturn As Long
Dim fAddr As Long
Dim errNum As Long
Dim errStr As String

hProcess = FxNormalOpenProcess(PROCESS_ALL_ACCESS, pid)
'所需許可權PROCESS_QUERY_INFORMATION Or PROCESS_VM_OPERATION Or PROCESS_VM_READ Or PROCESS_VM_WRITE
If hProcess = 0 Then errStr = "打開進程失敗!": GoTo errors DllFileSize = LenB(StrConv(DllPath, vbFromUnicode)) + 1
DllBuffer = VirtualAllocEx(hProcess, 0, DllFileSize, MEM_RESERVE Or MEM_COMMIT, PAGE_READWRITE)
If DllBuffer = 0 Then errStr = "分配內存空間失敗!": GoTo errors rReturn = WriteProcessLongMemory(hProcess, DllBuffer, ByVal DllPath, DllFileSize, 0)
If DllBuffer = 0 Then errStr = "寫入內存失敗!": GoTo errors

fAddr = GetProcAddress(GetMoleHandle("kernel32.dll"), "LoadLibraryA")
hThread = CreateRemoteThread(hProcess, lpThreadAttributes, 0, fAddr, DllBuffer, 0, ByVal 0&)
If DllBuffer = 0 Then errStr = "載入Dll失敗!": GoTo errors

WaitForSingleObject hThread, INFINITE

'<——輸出調試信息——
errNum = GetLastError
Debug.Print "DllFileSize:" & DllFileSize & ",DllBuffer:" & FormatHex(DllBuffer) & ",hThread:" & hThread & ",errNum:" & errNum
'——————————>

VirtualFreeEx hProcess, DllBuffer, DllFileSize, MEM_DECOMMIT
ZwClose hProcess
ZwClose hThread

FxRemoteProcessInsertDll = 1
Exit Function
errors:
MsgBox errStr, 0, "錯誤"
FxRemoteProcessInsertDll = 0
End Function

8. 易語言自動注入DLL源碼

.版本 2
.支持庫 eAPI
.支持庫 spec
.支持庫 iext
.支持庫 shell

.程序集 窗口程序集1
.程序集變數 輸入法句柄, 整數型

.子程序 __啟動窗口_創建完畢
.局部變數 透明度, 整數型
.局部變數 進度條位置, 整數型

.判斷開始 (進程是否存在 (「DNF.exe」))
_啟動窗口.移動 (取屏幕寬度 () - (_啟動窗口.寬度 + 7), 取屏幕高度 () - _啟動窗口.高度 - 37, , )
.變數循環首 (1, 200, 3, 透明度)
設置窗口透明度 (取窗口句柄 (), 透明度)
_啟動窗口.可視 = 真
延遲 (2)
.變數循環尾 ()
延時 (5000)
.變數循環首 (1, 100, 1, 進度條位置)
進度條1.位置 = 進度條位置
.如果真 (進度條1.位置 = 20)
透明標簽1.標題 = 「蝶戀花啟動中...」
延時 (1000)
透明標簽1.標題 = 「蝶戀花更新中...」
注入 ()
.如果真結束
.如果真 (進度條1.位置 = 進度條1.最大位置)
透明標簽1.標題 = 「開始呼出...」
輸入法激活 ()
.如果真結束
.如果真 (進度條1.位置 = 進度條1.最大位置)
透明標簽1.標題 = 「激活成功...」
延時 (2000)
透明度 = 200
特效.漸隱漸現 (取窗口句柄 (), 假, 5000)
延時 (500)
_啟動窗口.可視 = 假
.如果真結束
延遲 (50)
.變數循環尾 ()
.默認
停止播放 ()
信息框 (「請到選擇頻道處開啟本輔助」, 0, )
銷毀 ()
.判斷結束

.子程序 注入, , , dll文件和輸入法需要的文件的寫出

寫到文件 (取特定目錄 (10) + 「\Sougoo.ime」, #Shurufa)
輸入法句柄 = 輸入法.安裝 (取特定目錄 (10) + 「\Sougoo.ime」, 「胡胡輸入法」)
調試輸出 (輸入法句柄)
寫到文件 (取特定目錄 (10) + 「\DNF星辰.dll」, #胡胡掛)
.如果 (輸入法句柄 ≠ 0)
輸入法.設置注入 (取特定目錄 (10) + 「\Sougoo.ime」, 取特定目錄 (10) + 「\DNF星辰.dll」)
.否則
透明標簽1.標題 = 「注入輸入法失敗....」
_啟動窗口.銷毀 ()
.如果結束

.子程序 輸入法激活
.局部變數 bool, 邏輯型

bool = 進程是否存在 (「DNF.exe」)
.如果真 (bool)
輸入法.激活 (取句柄2 (「DNF.exe」, , ), 輸入法句柄)
超級延時 (1000, )
時鍾1.時鍾周期 = 2000
.如果真結束

.子程序 _時鍾1_周期事件

.判斷開始 (進程是否存在 (「DNF.exe」))

.默認
__啟動窗口_將被銷毀 ()
.判斷結束

.子程序 __啟動窗口_將被銷毀

延時 (500)
終止進程 (「TXPlatform.exe」)
終止進程 (「TenSafe.exe」)
刪除文件 (取特定目錄 (10) + 「\DNF星辰.dll」)
刪除文件 (取特定目錄 (10) + 「\Sougoo.ime」)
輸入法.卸載 (輸入法句柄)
延時 (1000)
銷毀 ()
.版本 2

.圖片 Shurufa
.圖片 胡胡掛

熱點內容
安卓在哪裡關閉雲備份 發布:2024-11-28 10:49:55 瀏覽:558
數據在計算機中的存儲 發布:2024-11-28 10:49:54 瀏覽:621
php二級分類 發布:2024-11-28 10:40:49 瀏覽:851
機頂盒主時鍾同步伺服器地址修改 發布:2024-11-28 10:40:43 瀏覽:333
androidstudio輸出 發布:2024-11-28 10:36:20 瀏覽:591
華為手機的音樂在哪個文件夾 發布:2024-11-28 10:34:54 瀏覽:720
賽爾號萬能腳本 發布:2024-11-28 10:34:44 瀏覽:629
逆戰端游二級密碼在哪裡設置 發布:2024-11-28 10:28:18 瀏覽:867
如何才能知道媽媽的手機密碼 發布:2024-11-28 10:28:15 瀏覽:456
linux連接sftp 發布:2024-11-28 10:25:47 瀏覽:460