特徵碼免殺

    特徵碼免殺就是修改病毒文件的內容,從而躲過殺毒軟件根據特徵碼的查殺。

    特徵碼免殺要根據殺毒軟件定位到的病毒的特徵碼來進行有針對性的修改,如果胡亂修改,有可能造成病毒體遭到破壞,失去原有的作用。

    常用的特徵碼修改的方法有(1)16進制差1  (2)大小寫切換  (3)相同命令替換  (4)特徵碼移位  (5)通用跳轉等。

    16進制差1,大小寫切換就不說了。相同命令替換就是將原有的彙編命令替換爲功能相同的其他的命令。特徵碼移位就是將這處特徵碼移到別的地方或者將相鄰兩個命令替換,然後可能還要通過工具修改文件,來定位到這個特徵碼。通用跳轉通過 jmp 命令來實現跳轉,通常是改變入口點時用到,或者是在特徵碼的地方用 jmp 跳到別的地方,然後再跳回來(在 OD 中修改完成後,然後右鍵選擇複製到可執行文件,所有修改,最後保存文件)。

    修改入口點時有 入口點加1和 入口點移位。入口點加1就是用 LordPE 來將他的入口點加上 1 。入口點移位就是將它的入口點的前幾句話移到別的地方(零區域),然後通過 jmp 跳到原有的地方繼續執行,最後通過 LordPE 修改爲新的入口點。

    可以用 Restorator 來增加病毒的版本、數字簽名,躲過一些殺毒軟件的查殺。

    修改相關的輸入表。輸入表是病毒調用的一些系統函數(dll),方法有函數指針移位,函數指針換位,重建輸入表,  加空格法、NOP,     修改OriginalFirstThunk、日期時間標誌、ForwarderChain    ,輸入表加密等。函數指針移位、函數指針換位就不說了。重建輸入表就是刪去原來的輸入表,然後重建一個輸入表。還可在LordPE中修改OriginalFirstThunk、日期時間標誌、ForwarderChain等。可以用一些輸入表加密工具將輸入表加密。

    ASCII相關免殺(函數ASCII字符),有ASCII字符串手工移位,ASCII字符串手工填充和替換,ASCII碼內存動態恢復,ASCII碼XOR加密、解密。ASCII字符串手工移位要注意移位後在 LordPE 中修改函數的地址。ASCII字符串手工填充和替換就是替換兩個 ASCII 字符串的位置,同樣要注意修改地址。ASCII碼內存動態恢復就是將原有的字符刪除,然後再程序運行中將字符寫入原有地址處,可以用 dword 一次寫入四個字節,word一次寫入兩個字節。動態恢復時可以用jmp跳轉到恢復字符的區域,再跳回來,也可以用call來跳轉。ASCII碼XOR加密、解密用兩次xor來恢復原有字符。

    添加花指令。有直接加花,去頭加花,加區加花,SEH異常結合花指令,加殼加花等。直接加花就是直接將花指令寫入程序,設置爲入口點。去頭加花就是將原入口點的前幾句話移到別的地方。添加上花指令,然後再跳回原來的地方執行。加區加花就是用一個加區工具給文件新加上一個區段,然後再這個區段中寫入我們的花指令。

   還有各種加殼,加上殼之後根據殼的特性在改一下,還可以再加上另一個殼。套多重殼時要注意殼的兼容性是不是能加,加殼的順序不同時結果也可能不同。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章