天天看點

[系統安全4]殼在免殺中的應用

6.1 殼的基礎知識

程式運作流程

未加殼程式流程

  • 原程式 -> 加載到記憶體中 -> 順利執行

加殼程式流程

  • 加殼程式 -> 加密的原程式讀取到記憶體 -> 解密并釋放 -> 原程式加載到記憶體中 -> 順利執行

殼的運作過程

  • 加載API函數
  • 解密區段
  • 進行代碼重定位
  • 轉到入口點

6.2 殼在免殺領域的作用

  • 加殼免殺的原理

據我了解,目前防毒軟體會定義加殼的程式的病毒家族為.pack。檢測不出來也會提示使用者目前程式是加殼的風險程式

  • FreeRes多重加殼

FreeRes軟體原作者的意圖是通過這款軟體将已壓縮加密的程式解壓并釋放,在此之前黑客們為了對抗防毒軟體的自動脫殼功能,發現了一些重複加殼的規律。使用某些殼與其他一些殼重複使用,也就是最原始的加多層殼的辦法。

6.3 殼的修改技巧

  • 殼的初級修改

    修改加殼檔案的特征與免殺特征碼一緻。

  • 殼的深度修改

    在靠近入口點的位置修改,修改殼的流程可以修改跳以及一些帶借進位的運算.

  • 提取殼的特征資料

    十六進制資料區:前4個位元組為操作指令,後面的8位(位元組)為操作數.