“病毒免疫器”用于給可執(zhí)行文件增加一個病毒免疫頭,當(dāng)文件被非法修改后,允許自動進(jìn)行文件修復(fù)。
軟件支持大量的自定義動作和提示信息,支持注冊表查詢功能,可供軟件開發(fā)人員使用,也可供一般用戶使用。
工作原理
1) 使用病毒免疫器在可執(zhí)行文件中增加一個新的代碼節(jié)(Section),新節(jié)中除了文件檢驗代碼,還保存了原始文件的CRC32校驗值、原代碼入口、原文件長度及附加參數(shù)等數(shù)據(jù)。
2) 通過修改程序PE頭,使程序在執(zhí)行時先執(zhí)行免疫頭代碼,如果免疫時設(shè)置了檢查注冊表功能,免疫頭先查詢注冊表確定是否進(jìn)行文件校驗。如果允許檢驗,打開程序文件,先比較長度,再計算文件CRC32值,使用CRC32校驗可以保
證,如果運(yùn)行的程序和免疫時的程序有任何一bit不同,校驗結(jié)果都不相同。
3) 如果檢驗通過,且免疫時選擇了允許自動修復(fù),免疫頭自動根據(jù)用戶免疫時指定的路徑和文件名產(chǎn)生程序備份文件,備份文件內(nèi)也帶有CRC32校驗數(shù)據(jù)。
4) 如果檢驗失敗,根據(jù)設(shè)置進(jìn)行自動修復(fù)或提示錯誤退出。在對備份文件進(jìn)行CRC32校驗通過后,自動修復(fù)功能首先在系統(tǒng)臨時目錄中產(chǎn)生一個僅3K的自動修復(fù)程序,以程序名和備份文件名做參數(shù),運(yùn)行該修復(fù)程序,修復(fù)程序自動
用備份文件中的數(shù)據(jù)恢復(fù)應(yīng)用程序,實現(xiàn)自修復(fù)。修復(fù)工具在下一次運(yùn)行程序時自動刪除。
5) 如果校驗正�;虿荒苄迯�(fù)或用戶選擇了繼續(xù)執(zhí)行,則跳到原程序啟動代碼運(yùn)行。
軟件說明
1) 在理論上,使用本工具可以檢測任何對應(yīng)用程序的非法修改,可以發(fā)現(xiàn)未知病毒。但如果新的病毒針對這個工具寫了特別的代碼,免疫頭可能會失效。
2) 用戶在免疫設(shè)置時輸入的信息經(jīng)過xor加密保存在應(yīng)用程序中,這些信息也是受CRC32校驗保護(hù)的(文件中每一個字節(jié)除了原始校驗值都受CRC32保護(hù))。
3) 作者不建議軟件開發(fā)人員使用這個工具來防止軟件被破解,在有經(jīng)驗的Cracker眼里,這個免疫頭的防護(hù)力是脆弱的。
4) 這個工具是免費開放源碼的,感興趣的朋友可以到作者的主頁下載或向作者索取它的源碼,編寫自己的保護(hù)程序。
5) 軟件不支持自解壓文件、安裝程序文件、Flash動畫程序等特殊程序,請在免疫后對軟件測試以避免異常錯誤。
6) 程序暫不提供取消免疫功能,有經(jīng)驗的程序員在看完源碼后可自行編寫功能代碼。