這篇文章給大家分享的是有關(guān)易語(yǔ)言如何實(shí)現(xiàn)HOSTS式反釣魚(yú)攔截的內(nèi)容。小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。
固鎮(zhèn)網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián)公司,固鎮(zhèn)網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為固鎮(zhèn)千余家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)營(yíng)銷網(wǎng)站建設(shè)要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的固鎮(zhèn)做網(wǎng)站的公司定做!
HOSTS式釣魚(yú)攔截源碼
利用HOSTS來(lái)攔截SMTP,再次提醒搭建小心釣魚(yú)軟件,對(duì)于未知的程序盡量在虛擬機(jī)里使用
.版本 2 .支持庫(kù) shell .程序集 窗口程序集1 .程序集變量 IP, 文本型 .程序集變量 host路徑, 文本型 .程序集變量 原h(huán)osts是否存在, 邏輯型 .程序集變量 客戶, 文本型 .程序集變量 是否為賬號(hào), 邏輯型 .程序集變量 是否為密碼, 邏輯型 .程序集變量 賬號(hào), 文本型 .程序集變量 密碼, 文本型 .子程序 列表框_加入提示 .參數(shù) 提示, 文本型 列表框_狀態(tài).加入項(xiàng)目 (提示, ) 列表框_狀態(tài).現(xiàn)行選中項(xiàng) = 列表框_狀態(tài).取項(xiàng)目數(shù) () - 1 處理事件 () .子程序 _按鈕_監(jiān)聽(tīng)_被單擊 IP = “” 原h(huán)osts是否存在 = 真 賬號(hào) = “” 密碼 = “” 是否為賬號(hào) = 假 是否為密碼 = 假 連續(xù)賦值 (真, 編輯框_服務(wù)器端口.禁止, 編輯框_服務(wù)器地址.禁止, 單選框1.禁止, 單選框2.禁止) 列表框_狀態(tài).清空 () 處理事件 () 列表框_加入提示 (“正在訪問(wèn)網(wǎng)絡(luò)獲取指定郵箱服務(wù)器的IP地址...”) IP = 轉(zhuǎn)換為IP地址 (編輯框_服務(wù)器地址.內(nèi)容) .如果真 (IP = “”) 列表框_加入提示 (“查詢IP失??!請(qǐng)檢查郵箱服務(wù)器地址拼寫(xiě)。”) 返回 () .如果真結(jié)束 列表框_加入提示 (“查詢結(jié)果: 地址[” + 編輯框_服務(wù)器地址.內(nèi)容 + “]對(duì)應(yīng)IP地址[” + IP + “]”) host路徑 = 取特定目錄 (#Windows系統(tǒng)目錄) + “Drivers\etc\hosts” ' 備份原h(huán)osts文件 列表框_加入提示 (“正在備份原h(huán)osts文件...”) .如果真 (復(fù)制文件 (host路徑, “.\hosts.bak”) = 假) 原h(huán)osts是否存在 = 假 .如果真結(jié)束 列表框_加入提示 (“正在修改hosts文件...”) .如果真 (寫(xiě)到文件 (host路徑, 到字節(jié)集 (“127.0.0.1 ” + 編輯框_服務(wù)器地址.內(nèi)容 + #換行符)) = 假) 列表框_加入提示 (“hosts文件修改失??!請(qǐng)使用管理員身份運(yùn)行,并且不要攔截?!? 返回 () .如果真結(jié)束 服務(wù)器1.端口 = 到整數(shù) (編輯框_服務(wù)器端口.內(nèi)容) 列表框_加入提示 (“已開(kāi)始監(jiān)控...請(qǐng)務(wù)必關(guān)閉監(jiān)控后再退出本工具,以便還原h(huán)osts”) 按鈕_監(jiān)聽(tīng).禁止 = 真 按鈕_終止.禁止 = 假 .子程序 __啟動(dòng)窗口_可否被關(guān)閉, 邏輯型 .如果真 (按鈕_監(jiān)聽(tīng).禁止 = 真) 信息框 (“請(qǐng)先關(guān)閉監(jiān)控在退出軟件!否則無(wú)法還原備份的hosts文件!”, 0, ) 返回 (假) .如果真結(jié)束 返回 (真) .子程序 _按鈕_終止_被單擊 服務(wù)器1.端口 = 0 列表框_狀態(tài).清空 () 列表框_狀態(tài).加入項(xiàng)目 (“正在還原被修改的hosts文件...”, ) .如果 (原h(huán)osts是否存在 = 假) .如果真 (刪除文件 (host路徑) = 假) 列表框_狀態(tài).加入項(xiàng)目 (“還原h(huán)osts失??!請(qǐng)不要用殺毒軟件攔截?!? ) 返回 () .如果真結(jié)束 .否則 .如果真 (寫(xiě)到文件 (host路徑, 讀入文件 (“.\hosts”)) = 假) 列表框_狀態(tài).加入項(xiàng)目 (“還原h(huán)osts失??!請(qǐng)不要用殺毒軟件攔截?!? ) 返回 () .如果真結(jié)束 .如果結(jié)束 列表框_加入提示 (“監(jiān)控已關(guān)閉!”) 按鈕_終止.禁止 = 真 按鈕_監(jiān)聽(tīng).禁止 = 假 連續(xù)賦值 (假, 編輯框_服務(wù)器端口.禁止, 編輯框_服務(wù)器地址.禁止, 單選框1.禁止, 單選框2.禁止) .子程序 __啟動(dòng)窗口_創(chuàng)建完畢 服務(wù)器1.端口 = 0 .子程序 _服務(wù)器1_客戶進(jìn)入 客戶 = 服務(wù)器1.取回客戶 () 列表框_加入提示 (“客戶進(jìn)入:” + 客戶) .如果真 (單選框2.選中 = 真) 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, “220 smtp.qq.com Esmtp QQ Mail Server” + #換行符, ) 返回 () .如果真結(jié)束 客戶1.連接 (IP, 到整數(shù) (編輯框_服務(wù)器端口.內(nèi)容)) .子程序 _服務(wù)器1_客戶離開(kāi) 客戶 = 服務(wù)器1.取回客戶 () 列表框_加入提示 (“客戶離開(kāi):” + 客戶) 客戶1.斷開(kāi)連接 () _按鈕_重置_被單擊 () .子程序 _服務(wù)器1_數(shù)據(jù)到達(dá) .局部變量 數(shù)據(jù), 字節(jié)集 .局部變量 不輸出列表, 邏輯型 數(shù)據(jù) = 服務(wù)器1.取回?cái)?shù)據(jù) () .如果真 (單選框2.選中 = 真) ' 如果是這樣則當(dāng)本軟件為虛擬SMTP服務(wù)器,返回?cái)?shù)據(jù)給釣魚(yú)軟件騙取密碼 列表框_加入提示 (“發(fā)送數(shù)據(jù):” + 到文本 (數(shù)據(jù))) .如果真 (尋找字節(jié)集 (數(shù)據(jù), 到字節(jié)集 (“HELO”), ) ≠ -1 或 尋找字節(jié)集 (數(shù)據(jù), 到字節(jié)集 (“EHLO”), ) ≠ -1) 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, “250-smtp.qq.com” + #換行符 + “250-PIPELINING” + #換行符 + “250-SIZE 52428800” + #換行符 + “250-AUTH LOGIN PLAIN” + #換行符 + “250-AUTH=LOGIN” + #換行符 + “250-MAILCOMPRESS” + #換行符 + “250 8BITMIME” + #換行符, ) 列表框_加入提示 (“返回?cái)?shù)據(jù):250-smtp.qq.com250-PIPELINING250-SIZE 5242880”) 返回 () .如果真結(jié)束 .如果真 (數(shù)據(jù) = 到字節(jié)集 (“AUTH LOGIN” + #換行符)) 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, “334 VXNlcm5hbWU6” + #換行符, ) 列表框_加入提示 (“返回?cái)?shù)據(jù):334 VXNlcm5hbWU6”) 是否為賬號(hào) = 真 返回 () .如果真結(jié)束 .如果真 (是否為賬號(hào) = 真) 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, “334 UGFzc3dvcmQ6” + #換行符, ) 列表框_加入提示 (“返回?cái)?shù)據(jù):334 UGFzc3dvcmQ6”) 賬號(hào) = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù)))) 列表框_加入提示 (“攔截到賬號(hào):” + 賬號(hào)) 是否為賬號(hào) = 假 是否為密碼 = 真 返回 () .如果真結(jié)束 .如果真 (是否為密碼 = 真) 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, “235 Authentication successful” + #換行符, ) 列表框_加入提示 (“返回?cái)?shù)據(jù):235 Authentication successful”) 密碼 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù)))) 列表框_加入提示 (“攔截到密碼:” + 密碼) 是否為密碼 = 假 返回 () .如果真結(jié)束 .如果真 (數(shù)據(jù) = 到字節(jié)集 (“QUIT” + #換行符)) 服務(wù)器1.斷開(kāi)客戶 (客戶) 返回 () .如果真結(jié)束 .如果真結(jié)束 .如果真 (是否為密碼 = 真) ' 說(shuō)明這次攔截的數(shù)據(jù)是郵箱密碼 密碼 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù)))) 列表框_加入提示 (“攔截到密碼:” + 密碼) 是否為密碼 = 假 不輸出列表 = 真 .如果真結(jié)束 .如果真 (是否為賬號(hào) = 真) 賬號(hào) = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù)))) 列表框_加入提示 (“攔截到賬號(hào):” + 賬號(hào)) 是否為賬號(hào) = 假 是否為密碼 = 真 不輸出列表 = 真 .如果真結(jié)束 .如果真 (不輸出列表 = 假) 列表框_加入提示 (“發(fā)送數(shù)據(jù):” + 到文本 (數(shù)據(jù))) .如果真結(jié)束 .如果真 (數(shù)據(jù) = 到字節(jié)集 (“AUTH LOGIN” + #換行符)) ' 這意味著攔截到AUTH LOGIN 是否為賬號(hào) = 真 .如果真結(jié)束 客戶1.發(fā)送數(shù)據(jù) (數(shù)據(jù)) .子程序 BASE64解碼, 字節(jié)集 .參數(shù) 編碼文本, 文本型, 參考 .局部變量 文本長(zhǎng)度 .局部變量 整倍數(shù) .局部變量 三字節(jié)組, 字節(jié)型, , "3" .局部變量 四字節(jié)組, 字節(jié)型, , "4" .局部變量 編碼值 .局部變量 X .局部變量 n .局部變量 二進(jìn)制數(shù)據(jù), 字節(jié)集 .局部變量 指針 .局部變量 字節(jié)數(shù)組, 字節(jié)型, , "0" 編碼文本 = 刪全部空 (編碼文本) 編碼文本 = 子文本替換 (編碼文本, #換行符, , , , 真) 文本長(zhǎng)度 = 取文本長(zhǎng)度 (編碼文本) 整倍數(shù) = 文本長(zhǎng)度 \ 4 .如果真 (文本長(zhǎng)度 % 4 ≠ 0) 整倍數(shù) = 整倍數(shù) + 1 .如果真結(jié)束 重定義數(shù)組 (字節(jié)數(shù)組, 假, 整倍數(shù) × 3) ' 開(kāi)辟緩沖區(qū)大小 指針 = 1 .計(jì)次循環(huán)首 (整倍數(shù), X) .計(jì)次循環(huán)首 (4, n) 四字節(jié)組 [n] = 取代碼 (編碼文本, (X - 1) × 4 + n) 編碼值 = 尋找文本 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”, 字符 (四字節(jié)組 [n]), , 假) .如果真 (編碼值 = -1) 跳出循環(huán) () .如果真結(jié)束 四字節(jié)組 [n] = 編碼值 - 1 .計(jì)次循環(huán)尾 () 字節(jié)數(shù)組 [指針] = 位或 (四字節(jié)組 [1] × 4, 四字節(jié)組 [2] ÷ 16) 字節(jié)數(shù)組 [指針 + 1] = 位或 (四字節(jié)組 [2] × 16, 四字節(jié)組 [3] ÷ 4) 字節(jié)數(shù)組 [指針 + 2] = 位或 (四字節(jié)組 [3] × 64, 四字節(jié)組 [4]) 指針 = 指針 + 3 .計(jì)次循環(huán)尾 () 二進(jìn)制數(shù)據(jù) = 到字節(jié)集 (字節(jié)數(shù)組) .如果真 (n < 5) ' 最后一組4字符是提前退出的,截取字節(jié)集 n = 5 - n 二進(jìn)制數(shù)據(jù) = 取字節(jié)集左邊 (二進(jìn)制數(shù)據(jù), 取字節(jié)集長(zhǎng)度 (二進(jìn)制數(shù)據(jù)) - n) .如果真結(jié)束 返回 (二進(jìn)制數(shù)據(jù)) .子程序 _客戶1_連接斷開(kāi) 服務(wù)器1.斷開(kāi)客戶 (客戶) 列表框_加入提示 (“客戶被強(qiáng)制離開(kāi)。”) .子程序 _客戶1_數(shù)據(jù)到達(dá) .局部變量 數(shù)據(jù), 字節(jié)集 數(shù)據(jù) = 客戶1.取回?cái)?shù)據(jù) () 服務(wù)器1.發(fā)送數(shù)據(jù) (客戶, 數(shù)據(jù), ) 列表框_加入提示 (“返回?cái)?shù)據(jù):” + 到文本 (數(shù)據(jù))) .子程序 _按鈕_結(jié)果_被單擊 .局部變量 輸出文本, 文本型 輸出文本 = “賬號(hào):” .如果 (賬號(hào) = “”) 輸出文本 = 輸出文本 + “未攔截到” .否則 輸出文本 = 輸出文本 + 賬號(hào) .如果結(jié)束 輸出文本 = 輸出文本 + #換行符 + “密碼:” .如果 (密碼 = “”) 輸出文本 = 輸出文本 + “未攔截到” .否則 輸出文本 = 輸出文本 + 密碼 .如果結(jié)束 信息框 (輸出文本, 0, ) .子程序 _按鈕_重置_被單擊 是否為賬號(hào) = 假 是否為密碼 = 假 列表框_加入提示 (“重置完畢。”)
運(yùn)行結(jié)果:
感謝各位的閱讀!關(guān)于“易語(yǔ)言如何實(shí)現(xiàn)HOSTS式反釣魚(yú)攔截”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!