易語言HOSTS式反釣魚攔截源碼
更新時間:2018年12月04日 10:18:22 作者:易語言源碼貝貝吧
今天小編就為大家分享一篇關(guān)于易語言HOSTS式反釣魚攔截源碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
HOSTS式釣魚攔截源碼
利用HOSTS來攔截SMTP,再次提醒搭建小心釣魚軟件,對于未知的程序盡量在虛擬機里使用
.版本 2
.支持庫 shell
.程序集 窗口程序集1
.程序集變量 IP, 文本型
.程序集變量 host路徑, 文本型
.程序集變量 原h(huán)osts是否存在, 邏輯型
.程序集變量 客戶, 文本型
.程序集變量 是否為賬號, 邏輯型
.程序集變量 是否為密碼, 邏輯型
.程序集變量 賬號, 文本型
.程序集變量 密碼, 文本型
.子程序 列表框_加入提示
.參數(shù) 提示, 文本型
列表框_狀態(tài).加入項目 (提示, )
列表框_狀態(tài).現(xiàn)行選中項 = 列表框_狀態(tài).取項目數(shù) () - 1
處理事件 ()
.子程序 _按鈕_監(jiān)聽_被單擊
IP = “”
原h(huán)osts是否存在 = 真
賬號 = “”
密碼 = “”
是否為賬號 = 假
是否為密碼 = 假
連續(xù)賦值 (真, 編輯框_服務器端口.禁止, 編輯框_服務器地址.禁止, 單選框1.禁止, 單選框2.禁止)
列表框_狀態(tài).清空 ()
處理事件 ()
列表框_加入提示 (“正在訪問網(wǎng)絡獲取指定郵箱服務器的IP地址...”)
IP = 轉(zhuǎn)換為IP地址 (編輯框_服務器地址.內(nèi)容)
.如果真 (IP = “”)
列表框_加入提示 (“查詢IP失?。≌垯z查郵箱服務器地址拼寫?!?
返回 ()
.如果真結(jié)束
列表框_加入提示 (“查詢結(jié)果: 地址[” + 編輯框_服務器地址.內(nèi)容 + “]對應IP地址[” + IP + “]”)
host路徑 = 取特定目錄 (#Windows系統(tǒng)目錄) + “Drivers\etc\hosts”
' 備份原h(huán)osts文件
列表框_加入提示 (“正在備份原h(huán)osts文件...”)
.如果真 (復制文件 (host路徑, “.\hosts.bak”) = 假)
原h(huán)osts是否存在 = 假
.如果真結(jié)束
列表框_加入提示 (“正在修改hosts文件...”)
.如果真 (寫到文件 (host路徑, 到字節(jié)集 (“127.0.0.1 ” + 編輯框_服務器地址.內(nèi)容 + #換行符)) = 假)
列表框_加入提示 (“hosts文件修改失??!請使用管理員身份運行,并且不要攔截。”)
返回 ()
.如果真結(jié)束
服務器1.端口 = 到整數(shù) (編輯框_服務器端口.內(nèi)容)
列表框_加入提示 (“已開始監(jiān)控...請務必關(guān)閉監(jiān)控后再退出本工具,以便還原h(huán)osts”)
按鈕_監(jiān)聽.禁止 = 真
按鈕_終止.禁止 = 假
.子程序 __啟動窗口_可否被關(guān)閉, 邏輯型
.如果真 (按鈕_監(jiān)聽.禁止 = 真)
信息框 (“請先關(guān)閉監(jiān)控在退出軟件!否則無法還原備份的hosts文件!”, 0, )
返回 (假)
.如果真結(jié)束
返回 (真)
.子程序 _按鈕_終止_被單擊
服務器1.端口 = 0
列表框_狀態(tài).清空 ()
列表框_狀態(tài).加入項目 (“正在還原被修改的hosts文件...”, )
.如果 (原h(huán)osts是否存在 = 假)
.如果真 (刪除文件 (host路徑) = 假)
列表框_狀態(tài).加入項目 (“還原h(huán)osts失??!請不要用殺毒軟件攔截。”, )
返回 ()
.如果真結(jié)束
.否則
.如果真 (寫到文件 (host路徑, 讀入文件 (“.\hosts”)) = 假)
列表框_狀態(tài).加入項目 (“還原h(huán)osts失??!請不要用殺毒軟件攔截?!? )
返回 ()
.如果真結(jié)束
.如果結(jié)束
列表框_加入提示 (“監(jiān)控已關(guān)閉!”)
按鈕_終止.禁止 = 真
按鈕_監(jiān)聽.禁止 = 假
連續(xù)賦值 (假, 編輯框_服務器端口.禁止, 編輯框_服務器地址.禁止, 單選框1.禁止, 單選框2.禁止)
.子程序 __啟動窗口_創(chuàng)建完畢
服務器1.端口 = 0
.子程序 _服務器1_客戶進入
客戶 = 服務器1.取回客戶 ()
列表框_加入提示 (“客戶進入:” + 客戶)
.如果真 (單選框2.選中 = 真)
服務器1.發(fā)送數(shù)據(jù) (客戶, “220 smtp.qq.com Esmtp QQ Mail Server” + #換行符, )
返回 ()
.如果真結(jié)束
客戶1.連接 (IP, 到整數(shù) (編輯框_服務器端口.內(nèi)容))
.子程序 _服務器1_客戶離開
客戶 = 服務器1.取回客戶 ()
列表框_加入提示 (“客戶離開:” + 客戶)
客戶1.斷開連接 ()
_按鈕_重置_被單擊 ()
.子程序 _服務器1_數(shù)據(jù)到達
.局部變量 數(shù)據(jù), 字節(jié)集
.局部變量 不輸出列表, 邏輯型
數(shù)據(jù) = 服務器1.取回數(shù)據(jù) ()
.如果真 (單選框2.選中 = 真)
' 如果是這樣則當本軟件為虛擬SMTP服務器,返回數(shù)據(jù)給釣魚軟件騙取密碼
列表框_加入提示 (“發(fā)送數(shù)據(jù):” + 到文本 (數(shù)據(jù)))
.如果真 (尋找字節(jié)集 (數(shù)據(jù), 到字節(jié)集 (“HELO”), ) ≠ -1 或 尋找字節(jié)集 (數(shù)據(jù), 到字節(jié)集 (“EHLO”), ) ≠ -1)
服務器1.發(fā)送數(shù)據(jù) (客戶, “250-smtp.qq.com” + #換行符 + “250-PIPELINING” + #換行符 + “250-SIZE 52428800” + #換行符 + “250-AUTH LOGIN PLAIN” + #換行符 + “250-AUTH=LOGIN” + #換行符 + “250-MAILCOMPRESS” + #換行符 + “250 8BITMIME” + #換行符, )
列表框_加入提示 (“返回數(shù)據(jù):250-smtp.qq.com250-PIPELINING250-SIZE 5242880”)
返回 ()
.如果真結(jié)束
.如果真 (數(shù)據(jù) = 到字節(jié)集 (“AUTH LOGIN” + #換行符))
服務器1.發(fā)送數(shù)據(jù) (客戶, “334 VXNlcm5hbWU6” + #換行符, )
列表框_加入提示 (“返回數(shù)據(jù):334 VXNlcm5hbWU6”)
是否為賬號 = 真
返回 ()
.如果真結(jié)束
.如果真 (是否為賬號 = 真)
服務器1.發(fā)送數(shù)據(jù) (客戶, “334 UGFzc3dvcmQ6” + #換行符, )
列表框_加入提示 (“返回數(shù)據(jù):334 UGFzc3dvcmQ6”)
賬號 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù))))
列表框_加入提示 (“攔截到賬號:” + 賬號)
是否為賬號 = 假
是否為密碼 = 真
返回 ()
.如果真結(jié)束
.如果真 (是否為密碼 = 真)
服務器1.發(fā)送數(shù)據(jù) (客戶, “235 Authentication successful” + #換行符, )
列表框_加入提示 (“返回數(shù)據(jù):235 Authentication successful”)
密碼 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù))))
列表框_加入提示 (“攔截到密碼:” + 密碼)
是否為密碼 = 假
返回 ()
.如果真結(jié)束
.如果真 (數(shù)據(jù) = 到字節(jié)集 (“QUIT” + #換行符))
服務器1.斷開客戶 (客戶)
返回 ()
.如果真結(jié)束
.如果真結(jié)束
.如果真 (是否為密碼 = 真)
' 說明這次攔截的數(shù)據(jù)是郵箱密碼
密碼 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù))))
列表框_加入提示 (“攔截到密碼:” + 密碼)
是否為密碼 = 假
不輸出列表 = 真
.如果真結(jié)束
.如果真 (是否為賬號 = 真)
賬號 = 到文本 (BASE64解碼 (到文本 (數(shù)據(jù))))
列表框_加入提示 (“攔截到賬號:” + 賬號)
是否為賬號 = 假
是否為密碼 = 真
不輸出列表 = 真
.如果真結(jié)束
.如果真 (不輸出列表 = 假)
列表框_加入提示 (“發(fā)送數(shù)據(jù):” + 到文本 (數(shù)據(jù)))
.如果真結(jié)束
.如果真 (數(shù)據(jù) = 到字節(jié)集 (“AUTH LOGIN” + #換行符))
' 這意味著攔截到AUTH LOGIN
是否為賬號 = 真
.如果真結(jié)束
客戶1.發(fā)送數(shù)據(jù) (數(shù)據(jù))
.子程序 BASE64解碼, 字節(jié)集
.參數(shù) 編碼文本, 文本型, 參考
.局部變量 文本長度
.局部變量 整倍數(shù)
.局部變量 三字節(jié)組, 字節(jié)型, , "3"
.局部變量 四字節(jié)組, 字節(jié)型, , "4"
.局部變量 編碼值
.局部變量 X
.局部變量 n
.局部變量 二進制數(shù)據(jù), 字節(jié)集
.局部變量 指針
.局部變量 字節(jié)數(shù)組, 字節(jié)型, , "0"
編碼文本 = 刪全部空 (編碼文本)
編碼文本 = 子文本替換 (編碼文本, #換行符, , , , 真)
文本長度 = 取文本長度 (編碼文本)
整倍數(shù) = 文本長度 \ 4
.如果真 (文本長度 % 4 ≠ 0)
整倍數(shù) = 整倍數(shù) + 1
.如果真結(jié)束
重定義數(shù)組 (字節(jié)數(shù)組, 假, 整倍數(shù) × 3) ' 開辟緩沖區(qū)大小
指針 = 1
.計次循環(huán)首 (整倍數(shù), X)
.計次循環(huán)首 (4, n)
四字節(jié)組 [n] = 取代碼 (編碼文本, (X - 1) × 4 + n)
編碼值 = 尋找文本 (“ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/”, 字符 (四字節(jié)組 [n]), , 假)
.如果真 (編碼值 = -1)
跳出循環(huán) ()
.如果真結(jié)束
四字節(jié)組 [n] = 編碼值 - 1
.計次循環(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
.計次循環(huán)尾 ()
二進制數(shù)據(jù) = 到字節(jié)集 (字節(jié)數(shù)組)
.如果真 (n < 5) ' 最后一組4字符是提前退出的,截取字節(jié)集
n = 5 - n
二進制數(shù)據(jù) = 取字節(jié)集左邊 (二進制數(shù)據(jù), 取字節(jié)集長度 (二進制數(shù)據(jù)) - n)
.如果真結(jié)束
返回 (二進制數(shù)據(jù))
.子程序 _客戶1_連接斷開
服務器1.斷開客戶 (客戶)
列表框_加入提示 (“客戶被強制離開?!?
.子程序 _客戶1_數(shù)據(jù)到達
.局部變量 數(shù)據(jù), 字節(jié)集
數(shù)據(jù) = 客戶1.取回數(shù)據(jù) ()
服務器1.發(fā)送數(shù)據(jù) (客戶, 數(shù)據(jù), )
列表框_加入提示 (“返回數(shù)據(jù):” + 到文本 (數(shù)據(jù)))
.子程序 _按鈕_結(jié)果_被單擊
.局部變量 輸出文本, 文本型
輸出文本 = “賬號:”
.如果 (賬號 = “”)
輸出文本 = 輸出文本 + “未攔截到”
.否則
輸出文本 = 輸出文本 + 賬號
.如果結(jié)束
輸出文本 = 輸出文本 + #換行符 + “密碼:”
.如果 (密碼 = “”)
輸出文本 = 輸出文本 + “未攔截到”
.否則
輸出文本 = 輸出文本 + 密碼
.如果結(jié)束
信息框 (輸出文本, 0, )
.子程序 _按鈕_重置_被單擊
是否為賬號 = 假
是否為密碼 = 假
列表框_加入提示 (“重置完畢?!?
運行結(jié)果:

總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
您可能感興趣的文章:
- 易語言制作英雄聯(lián)盟輔助的源碼
- 易語言送你999朵玫瑰花源碼
- 易語言高精度完美延時的源碼
- 易語言關(guān)于程序進程和線程的基礎知識
- 易語言制作王校長吃熱狗游戲的源碼
- 易語言調(diào)用接口來實現(xiàn)機器人聊天的功能
- 易語言制作歡樂斗牛單機版游戲源碼
- 易語言實現(xiàn)QQ全自動批量點贊功能
- 易語言用畫板制作圍貓游戲的源碼
- 易語言制作酷狗付費音樂解析下載工具
- 易語言破解WPS的VIP模版下載地址
- 易語言修改軟件版權(quán)信息的工具
- 易語言QQ群發(fā)支持圖片文字數(shù)據(jù)一起發(fā)送的工具
- 易語言使用動畫框做消除游戲的代碼
- 易語言調(diào)用接口查看QQ各項資料的代碼
相關(guān)文章
易語言數(shù)據(jù)庫“全部關(guān)閉”命令詳解
在本篇文章里小編給大家整理的是關(guān)于易語言數(shù)據(jù)庫“全部關(guān)閉”命令詳解內(nèi)容,有需要的朋友們可以參考下。2020-03-03
易語言調(diào)用SetClipboardViewer的api實現(xiàn)剪貼版的內(nèi)容監(jiān)控
今天小編就為大家分享一篇關(guān)于易語言調(diào)用SetClipboardViewer的api實現(xiàn)剪貼版的內(nèi)容監(jiān)控,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-11-11
易語言使用變量循環(huán)首命令顯示0到50之間所有偶數(shù)的代碼
今天小編就為大家分享一篇關(guān)于易語言使用變量循環(huán)首命令顯示0到50之間所有偶數(shù)的代碼,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2018-11-11

